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:  指定存储在单列中的值或基于一个或多个表中的值的数学表达式。通过从下拉列表中选择“表达式”并使用“表达式”对话框,指定字段或构建自己的表达式。表达式或字段根据所选的聚合函数或值进行求值。根据表自身的数据值更新一个表时,会自动选择值。


浏览结果
选中“浏览结果”复选框以显示更新的表。清除该框不显示结果


辅助按钮
辅助按钮仅在使用两张桌子时显示。若要创建表达式,请单击“辅助”按钮,将显示“表达式”对话框。


清除按钮
清除表达式值编辑框。