MapInfo Pro? 允許用戶根據兩個表之間的聯接或關系,用選定的數據字符串或第二個表中的數據更新可編輯表或查詢中的指定字段。

用戶可以使用一系列數字更新可編輯表中的字段(“my_rowid”),并使用MapInfo Pro的“rowid”語句更新USA表:




要使用靜態信息字符串更新字段,用戶可以如下更新:(注意:要更新字符數據,字符串必須用引號括起來)



要使用到USCTY153點表的聯接來更新USA表,要使用內的USCTY153點數來更新每個狀態記錄,其中聯接是基于兩個表之間的空間關系的“地理”聯接,請按如下方式運行更新:

請注意,地理連接是指點表中的對象“位于”區域表中的區域對象內的位置。

點“在”區域內,而區域“包含”點




要使用基于“柱狀”聯接的每個狀態內的USCTY153點對象的計數更新USA表,從而可以使用每個表中的字段建立聯接-在本例中,使用每個表的“狀態”字段進行聯接:



更新列功能是MapInfo Pro中經常使用的功能強大的工具

以下是有關對話框選項的詳細信息:

 

“更新列”對話框

“更新列”允許您通過基于表自身的數據值更新表或基于其他表中的數據更新表來更改列的值。此對話框會記住上次運行更新時更新的列,以及上次運行更新后用于更新列的表達式。


要更新的表
使用此下拉列表可以指定要更新的表,或者MapInfo Pro應在其中創建臨時列。


更新列
如果要更新的表與在“從表獲取值”中選擇的表不同,請選擇要更新的列。添加臨時列顯示在列表中。


添加新的臨時列
如果要向更新表中添加臨時列,請選擇“添加新臨時列”。這是存儲結果的地方。


從表中獲取值
此選項將自動設置為與要更新的表相同的表。可以選擇不同的表格,MapInfo Pro將從中檢索更新信息。


僅使用一個表時顯示。在“值”框中鍵入表達式,或使用“輔助”按鈕訪問“表達式”對話框以創建表達式。


加入按鈕
顯示“聯接”對話框。當數據表與要更新的表不同時,“聯接”按鈕處于活動狀態。使用另一個表中的數據更新列時,請使用“聯接”對話框指定兩個表中記錄的匹配方式。


計算
選擇“聯接”按鈕時,將顯示“計算”字段。從中檢索數據的表規定了選項的選擇。

·當根據表自身的數據值更新表時,MapInfo Pro會自動選擇值選項。

·根據另一個表中的數據更新一個表時,請指定Value、Min、Average、Sum、Max、Count、Proportion Sum、WtAvg、Proportional Avg或Proportion WtAvg。

 

 

選擇以下聚合函數之一:


計數:統計組中的記錄數。將*作為其參數,因為它適用于整個記錄,而不適用于記錄中的任何特定字段


求和(表達式): 計算組中所有記錄的表達式中的值之和。


平均值(表達式): 計算組中所有記錄的表達式中值的平均值。


最大值(表達式):為組中的所有記錄查找表達式中的最高值。


最小值(表達式):為組中的所有記錄查找表達式中的最低值。


WtAvg: 通過加權平均,MapInfo Pro可以調整平均值的計算,以便對每個選定對象的值進行或多或少的加權。


比例總和:將數據聚合到多邊形中。說明與接收聚合的多邊形重疊的多邊形面積。例如,如果對象面積的三分之一位于多邊形內,則比例和聚合將在多邊形中放置重疊對象數據值的三分一。

 

平均比例:根據覆蓋區域的值的比例計算平均值(根據面積加權平均值)。例如,如果一個新對象80%的面積來自死亡率為.8%的對象a,而20%的面積來自出生死亡率為.65%的對象B,則該對象的出生率將等于.8 x.008+.0065 x.2=.0077或.77%


比例WtAvg:根據覆蓋區域的值的比例計算平均值(根據另一個值成比例的字段對平均值進行加權)。例如,(繼續上面的示例),新對象的填充,對象A=34000。新對象的人口,對象B=26000。出生死亡率為(.8 x 34000+.6 x 26000)/6000=.713。


Of:  指定存儲在單列中的值或基于一個或多個表中的值的數學表達式。通過從下拉列表中選擇“表達式”并使用“表達式”對話框,指定字段或構建自己的表達式。表達式或字段根據所選的聚合函數或值進行求值。根據表自身的數據值更新一個表時,會自動選擇值。


瀏覽結果
選中“瀏覽結果”復選框以顯示更新的表。清除該框不顯示結果


輔助按鈕
輔助按鈕僅在使用兩張桌子時顯示。若要創建表達式,請單擊“輔助”按鈕,將顯示“表達式”對話框。


清除按鈕
清除表達式值編輯框。