























在 ArcGIS 中,Query Layer(查询图层) 是一种将数据库中的表或视图以空间数据的形式动态加载到 ArcMap 或 ArcGIS Pro 中的方式,无需事先创建地理数据库(Geodatabase)或将数据导入。它特别适用于连接到企业级数据库(如 PostgreSQL、SQL Server、Oracle 等)并直接查询包含空间字段(如 geometry 或 geography 类型)的数据。
默认情况下,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,这时候创建查询图层的时候,软件就能正确识别自定义坐标系统图层,可正确投影,空间查询和参与空间分析。
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正常查询和编辑更新数据了。
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。