第九课 地理编码
一、概述:
本课,我们将打开一个DBF文件,将它与一个街道地图地理编码,井用邮政编码边界精确地
理编码过程。我们将对该文件进行自动和交互式地理编码,并按邮政编码中心将另一个文
件地理编码。
二、涉及的特性和概念
地理编码:给表或数据库中的记录分配X和Y坐标,以使该记录可作为对象显示在地图上的
过程。
坐标:在笛卡尔坐标系中的 X、Y 位置或在地球坐标系中的经纬度。坐标表示地图上彼此
的相对位置。
中心:地图对象的中心。对大多数地图对象,中心位于该对象的中点 (位于对象南北中点
和东西中点处)。由于要求中心必须位于对象上,某些情况下,中心并不在中点。因此,对
于新月形的区域对象,对象的中点可能位于实际区域范围之外,但中心总是在区域范围之
内。
针图地图,图钉地图:因“把图钉钉入墙上的地图”而得名的一类地图。针图地图描述点
对象的特征,对数据库进行地理编码是创建针图地图的一种方法。
符号:用于图形化地表现一个点对象的小且相对简单的形状 (例如方形、圆形、星形等等
)。
三、实际应用
我们都熟悉针图地图,可以使用 MapInfo将数据库转化成电子针图地图。根据包含位置信
息的字段,数据库中的每个记录都被贼予了一个地理位置的符号。该过程就为地理编码。
每条记录在地图上显示为一个符号。
地理编码是在 MapInfo地图上显示数据库信息的过程。通过将数据库中的字段与包含地理
位置 (纬度和经度) 的另一数据库中的字段相关联,来实现地理编码。例如,你有一个包
含邮政编码的数据库文件,你可以根据MapInfo软件提供的 US_Zips文件将该文件地理编码
,从而将它在地图上显示出来。每个用户都被显示为一个符号。
如果你的数据库已包含了纬度和经度或X、Y坐标,可以使用 Create Points (创建点) 命
令为其赋予符号对象。
我们将根据两个数据库文件地理编码:一个是使用街道信息的街道地图,另一个是使
用邮政编码信息的全国地图。另外还使用五个文件: SF_CUST、SF_STRTS、US_CUST及US_
ZIPS、 SF—ZIPS。
在MapInfo中打开一个 .DBF文件:
虽然DC_CUST文件是DBF格式,MapInfo依旧能打开该文件。
a、选择File>Open Table ,目录为 DATA/USA/DC。
b、从List Files of Type (文件类型) 下拉列表中选择dBASE DBF。
c、从Preferred View下拉列表中选择 No view。
d、从File Name (文件名) 列表中选择DC_CUST。
e、单击Open。
dBASE DBF Infomation (dBASE DBF信息) 对话框显示出来。
a、选择缺省设置: Windows US and W.Europe(‘ANSI’)。
b、单击OK。
打开其余的MapInfo格式文件:
c、打开DCWASHS、DC_ZIPS,并且不在地图中显示它们。
现在将DC_CUST文件以DCWASHS 为基础进行地理编码。
a、选择Table>Geocode (地理编码),Geocode (地理编码) 对话框显示出来。
b、从Geocode Table (地理编码表) 下拉列表中选择US_CUST。
c、从Using Column (使用列) 下拉列表中选择Address。
d、从 Search Table (搜索表) 下拉列表中选择DCWASHS。
由于将与街道地图地理编码,MapInfo知道在DCWASHS 文件中将用来搜索的列是街道(来自
for objects in column (查找对象所在列) 下拉列表)。你不能选择其它的。
一个县内的街道地址不唯一,但是在城市或邮政编码中的地址是唯一的,因此,我们将查
找精确限定在华盛顿的城镇边界内或者邮政编码边界内。通过将Maplnfo 的查找精确在边
界内,MapInfo不仅可以检查地址是否正确,还可以检查地址是否在正确的边界内。
下面在Optional (选项) 组群内,继续完成地理编码对话:
e、从Refine Search with table (精确搜索用表) 下拉列表中选择 DC_ZIPS。
f、从Using boundary name Column (使用边界名列) 下拉列表中选择Zipcode。
g、从boundary column (边界列) 下拉列表中选择Zipcode。
注意:Optional (选项) 不是必须的,它只是使得查找更精确些。
选择一个符号:
我们需要为地理编码的记录选择一个符号作为屏幕显示时的缺省标志。
h、单击symbol(符号)按钮,symbol style (符号样式) 对话框显示出来。
i、为符号选择形状、颜色及大小,样本框内显示出你的选择。
j、单击OK、退出 symbol style (符号样式) 对话框。
k、在Mode (模式) 框里,选中Automatic (自动)。
现在,已为地理编码做好了准备。
l、单击OK,退出Geocode (地理编码) 对话框。
MapInfo用街道地图中的街道地址匹配每个用户的地址,如果匹配成功,符号被赋给记录表
示地理位置.如果匹配不成功,该记录被跳过。
地理编码过程结束时,MapInofo将说明有多少记录可以和不可以地理编码。现在使用交互
模式来匹配那些不能自动匹配的记录,对于数据库中每一条未匹配的记录, MapInfo都会
找到与 DC_CUST数据库中的地址最为接近的街道和/或地址范围,那么,我们就可以决定
这些范围中的哪个匹配是正确的。在这之前已匹配的记录将被忽略。
对于未能匹配的记录,还可以使用交互式模式来完成地理编码。
下面,使用交互式地理编码。
a、单击OK,删除Geocode Summary (地理编码总结) 框。
b、选择Table > Geocode。
c、在Mode框中单击Interactive (交互)。
d、单击OK。
每次MapInfo都会自动停下来,要求你从最接近匹配数据库记录的列表中选择一条街道、邮
政编码或地址范围。
e、单击OK,将该记录在合适的邮政编码位置进行地理编码。
继续该过程,直到所有的记录都被匹配或忽略。
DC_CUST文件中的所有记录都被赋予地理位置之后,就可以在地图窗口中显示这些点。我们
将把华盛顿的街道添加进去,显示与街道相关的这些点。
下面,显示这些点:
a、选择Window>New map Window (新建地图窗口),New Map Window (新建地图窗口) 对
话框显示出来。
b、从第一个Map Tables (地图表) 下拉列表中选择DC_CUST。
c、从第二个Map Tables (地图表) 下拉列表中选择DCWASHS。
d、单击OK。
将地图放大到3英里,以便能清晰地看到这些点,移动地图,直到所有的点都能被看到。
使用Info信息工具查询用户的有关信息:
e、将该地图存入一个名为DC_CUST.WOR的工作空间。
现在,练习在美国全国范围内地理编码。该情况下,我们有一个全美国的用户文件,下面
用邮政编码对其地理编码。目录为、DATA/USA:
a、选择Table > Geocode(地理编码)。
b、从Geocode Table (地理编码表) 下拉列表中选择US_CUST。
c、从Using Column (使用列) 下拉列表中选择ZIP。
d、从Search Table (搜索表) 下拉列表中选择US_ZIPS。
e、将Refine Search Wild Table (精确搜索用表) 选项改为none。
f、单击Automatic (自动)。
g、单击OK。
你将看到,除了一个记录之外的所有记录都被匹配。用邮政编码进行地理编码时,这种结
果非常普遍,这是因为邮政编码具有五位数字,是唯一的且很难引起歧义。
h、单击OK。删除地理编码总结框。
在地图中显示结果:
a、选择 Window>New Map Window。
b、从Map Table (地图表) 下拉列表中选择US_CUST。
c、选择Map>View Entire Layer (查看整个图层)。
d、在View Entire layer (查看整个图层) 下拉列表中选择US_CUST。
e、单击OK。
f、放大显示整个美国地图。
下面打开STATES表,使得地图内容更丰富:
a、选择File>Open Table。
b、选择 STATES。
c、单击Open。
d、将结果存入US_CUST.WOR工作空间中。
四、小结
创建针图地图或地理编码是为基于地理位置的数据库中的每条记录创建对象的过程。 Map
Info允许你根据街道地址、邮政编码地址或者任何其它你在数据库中可能包含的地理位置
把记录放入地图中。记住,该过程需要你的数据通过已经具有所需地理位置的字段而联系
到另一数据库中。