时间:2024-07-28
吴健华 ,梁子震
(广州市城市规划勘测设计研究院,广东 广州 510060)
广州市目前正在开展的“三规合一”工作,简言之就是国民经济和社会发展规划、城乡规划和土地利用总体规划(以下简称“三规”)基于城乡空间布局的衔接与协调。首期的主要工作目标之一就是在协调城乡规划、土地利用总体规划建设用地布局差异基础上,将国民经济与社会发展规划的相关内容(以重点建设项目为代表)予以体现和落实,从而消除“三规”的差异,促进城市空间合理布局和土地资源的高效利用,保障广州市经济、社会、环境的良性发展以及“首善之区”、现代化国际大都市、国家中心城市等定位目标实现。
“三规合一”涉及广州市发改委、城建部门和国土部门的规划成果整理,即按照“三规合一”数据标准,对收集到的国民经济和社会发展规划、土地利用总体规划、城乡总体规划以及相关的规划信息和现状信息的整理、转换及标准化数据处理等。因为当前广州市城建部门一般采用广州坐标系统,国土部门采用西安80 坐标系。在“三规合一”规划编制阶段,主要是将城市规划和土地利用规划成果进行广州坐标系统和西安80 坐标系的转换。
笔者单位现有的坐标转换程序是针对ArcGIS shape 格式文件的,而“三规合一”成果数据是ArcGIS MDB 格式,对普通的点、线、面图层,可以从MDB 导出为shape 格式进行坐标转换后再导入MDB 中,但对注记类图层,这样的转换方法得到的最终图层是面图层,而不是注记图层。虽然可以对面图层进行标注(Label),从而在图面上显示描述性文本信息,但标注是根据图层要素属性自动标记的,并在漫游和缩放后按照当前地图比例尺下的最佳位置重画,而注记(Annotaion)是一种类型的要素,它的大小和位置相对地图上的其他要素保持不变。在缓存切片时,使用标注会导致产生重复文本,必须使用注记。
若要得到与原始数据类型及结构一致的注记类型的图层,还需要进行一系列的处理。笔者将注记图层坐标转换处理的方法和过程整理记录如下,希望能给同行的类似工作提供参考。
假设原始MDB 为西安坐标数据,转换后的MDB为广州坐标系,注记图层坐标转换思路:①MDB 结构转换:采用XML 源数据结构导出导入的方法,由原始西安坐标范围的数据库生成广州坐标范围的数据库,以保留图层的数据结构、子类型分类等信息;②图层数据坐标转换:原始注记图层导出为shape 文件后进行坐标转换,再通过Label 转Annotation 的方式形成新的注记图层,再导入到第1 步中建立的广州坐标范围数据库的注记图层中;③注记图层属性还原:通过数据表连接匹配的方式,按原始图层内容修改相关的注记图层的属性内容,使其显示效果、分类方式与原始图层完全一致,从而完成注记类图层的坐标转换过程。
下面讲述各步骤的详细做法。
由于坐标范围的不一致,坐标转换后的shape 文件无法直接导入原来的MDB 中,所以需要新建广州坐标范围的MDB 及注记图层,保持原有西安坐标注记图层的字段定义、子类型定义等属性定义内容。
(1)首先,在ArcCatalog 中通过[Export |" XML Workspace Document"]菜单功能,将原始MDB 数据库的图层、字段结构等定义输出为XML 工作空间文档。输出时注意选择“Schema Only”,只输出结构定义,不输出数据。
(2)使用文字编辑软件编辑导出的XML 文件,搜索西安坐标系的Domain 坐标范围,按字符串搜索<XOrigin >找到类似以下的西安坐标范围字符串:
<XOrigin >383595.35439876141 </XOrigin ><YOrigin >2482331.514785964 </YOrigin > <XYScale >49494409388.189407 </XYScale >
将上述内容替换成广州坐标系的定位范围:
<XOrigin >3100 </XOrigin ><YOrigin >-40000 </YOrigin ><XYScale >54989000000 </XYScale >
应注意,由于西安坐标系的MDB 文件里面有多个图层,因此可能存在不完全相同的西安坐标范围值,需要将它们都替换为统一的广州坐标系的定位范围。
(3)在ArcCatalog 中新建MDB 文件,并通过[Import|"XML Workspace Document"]菜单功能导入上述修改后的XML 文件,得到一个图层结构和字段定义等与原始MDB 均一致的数据库,但是其中各个图层的Domain 坐标范围都是按广州坐标范围设置的了。
从原始MDB 中导出西安坐标的注记图层(命名为“注记SHP”),此时的图层类型为Polygon,对此图层进行坐标转换,转换后通过Lable 转Annotation 的方式形成Annotation 类型的注记图层。
(1)在ArcMap 中加载坐标转换后的广州坐标系的“注记SHP”图层数据。可以看到,在转换过程中,原Annotation 类型的要素都已变成了Polygon,与原始数据的类型是不一样的。
(2)通过数据框属性设置好图形显示单位后,将“注记SHP”图层按照注记内容字段(TextString)进行标注(Label),如图1所示。
图1 “注记SHP”标注显示效果
(3)将Label 后的“注记SHP”图层通过[Convert Labels to Annotation]功能输出新的Annotation 类型图层,如图2中的“注记SHP_Anno”图层。可以看到新创建的“注记SHP_Anno”图层的所有注记都是统一默认分类以及统一字体大小的。
图2 新输出“注记SHP_Anno”图层显示效果
将上面新创建的“注记SHP_Anno”图层中的记录全部复制到第1 步中新建好的广州坐标MDB 的注记图层中,并通过数据表连接匹配的方式恢复注记图层的分类及标注字体等属性设置,使其显示效果、分类方式与原始西安坐标的注记图层一致。
(1)在ArcMap 中打开“注记SHP_Anno”图层的属性表,全选所有记录,然后复制;
(2)在ArcMap 中加载 广州坐标MDB 的注记图层(名称为“注记(广州坐标)”),设置为可编辑状态,并设为目标图层,然后粘贴刚才复制的记录。
由于“注记(广州坐标)”和“注记SHP_Anno”图层的结构字段定义是一样的,因此大部分属性内容均可正确复制,但是由于默认注记子类型分类、默认注记符号定义的不一致,个别字段的属性内容会不一样。我们将在下一步中将其与原始注记图层进行匹配,使其显示效果保持一致。
(3)通过数据表连接匹配的方式,按“注记SHP”图层内容修改“注记(广州坐标)”图层的相关属性内容,使其显示效果、分类方式与原始西安坐标的注记图层一致,在ArcMap 中,分别打开“注记(广州坐标)”图层和“注记SHP”图层的属性表,通过观察可知“注记(广州坐标)”中的Feature ID 的值与“注记SHP”中的FID 字段的值是对应的(如图3所示),可作为关键字对两个属性表进行连接操作,以进行其他字段的匹配。
进行表的关联:选中“注记(广州坐标)”图层,点击右键菜单[Join],使用FeatureID 字段,连接的图层选择“注记SHP”,连接字段为FID,如图4所示:
图3 两个图层的属性表对比
图4 两个图层连接设置
如此连接后,“注记SHP”的字段都添加到“注记(广州坐标)”中了,然后使用Field Calculator 方式修改关联后的“注记(广州坐标)”图层表中的AnnotationClassID、FontSize、FontName 、VerticalAlignment、Angle 等注记分类、字体显示相关字段,使其与原有效果一致,需要匹配修改的字段如表1所列。
表1 需要进行匹配修改的字段
至此,我们已经完成了注记图层的坐标转换,对比转换前(图5)和转换后(图6)的注记显示,发现效果基本一致,但注记位置与原来相比还存在些许偏差,如下面图中“龙潭河”注记的位置。
图5 转换前的注记(西安坐标)图层显示效果
图6 转换后的注记(广州坐标)图层显示效果
分析原因:是转换后文件和源文件对定位点的定义值不一致造成的。比如某个注记,源文件的定位点在左上,对应的属性值是1,即1 代表左上定位;而在转换后文件中,该注记的定位点属性值仍是1,但是此时1 代表的却是中心点定位,这就使得文本位置有偏差。如果能修改定位点的定义值,这样的偏差是可以纠正的。
通过本方法进行注记类型图层的坐标转换,既省略了重建注记子类型分类的步骤,减少手工录入量,又保留了原有图层各属性字段内容,同时也保留了注记字体、大小、角度等相关显示信息,能最大限度保持原有显示效果。但此方法仍存在注记位置偏差的问题有待进一步研究解决。
[1]王俊,何正国.“三规合一”基础地理信息平台研究与实践——以云浮市“三规合一”地理信息平台建设为例[J].城市规划,2011(S).
[2]谢忠,韩祺娟,吴亮.GIS 空间数据库的“一库两用”策略研究[J].地理与地理信息科学,2008,24(2).
[3]彭良勇,黄全义,高德荃.基于ArcGIS 的大比例尺地形数据库的日常更新[J].测绘信息与工程,2007,32(1).
[4]操震洲,李清泉.空间数据库的更新技术研究[J].测绘通报,2007(11).
[5]王新生,王红,朱超平.ArcGIS 软件操作与应用.北京:科学出版社,2010.
我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!