ArcGIS Server如何使用查询图层(QueryLayer)发布自定义坐标系数据(支持查询和编辑)
1、什么是查询图层(QueryLayer)
在 ArcGIS 中,Query Layer(查询图层) 是一种将数据库中的表或视图以空间数据的形式动态加载到 ArcMap 或 ArcGIS Pro 中的方式,无需事先创建地理数据库(Geodatabase)或将数据导入。它特别适用于连接到企业级数据库(如 PostgreSQL、SQL Server、Oracle 等)并直接查询包含空间字段(如 geometry 或 geography 类型)的数据。
2、如何配置Pro使其支持识别自定义坐标系
- WKID 是由 EPSG(European Petroleum Survey Group)或 Esri 分配的唯一整数标识符。
- 如果你修改了标准坐标系(如更改中央经线、假东/假北、椭球体等),或从头创建了一个新坐标系,它就不再匹配任何已知 WKID,因此 WKID = None / 0 / <空>。
- 这在地方独立坐标系、工程坐标系或历史测绘系统中很常见。
默认情况下,ArcGIS Pro在创建查询图层的时候,对于自定义坐标系的图层只能读取到自定义的WKID,但识别不了坐标系的具体定义参数。这时需要创建坐标参数描述文件projcs_dat.txt,并通过设置系统环境变量 PEDATABASE来告诉ArcGIS Pro该自定义WKID对应的具体定义参数。
以下以Guangzhou2000本地坐标系统定义为例子,坐标参数描述文件 projcs_dat.txt 内容如下:
202000, \
"GUANGZHOU2000", \
PE_GCS_CHINA_2000, \
PE_PRJ_GAUSS_KRUGER, \
PE_U_METER, \
PE_PAR_FALSE_EASTING,0.0, \
PE_PAR_FALSE_NORTHING,0.0, \
PE_PAR_CENTRAL_MERIDIAN,113.28, \
PE_PAR_SCALE_FACTOR,1.0, \
PE_PAR_LATITUDE_OF_ORIGIN,0.0
上述示例定义了自定义的WKID 202000 编码对应的的自定义坐标系参数。
假设这个坐标参数描述文件projcs_dat.txt保存在C:\AppData\PE_Custom_DB 这个目录,那么应该设置系统环境变量 PEDATABASE=objedit@C:\AppData\PE_Custom_DB
完成上述操作后,重启ArcGIS Pro,这时候创建查询图层的时候,软件就能正确识别自定义坐标系统图层,可正确投影,空间查询和参与空间分析。
3、如何配置ArcGIS Server使其支持识别自定义坐标系
ArcGIS Server的配置和Pro类似,区别在于系统环境变量的设置方式,假设坐标参数描述文件projcs_dat.txt保存保存在Linux 的以下目录 /home/arcgis/PE_Custom_DB,那么需要修改ArcGIS Server安装目录/usr/init_user_param.sh文件,在文件末尾添加一行
export PEOBJEDITHOME=/home/arcgis/PE_Custom_DB
完成上述操作后,重启ArcGIS Server,通过ArcGIS Pro把刚才加载好查询图层的地图发布为地图服务和要素服务,发布好后,就能通过MapServer和FeatureServer正常查询和编辑更新数据了。

浙公网安备 33010602011771号