Appearance
ArcGIS通用工具EXE
目录
[toc]
01. EXE接口说明
- 注意事项
- 该接口为基于ArcGIS AE开发的空间数据处理接口,以EXE的CMD命令的方式进行调用
- 为了解决入参字符数量过长和特殊字符(比如SQL语句等)导致入参无法识别的问题,所有的入参以文件的方式进行传入,即将入参字符串写入到TXT文本文件,并将该TXT文件的路径传给EXE程序进行处理。
- 该接口与业务无关,为通用处理接口,业务操作由业务系统实现,该接口只作为空间数据的通用工具
- EXE文件路径地址:https://XXXXX/svn/框架/trunk/code_unit/code/static/resources/ArcGISExe
- 入参格式如下(统一采用 传入文件路径 的方式)
json
D:\\EXEFILE\\20200818.TXT
- TXT文件的入参格式如下
json
{
"exetype": "cadAnalysis", //操作指令
"config": {
//具体的入参信息
}
}
- 响应体格式如下
json
{
"code": 200, //响应码 200 成功 500 失败
"success": true, //是否成功 true false
"message": "", //消息描述
"result": "", //具体的业务数据
"timestamp": ""//时间戳
}
- ESRI JSON Polyline格式
json
{
"feature": {
"attributes": {
"OBJECTID": 1,
"BTID": 1,
"NAME": "NOTNAMED",
"LAT": 28,
"LONG": -94.8,
"WIND_KTS": 80,
"PRESSURE": 0,
"CAT": "H1",
"BASIN": "North Atlantic",
"TRACK_DATE": -3740169600000,
"Shape_Length": 0.600000000000023
},
"geometry": {
"paths": [
[
[ -94.7999999999999, 28.0000000000001 ],
[ -95.3999999999999, 28.0000000000001 ]
]
]
}
}
}
- ESRI JSON Polygon格式
json
{
"geometry": {
"rings": [
[
[ -97.06138, 32.837 ],
[ -97.06133, 32.836 ],
[ -97.06124, 32.834 ],
[ -97.06127, 32.832 ],
[ -97.06138, 32.837 ]
],
[
[ -97.06326, 32.759 ],
[ -97.06298, 32.755 ],
[ -97.06153, 32.749 ],
[ -97.06326, 32.759 ]
]
],
"spatialReference": { "wkid": 4326 }
},
"attributes": {
"OWNER": "Joe Smith",
"VALUE": 94820.37,
"APPROVED": true,
"LASTUPDATE": 1227663551096
}
}
- ESRI JSON Point 格式
json
{
"geometry": {
"x": -118.15,
"y": 33.80
},
"attributes": {
"OWNER": "Joe Smith",
"VALUE": 94820.37,
"APPROVED": true,
"LASTUPDATE": 1227663551096
}
}
- geometryType取值范围
esriGeometryPoint
esriGeometryPolyline
esriGeometryPolygon
esriGeometryMultipoint
esriGeometryEnvelope
- spatialRel拓扑关系取值范围
esriSpatialRelIntersects
esriSpatialRelContains
esriSpatialRelCrosses
esriSpatialRelEnvelopeIntersects
esriSpatialRelIndexIntersects
esriSpatialRelOverlaps
esriSpatialRelTouches
esriSpatialRelWithin
esriSpatialRelRelation
- 关于workspace workspaceType的取值说明 oracle
json
oracle数据库下的SDE:oracle
oracle 12c 数据库workspace :
{
"server": "192.168.3.210",
"instance": "sde:oracle$192.168.3.210:1521/pdborcl",
"database": "SDE",
"user": "SDE",
"password": "1"
}
oracle 11g 数据库workspace :
{
"server": "192.168.3.210",
"instance": "sde:oracle11g:192.168.3.210:1521/pdborcl",
"database": "SDE",
"user": "SDE",
"password": "1"
}
sqlserver
json
sql数据库下的SDE:sqlserver
sql数据库workspace :
{
"server": "192.168.3.210",
"instance": "sde:sqlserver:192.168.3.210:1521",
"database": "SDE",
"user": "SDE",
"password": "1"
}
postgresql
json
sql数据库下的SDE:postgresql
sql数据库workspace :
{
"server": "192.168.3.202",
"instance": "sde:postgresql:192.168.3.202",
"database": "gis_data_ntssgh_sde",
"user": "sde",
"password": "Qq123456"
}
其他
json
geodatabase工作空间:geodatabase
mdb工作空间:mdb
shapeFile下的工作空间:shape
cad下的工作空间:cad
geodatabase、mdb、shape、cad的workspace皆为:
{
"filePath": ""
}
- 关于坐标系sr取值的说明
json
厦门92:xiamen92
国家2000:cgcs2000
02. CAD转JSON接口
说明
将CAD文件转成JSON,以dwg文件中图层的方式进行组织
1. 入参
json
{
"exetype": "CAD2JSON",
"config": {
"cadFilePath": "" //CAD文件路径
}
}
2. 响应体
json
{
"code": 200,
"success": true,
"message": "",
"timestamp": 123123123,
"result": {
"data": [
{
"layerName": "",
"features": [
{
"layerName": "", //图层名称
"geometryType": "", //esriGeometryPoint/esriGeometryPolyline/esriGeometryPolygon/esriGeometryMultipoint/esriGeometryEnvelope
"geometry": []
}
]
}
]
}
}
- 响应体实例
json
//请补充
03. SHAPE转JSON接口
说明
将SHAPE文件转成JSON,将SHAPE文件压缩成ZIP或者RAR压缩包,支持多个SHAPE图层的转换
1. 入参
json
{
"exetype": "SHAPE2JSON",
"config": {
"shapeFilePath": "" //SHAPE文件路径
}
}
2. 响应体
json
{
"code": 200,
"success": true,
"message": "",
"timestamp": 123123123,
"result": {
"data": [
{
"layerName": "",
"features": [
{
"geometryType": "",
"geometry": [],
"attributes": {
"OBJECTID": 1
}
}
]
}
]
}
}
04. 从工作空间中导出文件
说明
从工作空间中导出MDB SHAPE CAD文件
若where不存在、或者为空、或者为空字符串则不处理where
若geometry不存在、或者为空、或者为空字符串则不处理geometry
若两者都无效,则导出这个图层
1. 入参
json
{
"exetype": "EXP2FILE_FROM_WORKSPACE",
"config": {
"source": [
{
"workSpaceType": "",
"workSpace": "",
"layerName": "", //图层名称
"where": "", //属性过滤要导出的数据
"spatialRel": "esriSpatialRelIntersects", //几何拓扑关系
"geometryType": "esriGeometryPolygon", //通过几何位置和拓扑关系过滤需要导出的数据,为ESRIJSON格式
"geometry": "" //通过几何位置和拓扑关系过滤需要导出的数据,为ESRIJSON格式
}
],
"files": [
{
"fileType": "cad", //文件类型:cad、shape、mdb
"filePath": "" //文件路径
}
]
}
}
2. 响应体
json
{
"code": 200,
"success": true,
"message": "",
"timestamp": 123123123,
"result":[
{
"fileType": "cad", //文件类型:cad、shape、mdb
"filePath": "" //文件路径
}
]
}
05. 从ESRIJSON导出文件
说明
将ESRIJSON导出CAD SHAPE MDB文件
1. 入参
json
{
"exetype": "EXP2FILE_FROM_ESRIJSON",
"config": {
"sr": "CGCS2000",
"source": [
{
"layerName": "",//不能为空,且不可重复
"geometryType": "",
"features": [
{
"geometry": [],
"attributes": {
"OBJECTID": ""
}
}
]
}
],
"files": [
{
"fileType": "cad", //文件类型:cad、shape、mdb
"filePath": "" //文件路径
}
]
}
}
2. 响应体
json
{
"code": 200,
"success": true,
"message": "",
"timestamp": 123123123,
"result": [
{
"fileType": "cad", //文件类型:cad、shape、mdb
"filePath": "" //文件路径
}
]
}
06. 坐标转换-ESRIJSON
说明
将ESRIJSON字符串进行坐标转换,支持的转换操作有:
* CSCS2000PM & CSCS2000QM 互转::cgcs2000pmTOcgcs2000qm cgcs2000qmTOcgcs2000pm
* 西安80PM & 西安80QM 互转::xian80pmTOxian80qm xian80qmTOxian80pm
* 厦门92PM & 厦门92QM 互转::xiamen92pmTOxiamen92qm xiamen92qmTOxiamen92pm
* 厦门92 & CSCS2000 互转::xiamen92TOcgcs2000 cgcs2000TOxiamen92
* 厦门92 & 西安80 互转::xiamen92TOxian80 xian80TOxiamen92
* 厦门92 & 北京54 互转::xiamen92TObeijing54 beijing54TOxiamen92
1. 入参
json
{
"exetype": "SR_TRANSFORM_ESRIJSON",
"config": {
"source": {
"layerName": "",//不能为空,且不可重复
"geometryType": "",
"features": [
{
"geometry": []
}
]
},
"transformType": "cscs2000pmTOcscs2000qm"//转换操作
}
}
2. 响应体
json
{
"code": 200,
"success": true,
"message": "",
"timestamp": 123123123,
"result": {
"source": {
"layerName": "",
"geometryType": "",
"features": [
{
"geometry": []
}
]
},
"transformType": "cscs2000pmTOcscs2000qm" //转换操作
}
}
07. 坐标转换-文件
说明
将文件进行坐标转换,支持的转换操作有:
* CSCS2000PM & CSCS2000QM 互转::cscs2000pmTOcscs2000qm cscs2000qmTOcscs2000pm
* 西安80PM & 西安80QM 互转::xian80pmTOxian80qm xian80qmTOxian80pm
* 厦门92PM & 厦门92QM 互转::xiamen92pmTOxiamen92qm xiamen92qmTOxiamen92pm
* 厦门92 & CSCS2000 互转::xiamen92TOcgcs2000 cgcs2000TOxiamen92
* 厦门92 & 西安80 互转::xiamen92TOxian80 xian80TOxiamen92
* 厦门92 & 北京54 互转::xiamen92TObeijing54 beijing54TOxiamen92
1. 入参
json
{
"exetype": "SR_TRANSFORM_FILE",
"config": {
"files": [
{
"bsm": "",//文件标识码
"fileUrl": "d:\\xxxx.txt",
"fileType": "txt", // 文件类型 cad shape txt(目前已实现TXT的方式)
"transformType": "cgcs2000TOxiamen92" //转换操作
}
]
}
}
2. 响应体
json
{
"code": 200,
"success": true,
"message": "",
"timestamp": 123123123,
"result": {
"files": [
{
"bsm": "", //文件标识码
"fileUrl": "d:\\xxxx-result.txt",
"fileType": "txt", // 文件类型 cad shape
"transformType": "cgcs2000TOxiamen92" //转换操作
}
]
}
}
* 入参txt内容的格式为
1,24°27′03.8660″,118°3′54.3190″,1
2,24°27′03.8690″,118°3′54.3340″,1
11,24°27′04.2250″,118°3′54.1140″,1
12,24°27′03.1610″,118°3′59.1940″,2
13,24°27′03.1390″,118°3′59.4690″,2
14,24°27′03.3150″,118°3′59.1150″,2
* 出参txt内容的格式为
1,24°27′03.8660″,118°3′54.3190″,1,y,x
* 示例
1,24°27′03.8660″,118°3′54.3190″,1,5378.51168655837,55828.8831468993
2,24°27′03.8690″,118°3′54.3340″,1,5378.60266240733,55829.3059157681
3,24°27′03.8480″,118°3′54.4190″,1,5377.94899859838,55831.6979283923
4,24°27′03.7930″,118°3′54.5370″,1,5376.24629109446,55835.0161038725
5,24°27′03.8060″,118°3′54.7370″,1,5376.62856294122,55840.6504095688
6,24°27′03.7470″,118°3′55.2610″,2,5374.7668316979,55855.4032875704
7,24°27′03.6750″,118°3′55.6760″,2,5372.51477687806,55867.0849004101
8,24°27′03.7310″,118°3′56.0640″ ,2,5374.20345830405,55878.0184295669
9,24°27′03.7800″,118°3′56.2870″ ,2,5375.69136954937,55884.304014966
08. 数据编辑-ESRIJSON
说明
从JSON的方式编辑图层要素
1. 入参
json
{
"exetype": "DATA_EDIT_FROM_ESRIJSON",
"config": {
"workSpaceType": "",
"workSpace": "",
"layerName": "", //图层名称
"geometryType": "esriGeometryPolygon",
"data": {
"adds": [
{
"geometry": {
"rings": [
[
[
64286.686,
11359.276
],
[
64284.476,
11235.6780000002
],
[
64286.686,
11359.276
]
]
]
},
"attributes": {
"OBJECTID": "",
"BSM": "TX2019090366"
}
}
],
"updates": [
{
"geometry": {
"rings": [
[
[
64286.686,
11359.276
],
[
64284.476,
11235.6780000002
],
[
64286.686,
11359.276
]
]
]
},
"attributes": {
"OBJECTID": "",
"BSM": "TX2019090366"
}
}
],
"deletes": "BSM='123123123'"
}
}
}
2. 响应体
json
{
"code": 200,
"success": true,
"message": "",
"timestamp": 123123123,
"result": {
"addResults": [
{
"OID": 6854,
"success": true
}
],
"updateResults": [
{
"OID": 6854,
"success": true
}
],
"deleteResults": [
{
"OID": 6854,
"success": true
}
]
}
}
09. 数据编辑-新增-从CAD文件导入
说明
将CAD导入到指定的图层,应用场景:在图层中新增一个要素,该要素的范围来自于CAD文件,属性信息(attributes)可由业务系统组装
1. 入参
json
{
"exetype": "DATA_EDIT_ADD_FROM_CAD",
"config": {
"geometryType": "esriGeometryPolygon", //只处理指定几何类型的CAD中的数据
"srcCadFilePath": "", //CAD文件路径
"srcCadLayerName": "XZDB,XZDX,XZDS", //以英文逗号分隔,只处理srcCadLayerName中的图层,若为空则导入所有图层数据
"srcAttributes": { //属性,只处理标签在库中存在的属性
"SBH": ""
},
"targetWorkSpace": "",
"targetWorkSpaceType": "",
"targetLayerName": "CH_DJ_XZZD_R" //目标图层
}
}
2. 响应体
json
{
"code": 200,
"success": true,
"message": "",
"timestamp": 123123123,
"result":{
"oid": "", //OBJECTID
"geometry": {}, //几何位置
"attributes": {} //返回插入记录的所有信息
}
}
10. 数据编辑-删除
说明
删除空间数据
1. 入参
json
{
"exetype": "DATA_EDIT_DELETE",
"config": {
"workSpaceType": "",
"workSpace": "",
"data": [
{
"layerName": "CH_DJ_XZZD_R", //目标图 层
"where": "OBJECTID=100" //根据查询条件删除数据
}
]
}
}
2. 响应体
json
{
"code": 200,
"success": true,
"message": "",
"timestamp": 123123123,
"result":""
}
11. 数据编辑-编辑-从CAD文件编辑
说明
根据CAD文件编辑要素,应用场景:导入一个CAD,使用这个CAD编辑指定图层要素的几何位置和属性,属性信息(attributes)可由业务系统组装
1. 入参
json
{
"exetype": "DATA_EDIT_FROM_CAD",
"config": {
"geometryType": "esriGeometryPolygon", //只处理指定几何类型的CAD中的数据
"srcCadFilePath": "", //CAD文件路径,若srcCadFilePath为空则只编辑属性
"srcCadLayerName": "XZDB,XZDX,XZDS", //以英文逗号分隔,只处理srcCadLayerName中的图层,若为空则导入所有图层数据
"srcAttributes": { //属性,只处理标签在库中存在的属性,若srcAttributes为空则只编辑空间位置
"SBH": ""
},
"targetWorkSpaceType": "",
"targetWorkSpace": "",
"targetLayerName": "CH_DJ_XZZD_R", //要编辑的图层
"targetWhere": "OBJECTID=100" //查询条件(查找出要编辑的要素),若未能查询到数据或者查询到多条数据,则报错且不予处理
}
}
2. 响应体
json
{
"code": 200,
"success": true,
"message": "",
"timestamp": 123123123,
"result":""
}
12. 面积&长度计算
说明
计算几何要素的长度和面积
1. 入参
json
{
"exetype": "CAL_AREA_AND_LENGTHS",
"config": {
"sr": "xiamen92",
"features": [
{
"bsm": "", //要素标识码
"geometryType": "", //esriGeometryPolyline/esriGeometryPolygon
"geometry": []
}
]
}
}
2. 响应体
json
{
"code": 200,
"success": true,
"message": "",
"timestamp": 123123123,
"result": [
{
"bsm": "", //对应入参的几何要素的标识码
"area": 123.123, //面积,平方米为单位,在geometryType=esriGeometryPolygon,该值有效
"lengths": 12.123 //面积,米为单位
}
]
}
13. 空间分析-ESRIJSON
说明
执行空间分析操作(仅支持叠加分析),空间参考来自于ESRIJSON数据
1. 入参
json
{
"exetype": "ANALYSIS_BY_JSON", //空间分析支持厦门92 CSCS2000坐标系,仅实现针对面要素的叠加分析
"config": {
"sr": "cgcs2000",
"geometryType": "esriGeometryPolygon", //几何类型,只支持面砖要素
"geometry": { //面状要素
"rings": [
[
[
118.152546079071,
24.530251659361
],
[
118.153004736813,
24.5310107245122
],
[
118.152843804272,
24.5301068200741
],
[
118.152578265579,
24.5301282777463
],
[
118.152578265579,
24.5301282777463
],
[
118.152546079071,
24.530251659361
]
]
]
},
"targetworkSpace": "",
"targetworkSpaceType": "",
"targetLayerName": "CH_DJ_XZZD_R", //目标图层
"targetWhere": "" //过滤条件
}
}
2. 响应体
json
{
"code": 200,
"success": true,
"message": "",
"timestamp": 123123123,
"result": {
"topologyInfos": [
{ //分析出的拓扑信息
"oid": "int", //分析出的要素oid
"sourceGeo": "string", //原始图形geometryJson
"targetGeo": "string", //分析出的要素的geometryJson
"intersectGeo": "string", //相交部分的geometryJson
"differenceGeo": "string", //未相交部分的geometryJson
"sourceArea": "double", //原始图形面积
"targetGeoArea": "double", //目标图形面积
"intersectArea": "double", //相交部分面积
"differenceArea": "double", //未相交部分面积
"isContains": "bool", //geometry是否包含targetGeo
"isWithin": "bool", //geometry是否被targetGeo包含
"isEquals": "bool", //geometry与targetGeo是否完全相等
"attributes": {
"key": "value",
"..."
}
}
]
}
}
14. 空间分析-工作空间
说明
执行空间分析操作,空间参考来自于另外一个工作空间(仅支持面图层的叠加分析)
1. 入参
json
{
"exetype": "ANALYSIS_BY_WORKSPACE", //空间分析支持厦门92 CSCS2000坐标系,仅实现针对面要素的叠加分析
"config": {
"sr": "cscs2000",
"srcWorkSpaceType": "", //参考几何位置所在工作空间类型
"srcWorkSpace": "", //参考几何位置所在工作空间类型
"srcLayerName": "", //参考几何位置所在图层名称
"srcWhere": "", //通过查询条件过滤出所需要的参考几何位置,若为空则不过滤
"targetWorkSpaceType": "",
"targetWorkSpace": "", //目标工作空间
"targetLayerName": "", //目标图层
"targetWhere": "" //通过查询条件过滤出所需要的参考几何位置,若为空则不过滤
}
}
2. 响应体
json
{
"code": 200,
"success": true,
"message": "",
"timestamp": 123123123,
"result": {
"topologyInfos": [{ //分析出的拓扑信息
"oid": int, //分析出的要素oid
"sourceGeo": string, //原始图形geometryJson
"targetGeo": string, //分析出的要素的geometryJson
"intersectGeo": string, //相交部分的geometryJson
"differenceGeo": string, //未相交部分的geometryJson
"sourceArea": double,//原始图形面积
"targetGeoArea": double, //目标图形面积
"intersectArea": double, //相交部分面积
"differenceArea": double, //未相交部分面积
"isContains": bool, //geometry是否包含targetGeo
"isWithin": bool, //geometry是否被targetGeo包含
"isEquals": bool, //geometry与targetGeo是否完全相等
"attributes": {
"key": value,
...
}
}
]
}
}
- 示例:从工作空间
json
{
"exetype": "ANALYSIS_BY_WORKSPACE",
"config": {
"sr": "cgcs2000",
"srcWorkSpace": {
"server": "192.168.3.202",
"instance": "sde:postgresql:192.168.3.202",
"database": "gis_data_ntssgh_sde",
"user": "sde",
"password": "Qq123456"
},
"srcWorkSpaceType": "postgresql",
"srcLayerName": "nxss_fx",
"srcWhere": "OBJECTID=100",
"targetWorkSpace": {
"server": "192.168.3.202",
"instance": "sde:postgresql:192.168.3.202",
"database": "gis_data_ntssgh_sde",
"user": "sde",
"password": "Qq123456"
},
"targetWorkSpaceType": "postgresql",
"targetLayerName": "nxss_xm",
"targetWhere": ""
}
}
15. 数据编辑-从工作空间中导入
说明
数据编辑操作
当mode为add时,为新增操作
当mode为edit时,为编辑操作,通过srcBsmField与targetBsmField进行匹配,若数据存在则执行图形和属性的编辑更新,若不存在则不予操作
当mode为add时,为编辑或新增操作,通过srcBsmField与targetBsmField进行匹配,若数据存在则执行图形和属性的编辑更新,若不存在则执行新增操作
1. 入参
json
{
"exetype": "DATA_EDIT_FROM_WORKSPACE", //从工作空间中编辑
"config": {
"mode": "add",//模式:add、edit、addOrEdit
"geometryType": "esriGeometryPolygon", //只处理指定几何类型的数据
"sr": "cgcs2000",
"srcWorkSpaceType": "", //源数据工作空间类型,支持sqlserver/oracle/mdb/shape,不支持cad
"srcWorkSpace": "", //源数据工作空间
"srcLayerName": "", //源数据图层名称,以英文逗号分隔,只处理srcCadLayerName中的图层;对于mdb和shape若为空则获取第一个几何类型相符的图层作为源数据图层;对于sqlserver和oracle,若srcLayerName值为则报错提示
"srcWhere": "", //通过查询条件过滤出所需要的参考几何位置,若为空则不过滤
"srcBsmField": "", //唯一标识字段,在mode为edit、addOrEdit用到
"srcAttributesEnabled":true,//是否处理属性信息,若不处理属性信息则只新增或更新空间位置;若处理属性信息则自动根据字段名称匹配更新
"targetWorkSpaceType": "", //目标数据工作空间类型,支持sqlserver/oracle/mdb/shape/geodatabase
"targetWorkSpace": "",
"targetLayerName": "", //目标图层
"targetBsmField": "", //唯一标识字段,在mode为edit、addOrEdit用到
"isAutoCreateTargetLayer": true //是否自动创建目标图层(若目标图层不存在则根据源图层自动创建该图层)
}
}
2. 响应体
json
{
"code": 200,
"success": true,
"message": "",
"timestamp": 123123123,
"result": {
"addResults": [
{
"OID": 6854,
"success": true
}
],
"updateResults": [
{
"OID": 6854,
"success": true
}
]
}
}
16. 空间分析-地图服务(一维)
说明
执行空间分析操作(仅支持叠加分析),空间参考来自于ESRIJSON数据
对于统计字段值的说明
字段名称 有效性 字段说明
code 一维、二维 代码
name 一维、二维 名称
value 一维、二维 数值:对于一维统计,该值为压盖到的面积(面积)
showValue 一维、二维 数值:对于一维统计,该值为压盖到的面积(显示面积)
subArea 二维(仅二级节点) 数值:对于二维统计,该值为压盖到的子类面积之和
percentTxmj 一维、二维 百分比:占上输入图形面积的百分比,比如:输入1000平方米,压盖到建设用地700米,建设用地的百分比为0.7
percentYgmj 一维、二维 百分比:占上压盖图斑面积的百分比,比如:输入1000平方米,压盖到建设用地700米,在这700中的百分比
1. 入参
json
{
"exetype": "ANALYSIS_BY_MAPSERVER", //空间分析支持厦门92 CSCS2000坐标系,仅实现针对面要素的叠加分析
"config": {
"geometryType": "esriGeometryPolygon", //几何类型,只支持面砖要素
"geometry": { //面状要素
"rings": [
[
[
118.152546079071,
24.530251659361
],
[
118.153004736813,
24.5310107245122
],
[
118.152843804272,
24.5301068200741
],
[
118.152578265579,
24.5301282777463
],
[
118.152578265579,
24.5301282777463
],
[
118.152546079071,
24.530251659361
]
]
]
},
"stcSetting": { //统计配置参数
"stcName": "土地利用总体规划20200629",
"maxArea": 1000,//最大统计面积
"sr": "cgcs2000geo ",//取值范围 xiamen92 cgcs2000geo xiamen92 daxiamen92
"stcUrl": "http://188.33.2.19:8399/arcgis/rest/services/ZTT/TDLYGH/MapServer/1",
"idField": "OBJECTID",
"apiType": "1", //1 一维统计 2 二维统计
"token": "",
"stcMap": {
"isGroupFieldKPEnabled": 1,
"groupFieldKP": [
{
"key": "010",
"value": "基本农田保护区"
}
],
"groupField": "TDYTQLXDM",
"whereClause": "",
"stcPara": {
"stcName": "土地利用总体规划2020压盖分析",
"stcField": "__SHAPE.AREA",
"stcType": "max", //max min count sum average
"title": "土地利用总体规划",
"subtitle": "",
"footnote": "",
"unit": "平方米",
"tableHead": [
{
"title": "编码",
"fieldName": "code",
"align": "center"//取值范围 left right center
},
{
"title": "名称",
"fieldName": "name",
"align": "center"
},
{
"title": "面积/平方米",
"fieldName": "showValue",
"align": "center"
},
{
"title": "百分比",
"fieldName": "percentTxmj",
"align": "center"
}
]
}
}
}
}
}
2. 响应体
json
{
"code": 200,
"success": true,
"message": "操作成功。",
"timestamp": "1644856390",
"result": {
"tmapCode": "tile_1081",
"stcName": "建设用地管制区2020压盖分析",
"stcField": "__SHAPE.AREA",
"stcType": 4,
"title": "建设用地管制区",
"subtitle": "",
"footnote": "",
"unit": "平方米",
"tableHead": [
{
"title": "编码",
"fieldName": "code",
"align": "center"
},
{
"title": "名称",
"fieldName": "name",
"align": "center"
},
{
"title": "面积/平方米",
"fieldName": "showValue",
"align": "center"
},
{
"title": "百分比",
"fieldName": "percentTxmj",
"align": "center"
}
],
"data": [
{
"code": "010",
"name": "允许建设区",
"value": 192263.47,
"showValue": "192263.47",
"percentTxmj": "50%", //占输入面积的百分比
"percentYgmj": "30%", //占压盖面积的百分比
"geometries": [
{
"geometryType": "esriGeometryPolygon",
"geometry": {
"rings": [
[
[
60750.052400000393,
9968.9038999993354
],
[
60344.435300000012,
9811.4289999995381
],
[
60750.052400000393,
9968.9038999993354
]
]
]
}
}
]
}
],
"totalArea": 231075.44, //输入的图形面积
"inputTxArea": 231075.44, //分析后的压盖面积
"dataType": 1
}
}
2. 响应体(失败的情况)
json
{
"code": 200,
"success": true,
"message": "操作成功。",
"timestamp": "1644856390",
"result": {
"error":""
}
}
17. 空间分析-地图服务(二维)
说明
执行空间分析操作(仅支持叠加分析),空间参考来自于ESRIJSON数据
对于统计字段值的说明
字段名称 有效性 字段说明
code 一维、二维 代码
name 一维、二维 名称
value 一维、二维 数值:对于一维统计,该值为压盖到的面积(面积)
showValue 一维、二维 数值:对于一维统计,该值为压盖到的面积(显示面积)
subArea 二维(仅二级节点) 数值:对于二维统计,该值为压盖到的子类面积之和
percentTxmj 一维、二维 百分比:占上输入图形面积的百分比,比如:输入1000平方米,压盖到建设用地700米,建设用地的百分比为0.7
percentYgmj 一维、二维 百分比:占上压盖图斑面积的百分比,比如:输入1000平方米,压盖到建设用地700米,在这700中的百分比
1. 入参
json
{
"exetype": "ANALYSIS_BY_MAPSERVER",
"config": {
"geometryType": "esriGeometryPolygon", //几何类型,只支持面砖要素
"geometry": { //面状要素
"rings": [
[
[
118.152546079071,
24.530251659361
],
[
118.153004736813,
24.5310107245122
],
[
118.152843804272,
24.5301068200741
],
[
118.152578265579,
24.5301282777463
],
[
118.152578265579,
24.5301282777463
],
[
118.152546079071,
24.530251659361
]
]
]
},
"stcSetting": {
"stcName": "土地利用现状",
"maxArea": 1000, //最大统计面积
"stcUrl": "http://188.33.2.19:8399/arcgis/rest/services/ZTT/TDLYXZ2018/MapServer/2",
"idField": "OBJECTID",
"sr": "cgcs2000geo ",//取值范围 xiamen92 cgcs2000geo xiamen92 daxiamen92
"apiType": 2, //二维统计
"token": "",
"stcMap": {
"isGroupFieldKPEnabled": 1,
"groupField1": "ZLDWMC",
"groupField2": "DLBM",
"groupFieldKP": [
{
"key": "011",
"value": "水田"
}
],
"whereClause": "1=1",
"stcPara": {
"stcName": "土地利用现状2018压盖分析",
"stcField": "__SHAPE.AREA",
"stcType": "max", //max min count sum average
"title": "土地利用现状统计图",
"subtitle": "",
"footnote": "",
"unit": "平方米",
"tableHead": [
{
"title": "名称",
"fieldName": "name",
"align": "center"
},
{
"title": "面积/平方米",
"fieldName": "value",
"align": "center"
},
{
"title": "百分比",
"fieldName": "percentTxmj",
"align": "center"
}
]
"subTableHead": [
{
"title": "编码",
"fieldName": "code",
"align": "center"
},
{
"title": "名称",
"fieldName": "name",
"align": "center"
},
{
"title": "面积/平方米",
"fieldName": "showValue",
"align": "center"
},
{
"title": "百分比",
"fieldName": "percentTxmj",
"align": "center"
}
]
}
}
}
}
}
2. 响应体
json
{
"code": 200,
"success": true,
"message": "操作成功。",
"timestamp": "1644856390",
"result": {
"tmapCode": "tile_1235",
"stcName": "XXXX统计",
"stcField": "__SHAPE.AREA",
"stcType": 4,
"title": "土地利用现状2018压盖分析",
"subtitle": "土地利用现状统计图",
"footnote": "",
"unit": "平方米",
"tableHead": [
{
"title": "名称",
"fieldName": "name",
"align": "center"
},
{
"title": "面积/平方米",
"fieldName": "subArea",
"align": "center"
},
{
"title": "百分比",
"fieldName": "percentTxmj",
"align": "center"
}
],
"subTableHead": [
{
"title": "编码",
"fieldName": "code",
"align": "center"
},
{
"title": "名称",
"fieldName": "name",
"align": "center"
},
{
"title": "面积/平方米",
"fieldName": "showValue",
"align": "center"
},
{
"title": "百分比",
"fieldName": "percentTxmj",
"align": "center"
}
],
"data": [
{
"name": "名称:筼筜湖 (44753.25平方米)",
"value": 44753.25,
"percentTxmj": "50%",
"percentYgmj": "30%",
"subItems": [
{
"code": "033",
"name": "其他林地",
"value": 10740.26,
"showValue": "10740.26",
"percentTxmj": "50%",
"percentYgmj": "30%",
"geometrys": [
{
"geometryType": "esriGeometryPolygon",
"geometriy": {
"rings": [
[
[
60713.887500000186,
9593.1390000004321
],
[
60756.411199999973,
9507.7865999992937
],
[
60713.887500000186,
9593.1390000004321
]
]
]
}
}
]
}
]
}
],
"totalArea": 231075.44,
"inputTxArea": 231075.44,
"dataType": 2
}
}
2. 响应体(失败的情况)
json
{
"code": 200,
"success": true,
"message": "操作成功。",
"timestamp": "1644856390",
"result": {
"error": ""
}
}
18. 空间分析-地图服务(多个)
说明
执行空间分析操作(仅支持叠加分析),空间参考来自于ESRIJSON数据
对于统计字段值的说明
字段名称 有效性 字段说明
code 一维、二维 代码
name 一维、二维 名称
value 一维、二维 数值:对于一维统计,该值为压盖到的面积(面积)
showValue 一维、二维 数值:对于一维统计,该值为压盖到的面积(显示面积)
subArea 二维(仅二级节点) 数值:对于二维统计,该值为压盖到的子类面积之和
percentTxmj 一维、二维 百分比:占上输入图形面积的百分比,比如:输入1000平方米,压盖到建设用地700米,建设用地的百分比为0.7
percentYgmj 一维、二维 百分比:占上压盖图斑面积的百分比,比如:输入1000平方米,压盖到建设用地700米,在这700中的百分比
1. 入参
json
{
"exetype": "ANALYSIS_BY_MAPSERVER_BATCH",
"config":{
"datalist":[
{
"geometryType": "esriGeometryPolygon", //几何类型,只支持面砖要素
"geometry": { //面状要素
"rings": [
[
[
118.152546079071,
24.530251659361
],
[
118.153004736813,
24.5310107245122
],
[
118.152843804272,
24.5301068200741
],
[
118.152578265579,
24.5301282777463
],
[
118.152578265579,
24.5301282777463
],
[
118.152546079071,
24.530251659361
]
]
]
},
"stcSetting": {
"stcName": "土地利用现状",
"maxArea": 1000,//最大统计面积
"stcUrl": "http://188.33.2.19:8399/arcgis/rest/services/ZTT/TDLYXZ2018/MapServer/2",
"idField": "OBJECTID",
"sr": "cgcs2000geo ",//取值范围 xiamen92 cgcs2000geo xiamen92 daxiamen92
"apiType": 2, //二维统计
"token": "",
"stcMap": {
"isGroupFieldKPEnabled": 1,
"groupField1": "ZLDWMC",
"groupField2": "DLBM",
"groupFieldKP": [
{
"key": "011",
"value": "水田"
}
],
"whereClause": "1=1",
"stcPara": {
"stcName": "土地利用现状2018压盖分析",
"stcField": "__SHAPE.AREA",
"stcType": "max", //max min count sum average
"title": "土地利用现状统计图",
"subtitle": "",
"footnote": "",
"unit": "平方米",
"tableHead": [
{
"title": "名称",
"fieldName": "name",
"align": "center"
},
{
"title": "面积/平方米",
"fieldName": "subArea",
"align": "center"
},
{
"title": "百分比",
"fieldName": "percentTxmj",
"align": "center"
}
]
"subTableHead": [
{
"title": "编码",
"fieldName": "code",
"align": "center"
},
{
"title": "名称",
"fieldName": "name",
"align": "center"
},
{
"title": "面积/平方米",
"fieldName": "showValue",
"align": "center"
},
{
"title": "百分比",
"fieldName": "percentTxmj",
"align": "center"
}
]
}
}
}
},
{
"sr": "cgcs2000geo ",//取值范围 xiamen92 cgcs2000geo xiamen92 daxiamen92
"geometryType": "esriGeometryPolygon", //几何类型,只支持面砖要素
"geometry": { //面状要素
"rings": [
[
[
118.152546079071,
24.530251659361
],
[
118.153004736813,
24.5310107245122
],
[
118.152843804272,
24.5301068200741
],
[
118.152578265579,
24.5301282777463
],
[
118.152578265579,
24.5301282777463
],
[
118.152546079071,
24.530251659361
]
]
]
},
"stcSetting": { //统计配置参数
"stcName": "土地利用总体规划20200629",
"maxArea": 1000,//最大统计面积
"stcUrl": "http://188.33.2.19:8399/arcgis/rest/services/ZTT/TDLYGH/MapServer/1",
"idField": "OBJECTID",
"sr": "cgcs2000geo ",//取值范围 xiamen92 cgcs2000geo xiamen92 daxiamen92
"apiType": "1", //1 一维统计 2 二维统计
"token": "",
"stcMap": {
"isGroupFieldKPEnabled": 1,
"groupFieldKP": [
{
"key": "010",
"value": "基本农田保护区"
}
],
"groupField": "TDYTQLXDM",
"whereClause": "",
"stcPara": {
"stcName": "土地利用总体规划2020压盖分析",
"stcField": "__SHAPE.AREA",
"stcType": "max", //max min count sum average
"title": "土地利用总体规划",
"subtitle": "",
"footnote": "",
"unit": "平方米",
"tableHead": [
{
"title": "编码",
"fieldName": "code",
"align": "center"
},
{
"title": "名称",
"fieldName": "name",
"align": "center"
},
{
"title": "面积/平方米",
"fieldName": "showValue",
"align": "center"
},
{
"title": "百分比",
"fieldName": "percentTxmj",
"align": "center"
}
]
}
}
}
}
]
}
}
2. 响应体
json
{
"code": 200,
"success": true,
"message": "操作成功。",
"timestamp": "1644856390",
"result": {
"datalist": [
{
"tmapCode": "tile_1081",
"stcName": "建设用地管制区2020压盖分析",
"stcField": "__SHAPE.AREA",
"stcType": "sum",
"title": "建设用地管制区",
"subtitle": "",
"footnote": "",
"unit": "平方米",
"tableHead": [
{
"title": "编码",
"fieldName": "code",
"align": "center"
},
{
"title": "名称",
"fieldName": "name",
"align": "center"
},
{
"title": "面积/平方米",
"fieldName": "showValue",
"align": "center"
},
{
"title": "百分比",
"fieldName": "percentTxmj",
"align": "center"
}
],
"data": [
{
"code": "010",
"name": "允许建设区",
"value": 192263.47,
"showValue": "192263.47",
"percentTxmj": "50%",
"percentYgmj": "30%",
"geometries": [
{
"geometryType": "esriGeometryPolygon",
"geometry": {
"rings": [
[
[
60750.052400000393,
9968.9038999993354
],
[
60344.435300000012,
9811.4289999995381
],
[
60750.052400000393,
9968.9038999993354
]
]
]
}
}
]
}
],
"totalArea": 231075.44,
"inputTxArea": 231075.44,
"dataType": 1
},
{
"tmapCode": "tile_1235",
"stcName": "XXXX统计",
"stcField": "__SHAPE.AREA",
"stcType": "sum",
"title": "土地利用现状2018压盖分析",
"subtitle": "土地利用现状统计图",
"footnote": "",
"unit": "平方米",
"tableHead": [
{
"title": "名称",
"fieldName": "name",
"align": "center"
},
{
"title": "面积/平方米",
"fieldName": "subArea",
"align": "center"
},
{
"title": "百分比",
"fieldName": "percentTxmj",
"align": "center"
}
],
"subTableHead": [
{
"title": "编码",
"fieldName": "code",
"align": "center"
},
{
"title": "名称",
"fieldName": "name",
"align": "center"
},
{
"title": "面积/平方米",
"fieldName": "showValue",
"align": "center"
},
{
"title": "百分比",
"fieldName": "percentTxmj",
"align": "center"
}
],
"data": [
{
"name": "名称:筼筜湖 (44753.25平方米)",
"value": 44753.25,
"subItems": [
{
"code": "033",
"name": "其他林地",
"value": 10740.26,
"showValue": "10740.26",
"percentTxmj": "50%",
"percentYgmj": "30%",
"geometrys": [
{
"geometryType": "esriGeometryPolygon",
"geometry": {
"rings": [
[
[
60713.887500000186,
9593.1390000004321
],
[
60756.411199999973,
9507.7865999992937
],
[
60713.887500000186,
9593.1390000004321
]
]
]
}
}
]
}
]
}
],
"totalArea": 231075.44,
"inputTxArea": 231075.44,
"dataType": 2
}
]
}
}
2. 响应体(整体失败的情况)
json
{
"code": 200,
"success": true,
"message": "操作成功。",
"timestamp": "1644856390",
"result": {
"error":""
}
}
2. 响应体(单个失败的情况)
json
{
"code": 200,
"success": true,
"message": "操作成功。",
"timestamp": "1644856390",
"result": {
"datalist": [
{
"tmapCode": "tile_1081",
"stcName": "建设用地管制区2020压盖分析",
"stcField": "__SHAPE.AREA",
"stcType": 4,
"title": "建设用地管制区",
"subtitle": "",
"footnote": "",
"unit": "平方米",
"tableHead": [
{
"title": "编码",
"fieldName": "code",
"align": "center"
},
{
"title": "名称",
"fieldName": "name",
"align": "center"
},
{
"title": "面积/平方米",
"fieldName": "showValue",
"align": "center"
},
{
"title": "百分比",
"fieldName": "percentTxmj",
"align": "center"
}
],
"data": [
{
"code": "010",
"name": "允许建设区",
"value": 192263.47,
"showValue": "192263.47",
"percentTxmj": "50%",
"percentYgmj": "30%",
"geometries": [
{
"geometryType": "esriGeometryPolygon",
"geometry": {
"rings": [
[
[
60750.052400000393,
9968.9038999993354
],
[
60988.650700000115,
9525.1109999995679
],
[
60750.052400000393,
9968.9038999993354
]
]
]
}
}
]
}
],
"totalArea": 231075.44,
"inputTxArea": 231075.44,
"dataType": 1
},
{
"tmapCode": "tile_1235",
"stcName": "XXXX统计",
"stcField": "__SHAPE.AREA",
"stcType": 4,
"title": "土地利用现状2018压盖分析",
"subtitle": "土地利用现状统计图",
"footnote": "",
"unit": "平方米",
"tableHead": [
{
"title": "编码",
"fieldName": "code",
"align": "center"
},
{
"title": "名称",
"fieldName": "name",
"align": "center"
},
{
"title": "面积/平方米",
"fieldName": "showValue",
"align": "center"
},
{
"title": "百分比",
"fieldName": "percentTxmj",
"align": "center"
}
],
"error": ""
}
]
}
}
19.数据编辑-从CAD文件导入(92坐标系CAD,双图层)
说明
将CAD导入到指定的图层,应用场景:在图层中新增一个要素,该要素的范围来自于CAD文件,属性信息(attributes)可由业务系统组装
1. 入参
json
{
"exetype": "DATA_EDIT_ADD_FROM_CAD_92",
"config": {
"geometryType": "esriGeometryPolygon",
"srcCadFilePath": "",
"srcCadLayerName": "XZDB,XZDX,XZDS",
"srcAttributes": {
"SBH": ""
},
"targetWorkSpace": "",
"targetWorkSpaceType": "",
"targetLayerName2000": "CH_DJ_XZZD_R",
"targetLayerName92": "CH_DJ_XZZD_R"
}
}
2. 响应体
json
{
"code": 200,
"success": true,
"message": "",
"timestamp": 123123123,
"result": {
"oid": "",
"geometry": {},//2000坐标系的空间数据
"attributes": {},
"fs92": {
"oid": "",
"geometry": {},//92坐标系的空间数据
"attributes": {}
}
}
}
20.空间分析-验证是否闭合、是否自相交
说明
验证图形是否闭合、是否自相交
1. 入参
json
{
"exetype": "ANALYSIS_ISBH_ISZXJ",
"config": {
"files": [
{
"bsm": "",//文件标识码
"fileUrl": ""//txt文件类型
}
]
}
}
- 响应体
json
{
"code": 200,
"success": true,
"message": "",
"timestamp": 123123123,
"result": {
"files": [
{
"bsm": "", //文件标识码
"isClosed": true, //是否闭合 取值范围 true、false
"isSelfIntersecting": false, // 是否自相交 取值范围true、false
"area": 100.123, // 图形面积,单位:平方米
}
]
}
}
* txt内容的格式为
1,24°27′03.8660″,118°3′54.3190″,1
2,24°27′03.8690″,118°3′54.3340″,1
3,24°27′03.8480″,118°3′54.4190″,1
4,24°27′03.7930″,118°3′54.5370″,1
5,24°27′03.8060″,118°3′54.7370″,1
6,24°27′03.7470″,118°3′55.2610″,1
7,24°27′03.6750″,118°3′55.6760″,1
8,24°27′03.8440″,118°3′58.8070″,1
9,24°27′03.8460″,118°3′58.8170″,1
10,24°27′03.8510″,118°3′58.8250″,1
11,24°27′04.2250″,118°3′54.1140″,1
12,24°27′03.1610″,118°3′59.1940″,2
13,24°27′03.1390″,118°3′59.4690″,2
14,24°27′03.3150″,118°3′59.1150″,2
15,24°27′03.2740″,118°3′59.1620″,2
16,24°27′03.1830″,118°3′59.1920″,2
17,24°27′05.1600″,118°3′53.5860″,3
18,24°27′04.7950″,118°3′58.1870″,3
19,24°27′04.8440″,118°3′58.2650″,3
20,24°27′05.3080″,118°3′54.3940″,3
21,24°27′05.3160″,118°3′53.9150″,3
22,24°27′05.5370″,118°3′53.7220″,3
23,24°27′05.4310″,118°3′53.7820″,3
24,24°27′05.2940″,118°3′53.5110″,3
21.WMF转PDF
说明
WMF转PDF
1. 入参
json
{
"exetype": "CONVERTOR_WMF2PDF",
"config": {
"files": [
{
"bsm": "",//文件标识码
"fileUrl": ""//输入的WMF文件
}
]
}
}
2. 响应体
json
{
"code": 200,
"success": true,
"message": "",
"timestamp": 123123123,
"result": {
"files": [
{
"bsm": "", //文件标识码
"fileUrl": true, //转换后的文件地址
"inputfileUrl": false //输入的文件地址
}
]
}
}
22.数据统计-地图服务
说明
根据地图服务进行数据统计
注意:出入参均和arcgis rest api 保持一致
1. 入参
json
{
"exetype": "STATISTIC_BY_MAPSERVER", //根据地图服务地址进行数据统计
"config": {
"geometryType": "esriGeometryPolygon", //几何类型,只支持面状要素
"geometry": { //面状要素
"rings": [
[
[
118.152546079071,
24.530251659361
],
[
118.153004736813,
24.5310107245122
],
[
118.152843804272,
24.5301068200741
],
[
118.152578265579,
24.5301282777463
],
[
118.152578265579,
24.5301282777463
],
[
118.152546079071,
24.530251659361
]
]
]
},
"stcSetting": { //统计配置参数
"where": "OBJECTID>0",
"groupByFieldsForStatistics": "MC", //统计分组字段
"outStatistics": [
{
"statisticType": "count", //统计类型 count(数量) | sum(合计) | min(最小值) | max(最大值) | avg(平均值) | stddev(标准偏差) | var(方差)
"onStatisticField": "MJ",
"outStatisticFieldName": "MJ_VALUE"
},
{
"statisticType": "sum",
"onStatisticField": "SL",
"outStatisticFieldName": "SL_VALUE"
}
]
}
}
}
2. 响应体(成功的情况)
json
{
"code": 200,
"success": true,
"message": "",
"timestamp": 123123123,
"result": {
"features": [
{
"attributes": {
"MC": "湖里区",
"MJ_VALUE": 3,
"SL_VALUE": 3
}
},
{
"attributes": {
"MC": "海沧区",
"MJ_VALUE": 3,
"SL_VALUE": 3
}
}
]
}
}
2. 响应体(成功的情况)
json
{
"code": 500,
"success": true,
"message": "",
"timestamp": 123123123,
"result": {
"error": {
"code": 400,
"message": "Invalid or missing input parameters.",
"details": []
}
}
}