Arcgis的工程项目可以添加各种类型的空间资源,比如数据库空间表、shp文件,每张空间表的坐标系可能都会有差异,把他们放到一个工程里时可以统一设置坐标系。
本文将介绍ArcGis三个需要坐标转换的场景:
- Arcgis Pro设置项目坐标
- GP分析指定输出结果坐标系
- 使用python发布图层或要素服务时指定坐标系
1,Arcgis Pro设置项目坐标
arcgis pro项目里每个图层可以从属性查看到坐标系
要统一转换坐标为4490可以在底图设置
2,GP分析指定输出结果坐标系
GP分析的参数是数据库空间表或空间文件时,不需要转换源头坐标系,只需要在提交GP分析的时候指定输出坐标系
在java中提交GP分析的时候指定参数
3,使用python发布图层或要素服务时指定坐标系
我在项目中发布地图服务一般是用本地模板项目里添加图层,然后保存成草稿文件上传发布,
完整脚本可以参考我 ArcGis系列其他几篇文章
以下给出一个添加数据库空间表并设置项目坐标系的关键代码:
# aprx存储路径
aprx = arcpy.mp.ArcGISProject(mpmath)
# 要将数据添加到aprx中的哪个地图下
aprx_map = aprx.listMaps("*")[0]
# 将sde文件下的指定某空间表添加到项目中
aprx_map.addDataFromPath(table_path)
#设置指定坐标系
out_coordinate_system = arcpy.SpatialReference(4490)
aprx_map.spatialReference = out_coordinate_system
aprx.save()