轉換器SpatialRelator的使用

2021-08-21 07:20:08 字數 2601 閱讀 8483

先直接上漢化的spatialrelator轉換器幫助文件

spatialrelator

判定要素集之間的空間拓撲關係。當要素集存在諸如相接、重疊、相交等關係的時候,轉換器將標記並不改變要素。在你擁有多個base要素來判定要素集關係的情況下可使用該轉換器;如果只需要確定要素是否存在關係,並且base要素很少,那麼轉換器spatialfilter會更有效。

所有的base要素都將通過output埠輸出,並附加乙個新的屬性列表。在引數設定中指定空間對比方式的基礎上,輸入的candidate要素集的每乙個要素都與base要素比較。當其中有乙個比較結果為真,屬性列就會按如下方式增加:

.de9im   = [de9im string]

.pass = [true predicate 1]

.pass = [true predicate 2]

....pass = [true predicate n+1]

除此之外,所有有關係的candidate的屬性也將被新增到列中

與此同時,當屬性從candidate要素集合並到base要素集上時,每個base要素以空間結合的方式接收相關的candidate要素屬性,原有屬性仍保留。那麼如果base要素集和candidate要素集屬性中有相同名稱的字段時,屬性值將不被轉移。這種情況下,可以重新命名(attributerenamer),新增字首(attributeprefixer),或刪除 (attributeremover)來預先處理屬性,避免名稱重複。

input(輸入)

base: 與candidate空間對比後,新增描述空間關係的標記屬性列再輸出的要素. 

candidate: 與base要素做空間比較,但不輸出

output(輸出)

output:補充屬性後的base要素. 補充屬性列中記錄至少有乙個空間關係的candidate要素

引數

group by (分組)

該引數用來指定根據base要素集和candidate要素集中有相同值的某些可比較屬性來分組。就是說,如果按某屬性分組,只在屬性值相同的要素間判定其空間關係

tests to perform(測試執行)

該參素列出了base和candidate要素集之間可能出現的空間關係,可直接在列表中選擇,或從屬性值中選擇

此外為了預先指定空間關係,你也可以用任意9字元的掩碼測試關係,這個測試掩碼組成乙個dimensionally extended 9 intersection matrix.行。要注意的是如果要使用這些帶有空間關係的掩碼,你必須給它們設定乙個屬性,在"tests to perform"選項裡包含該屬性的值(不能直接指定它們)

更多關於屬性宣告的資訊,請參考spatial relations defined.

list name (屬性名稱)

該引數指定新增到基本要素集上的屬性欄位名稱

related candidate count attribute (相關candidat關係數)

該引數指定記錄candidate要素與base要素空間關係個數的屬性名稱,新增到base要素上

attributes that must differ (異同屬性)

指定控制在比較前發布的不同特徵值的屬性

curve boundary rule (定界規則)

該引數設定了如何判定曲線和多邊形要素的範圍。預設規則是指定在整個圖形上的所有第奇數個端點為範圍值,所以乙個線圈(即首尾相接的線)就沒有任何範圍值。另乙個規則是指定圓或多邊形所有端點的集合為它的範圍。

calculate cardinality of intersections (計算相交基數).

如果指定引數為』yes』,那麼將新增三個相應的屬性在有匹配關係的candidate要素上:點、線、和面。該屬性計算了base要素和candidate要素相交產生的點、線、面的個數。舉個例說,如果兩個面在某個頂點相接,將產生記錄乙個點;如果他們的某條邊界線相交,記錄這條線;如果兩個面重疊,就產生乙個面。

以上是對spatialrelator轉換器漢語幫助文件,下面通過乙個例子來幫助理解

下圖中淺綠色圖形是基礎要素集的要素,深綠色圖形是候選要素集的要素

在workbentch中將要素集分別讀入到讀模組中,與spatialrelator轉換器的兩個入口對應連線

轉換器中按以下設定指定各引數

執行後可以看到輸出的要素集圖形和base 要素,即淺綠色的要素集影象完全一樣

但是每個基本要素屬性中都可以看到與候選要素集的拓撲關係和範圍

注釋轉換器

讓我們來實現乙個注釋轉換器。它可以將擁有c風格 code 或c 風格 code 的注釋的 轉換為c 風格。剛開始看到這個題目是有點頭暈的,因為各種注釋的混合將使情況變得非常複雜,比如 1.一般情況 int i 0 2.換行問題 int i 0 int j 0 int i 0 int j 0 3.匹配...

進製轉換器

專案分析 1.列印主選單。輸出主選單選項 小寫轉化為大寫 輸入的驗證 2.大小寫的轉化。輸入需要轉化的數 必須要小於基數 需驗證為字串型 引數 基數 返回值 乙個通過驗證過的數 3.進製的轉化 轉化的方式分兩種 一種是十進位制轉化為其他進製。另一種是其他進製轉化為十進位制 public classc...

進製轉換器

include include include define max 10 define add 10 typedef int elemtype typedef struct sqstacksqstack 初始化 intinsistack sqstack s s.top s.base s.maxsi...