免费视频|新人指南|投诉删帖|广告合作|地信网APP下载

查看: 9689|回复: 55
收起左侧

[技术交流] 【小技巧】ArcGIS中批量定义矢量数据的坐标系统

  [复制链接]

81

主题

6万

铜板

53

好友

教授级高工

Rank: 12Rank: 12Rank: 12

积分
1915

精华勋章宣传勋章爱心勋章灌水勋章活跃勋章贡献勋章名人堂勋章

发表于 2020-4-30 09:15 | 显示全部楼层 |阅读模式

从其他软件(比如mapgis)向ArcGIS转换矢量数据时常常面临坐标系统丢失的问题,导致转换后的数据与其他来源数据叠加时空间位置无法匹配。在知道原数据坐标系统的情况下,可以在ArcGIS中为其重新添加坐标系统,使其能与其他来源数据正常匹配。当矢量数据文件数量较少时,可以逐个手动为其定义。但是当矢量数据文件数量较多时,手动定义的工作量就变得相当大。可否批量为这些矢量数据文件定义坐标系统呢?答案是肯定的。今天,笔者就教大家在ArcGIS中为多个矢量数据批量定义坐标系统。

1. ArcGIS的定义坐标系统工具

ArcGIS的定义坐标系统工具(即Define Projection工具)位于ArcToolbox的Data Management Tools下,具体路径为ArcToolbox->Data Management Tools->Projections and Transformations->Define projection。该工具用于为矢量数据定义坐标系统信息,既可以定义球面坐标系统(Geographic Coordinate System),也可以定义平面直角坐标系统(Projected Coordinate System)。

图1  Define Projection工具在ArcToolbox中的位置

双击Define Projection工具将其打开,其界面比较简单,仅需设置输入的矢量数据及欲为其定义的坐标系统,然后点击OK即可为一个矢量数据文件定义好坐标系统。需要注意的是,定义的坐标系统必须与数据原有的坐标系统(仅仅是因为原有的坐标系统在转换时丢失)一致,否则将导致数据无法正常显示

图2  Define Projection工具界面及设置
2. 利用ArcGIS自带的简单批处理程序

ArcGIS自带了简易的批处理程序,可以批量处理少量的矢量数据。在Define Projection工具上右击,选择Batch…即可打开该批量定义坐标系统的程序。

图3  Define Projection的批量处理工具位置

打开Batch Define Projection工具后,可以看到其界面如图4所示。在Input Dataset or Feature Class下的空白处双击,可以设置输入的矢量数据路径和文件名。在Coordinate System下的空白处双击,可以设置坐标系统。单击右侧的+号,可以增加一行。在设置好所有的文件后,点击OK等待处理完毕即可。

图4  ArcGIS自带批量定义坐标系统工具界面和设置
3. 建立批处理Model

从ArcGIS 10.0以后,ModelBuilder工具中加入了迭代工具,利用该迭代工具可以非常方便的实现批处理。ModelBuilder工具位于主菜单的Geoprocessing中,也可点击Standard工具条上的ModelBuilder按钮来打开模型工具。

3.1 添加矢量数据迭代工具

在ModelBuilder的主菜单中依次选择Insert->Iterators->Feature Classes,即可将迭代矢量数据的迭代器添加到工作区中。在Iterate Feature Classes上右击,依次选择Make Variable->From Parameter->Workspace or Feature Dataset,可以将输入矢量数据的变量显示在工作区中。

图5  在ModelBuilder中添加和设置迭代器
3.2 添加Define Projection工具

从ArcToolbox中将Define Projection拖拽到ModelBuilder的工作区中,并将其置于图5的椭圆形Feature Class要素之后。双击圆角矩形Define Projection打开设置对话框,在Input Dataset or Feature Class中点击右侧的下拉箭头,选择其中的Feature Class一项,然后点击OK关闭该对话框。

图6  设置Define Projection工具中的矢量数据来源

在圆角矩形Define Projection上右击,依次选择Make Variable->From Parameter->Coordinate System,将坐标系统设置的工具添加到工作区。

图7  设置Define Projection工具中的坐标系统参数

通过以上的设置即建立好了批量定义矢量数据坐标系统的模型。

3.3 模型设置及运行

该模型仅需设置两个参数。第一个是最左边的椭圆形 Workspace or Feature Dataset,双击该椭圆形,设置矢量数据所在的文件夹。第二个是椭圆形Coordinate System,双击该椭圆形,即可设置要为矢量数据定义的坐标系统。

图8  最终模型及模型运行

设置好参数后,模型的各个模块均变为了彩色。点击工具条上最右边的运行按钮即可开始运行模型。待模型运行结束后,指定文件夹下的所有矢量数据就会被全部添加上指定的坐标系统信息。

评分

参与人数 2威望 +20 铜板 +61 收起 理由
天天数数 + 1 感谢分享!
jimi21 + 20 + 60 感谢分享!

查看全部评分

0

主题

3476

铜板

2

好友

助理工程师

Rank: 5Rank: 5

积分
267
发表于 2020-4-30 09:41 | 显示全部楼层
学习学习
回复

使用道具 举报

3

主题

2万

铜板

21

好友

地信院士

Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15

积分
2198

爱心勋章组织勋章地信元老灌水勋章荣誉会员勋章活跃勋章地信专家组贡献勋章成就学员勋章

发表于 2020-4-30 09:43 | 显示全部楼层
谢谢分享。。。。
回复

使用道具 举报

0

主题

2533

铜板

0

好友

至尊VIP

Rank: 24Rank: 24Rank: 24Rank: 24Rank: 24Rank: 24

积分
52
发表于 2020-4-30 10:15 | 显示全部楼层
谢谢版主
回复

使用道具 举报

3

主题

5万

铜板

6

好友

资深会员

Rank: 18Rank: 18Rank: 18Rank: 18Rank: 18

积分
3925

精华勋章冰雪节勋章童话节勋章12周年纪念勋章

发表于 2020-4-30 13:47 | 显示全部楼层
谢谢楼主分享。
回复 支持 反对

使用道具 举报

1

主题

5491

铜板

3

好友

至尊VIP

Rank: 24Rank: 24Rank: 24Rank: 24Rank: 24Rank: 24

积分
320
发表于 2020-4-30 14:00 | 显示全部楼层
感谢分享!
回复

使用道具 举报

15

主题

2万

铜板

42

好友

地信院士

努力加油

Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15

积分
2656

爱心勋章灌水勋章荣誉会员勋章活跃勋章贡献勋章成就学员勋章

发表于 2020-4-30 14:07 | 显示全部楼层
感谢楼主德恩想
回复 支持 反对

使用道具 举报

2

主题

7274

铜板

7

好友

工程师

Rank: 7Rank: 7Rank: 7

积分
463
发表于 2020-4-30 14:17 | 显示全部楼层
谢谢楼主分享。
回复 支持 反对

使用道具 举报

14

主题

14万

铜板

144

好友

VIP会员

mapgis

Rank: 23Rank: 23Rank: 23Rank: 23Rank: 23Rank: 23Rank: 23

积分
7899

精华勋章宣传勋章

QQ
发表于 2020-4-30 17:22 | 显示全部楼层
谢谢分享。
锄禾日当午,签到好辛苦!...
回复

使用道具 举报

0

主题

9万

铜板

8

好友

银牌会员

Rank: 12Rank: 12Rank: 12

积分
215038

精华勋章童话节勋章12周年纪念勋章贡献勋章灌水勋章宣传勋章

发表于 2020-4-30 19:01 | 显示全部楼层
感谢分享
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

在线客服
快速回复 返回顶部 返回列表