几何分析API

用来对空间数据进行计算。如果你是一位连锁店老板,想了解你的店铺周边两公里范围内都有哪些同业者,可以先做缓冲区。如果你是一位市政财政负责人,想知道各个业务部门的作业面积是否有重叠,可以做相交运算。从常见的距离和面积计算,到数据处理中的数据化简、投影转换,空间计算有很多实用场景。

API地址

API地址大多用于在SDK中进行设置,由SDK帮助生成以下各种操作的请求地址并调用。


请求方法

API同时支持GETPOST方法访问,大多数情况建议使用POST方法;但是在基于浏览器直接调用的应用中,由于涉及跨域访问,所以只能采用GET方法请求,此时会受到GET请求长度的限制,在开发中需要注意。

如果开发浏览器应用时遇到GET方法不能满足要求的情况,需要在应用的同一域名下部署一个转发服务,将API的访问形式从浏览器直接调用转为服务器调用。


访问凭证

API的访问凭证通过指定URL的参数ak指定,无论是GET还是POST请求都需要直接将ak参数直接附加于调用的URL上,如:http://geohey.com/s/geom/buffer?ak=...


响应格式与错误代码

响应的一般格式为:

{
	"code":<响应代码>,
	"data":<响应数据>
}
								

错误代码有:

响应代码 代码说明
0 正常响应,无错误
601 没有通过API访问认证
602 没有操作的权限
603 API调用达到限额
604 IP被禁用
605 Access Key被禁用
611 API调用的必要参数缺失
701 操作失败,未返回预期结果


测量面积

请求地址

请求参数:
参数名(粗体为必需参数) 参数说明
callback 定义用于浏览器跨域访问时的回调函数名,一般在浏览器应用中使用
geometries 需要量测的多边形数组
geodetic 如果对象的坐标为经纬度坐标,可以通过指定geodetic参数为true使结果返回真实的球面面积
inSR 需要测量的多边形数组的坐标系,比如4326。当geodetic参数设置为true时,则忽略inSR参数。
measureSR 计算多边形面积使用的坐标系,比如3857。当geodetic参数设置为true时,则忽略measureSR参数。
请求示例:
http://geohey.com/s/geom/area?geometries=[[[[0,0],[3,0],[3,3],[0,3]],[[1,1],[2,1],[2,2],[1,2]]]]
正确响应数据格式:
{
    "code": 0,
    "data": [
        8
    ]
}
										
请求示例:
http://geohey.com/s/geom/area?geometries=[[[[0,0],[3,0],[3,3],[0,3]],[[1,1],[2,1],[2,2],[1,2]]]]&inSR=4326&measureSR=3857
正确响应数据格式:
{
    "code": 0,
    "data": [
        99182821924.26488
    ]
}
										

缓冲区分析

请求地址

请求参数:
参数名(粗体为必需参数) 参数说明
callback 定义用于浏览器跨域访问时的回调函数名,一般在浏览器应用中使用
geometries 需要分析的几何图形数组
distances 缓冲区距离,通过指定距离数组可以对同一对象进行多次缓冲区分析,比如[5, 10]
unionResults 是否合并结果,如设为true则返回合并后的多边形,默认为false
inSR 输入坐标系
outSR 输出坐标系
bufferSR 计算缓冲区范围使用的坐标系
quadSegs 缓冲区结果中拟合曲线时,组成四分之一圆弧的点的个数,默认为8
请求示例:
http://geohey.com/s/geom/buffer?geometries=[[0,0]]&distances=[10]
正确响应数据格式:
{
    "code": 0,
    "data": [
        [
            [
                [
                    10,
                    0
                ],
                [
                    9.807852804032304,
                    -1.9509032201612808
                ],
                [
                    9.23879532511287,
                    -3.826834323650894
                ],
                
		....			
				
                [
                    9.238795325112859,
                    3.82683432365092
                ],
                [
                    9.8078528040323,
                    1.9509032201613046
                ]
            ]
        ]
    ]
}
										

求取质心

请求地址

请求参数:
参数名(粗体为必需参数) 参数说明
callback 定义用于浏览器跨域访问时的回调函数名,一般在浏览器应用中使用
geometries 需要分析的几何图形数组
请求示例:
http://geohey.com/s/geom/centroid?geometries=[[[0,0],[5,0],[5,5]]]
正确响应数据格式:
{
    "code": 0,
    "data": [
        [
            3.75, 
            1.25
        ]
    ]
}										
										

凸包分析

请求地址

请求参数:
参数名(粗体为必需参数) 参数说明
callback 定义用于浏览器跨域访问时的回调函数名,一般在浏览器应用中使用
geometries 需要分析的几何图形数组
请求示例:
http://geohey.com/s/geom/convexHull?geometries=[[[0,0],[1,1],[0,1]]]
正确响应数据格式:
{
    "code": 0,
    "data": [
        [
            [
                [
                    0, 0
                ],
                [
                    0, 1
                ],
                [
                    1, 1
                ]
            ]
        ]
    ]
}
										

求差异部分

请求地址

请求参数:
参数名(粗体为必需参数) 参数说明
callback 定义用于浏览器跨域访问时的回调函数名,一般在浏览器应用中使用
geometries 需要求解的几何图形数组
geometry 用于比较的几何图形
请求示例:
http://geohey.com/s/geom/diff?geometries=[[[0,0],[5,0]]]&geometry=[[2,-5],[2,5]]
正确响应数据格式:
{
    "code": 0,
    "data": [
        {
            "m": [
                [
                    [
                        0, 0
                    ],
                    [
                        2, 0
                    ]
                ],
                [
                    [
                        2, 0
                    ],
                    [
                        5, 0
                    ]
                ]
            ]
        }
    ]
}
										

求最短距离

请求地址

请求参数:
参数名(粗体为必需参数) 参数说明
callback 定义用于浏览器跨域访问时的回调函数名,一般在浏览器应用中使用
geometries 需要求解的几何图形数组
geometry 用于比较的几何图形
请求示例:
http://geohey.com/s/geom/distance?geometries=[[[0,0],[5,0]]]&geometry=[[1,2],[2,3]]
正确响应数据格式:
{
    "code": 0,
    "data": [
        2
    ]
}
										

求相交部分

请求地址

请求参数:
参数名(粗体为必需参数) 参数说明
callback 定义用于浏览器跨域访问时的回调函数名,一般在浏览器应用中使用
geometries 需要求解的几何图形数组
geometry 用于比较的几何图形
请求示例:
http://geohey.com/s/geom/intersect?geometries=[[[0,0],[5,0]]]&geometry=[[2,-5],[2,5]]
正确响应数据格式:
{
    "code": 0,
    "data": [
        [
            2, 0
        ]
    ]
}
										

测量长度

请求地址

请求参数:
参数名(粗体为必需参数) 参数说明
callback 定义用于浏览器跨域访问时的回调函数名,一般在浏览器应用中使用
geometries 需要测量的几何图形数组,为线段
inSR 输入坐标系,geodetic为true时,忽略inSR参数
measureSR 计算长度时使用的坐标系,geodetic为true时,忽略measureSR参数
geodetic 如果对象的坐标为经纬度坐标,可以通过指定geodetic参数为true使结果返回真实的球面距离
请求示例:
http://geohey.com/s/geom/length?geometries=[[[0,0],[5,0]], [[0,0],[5,0],[5,5]]]
正确响应数据格式:
{
    "code": 0,
    "data": [
        5, 10
    ]
}
										

合并

请求地址

请求参数:
参数名(粗体为必需参数) 参数说明
callback 定义用于浏览器跨域访问时的回调函数名,一般在浏览器应用中使用
geometries 需要合并的几何图形数组
请求示例:
http://geohey.com/s/geom/union?geometries=[[0,0],[1,1]]
正确响应数据格式:
{
    "code": 0,
    "data": {
        "m": [
            [
                0, 0
            ],
            [
                1, 1
            ]
        ]
    }
}
										

加密节点

请求地址

请求参数:
参数名(粗体为必需参数) 参数说明
callback 定义用于浏览器跨域访问时的回调函数名,一般在浏览器应用中使用
geometries 需要加密节点的几何图形数组
maxSegLength 线段最大长度
请求示例:
http://geohey.com/s/geom/densify?geometries=[[[0,0],[1,1],[2,2]]]&maxSegLength=1
正确响应数据格式:
{
    "code": 0,
    "data": [
        [
            [
                0, 0
            ],
            [
                0.5, 0.5
            ],
            [
                1, 1
            ],
            [
                1.5, 1.5
            ],
            [
                2, 2
            ]
        ]
    ]
}
										

投影

请求地址

请求参数:
参数名(粗体为必需参数) 参数说明
callback 定义用于浏览器跨域访问时的回调函数名,一般在浏览器应用中使用
geometries 需要投影的几何图形数组
inSR 输入坐标系
outSR 输出坐标系
请求示例:
http://geohey.com/s/geom/project?geometries=[[0,0],[1,1],[2,2]]&inSR=4326&outSR=3857
正确响应数据格式:
{
    "code": 0,
    "data": [
        [
            0, -7.081154551613622e-10
        ],
        [
            111319.4907932736, 111325.14286638486
        ],
        [
            222638.9815865472, 222684.2085055432
        ]
    ]
}
										

空间关系判断

请求地址

请求参数:
参数名(粗体为必需参数) 参数说明
callback 定义用于浏览器跨域访问时的回调函数名,一般在浏览器应用中使用
geometries1 用于提取满足空间关系的几何图形数组
geometries2 用于提取满足空间关系的几何图形数组
relation 空间关系,支持:contains,intersects,crosses,disjoint,overlaps,touches,within
请求示例:
http://geohey.com/s/geom/relation?geometries1=[[[[0,0],[1,1],[1,0]]]]&geometries2=[[0.3,0.1],[3,3]]&relation=contains
正确响应数据格式:
geometries1与geometries2中符合关系relation的集合对象对的序号
{
    "code": 0,
    "data": [
        [
            0, 0
        ]
    ]
}
										

简化

请求地址

请求参数:
参数名(粗体为必需参数) 参数说明
callback 定义用于浏览器跨域访问时的回调函数名,一般在浏览器应用中使用
geometries 需要化简的几何图形数组
tolerance 化简使用的最小容差距离
preserveTopo 是否保持拓扑关系
请求示例:
http://geohey.com/s/geom/simplify?geometries=[[[0,0],[0,10],[10,10]]]&tolerance=7&preserveTopo=true
正确响应数据格式:
{
    "code": 0,
    "data": [
        [
            [
                0, 0
            ],
            [
                0, 10
            ],
            [
                10, 10
            ]
        ]
    ]
}
									
请求示例:
http://geohey.com/s/geom/simplify?geometries=[[[0,0],[0,10],[10,10]]]&tolerance=8&preserveTopo=true
正确响应数据格式:
{
    "code": 0,
    "data": [
        [
            [
                0, 0
            ],
            [
                10, 10
            ]
        ]
    ]
}
									

去除相交部分

请求地址

请求参数:
参数名(粗体为必需参数) 参数说明
callback 定义用于浏览器跨域访问时的回调函数名,一般在浏览器应用中使用
geometries 需要去除相交部分的几何图形数组
geometry 求相交部分的几何图形
请求示例:
http://geohey.com/s/geom/symDiff?geometries=[[[[0,0],[0,10],[10,10], [10,0]]]]&geometry=[[[0,0],[0,5],[5,10],[10,0]]]
正确响应数据格式:
{
    "code": 0,
    "data": [
        {
            "m": [
                [
                    [
                        [
                            0, 5
                        ],
                        [
                            0, 10
                        ],
                        [
                            5, 10
                        ]
                    ]
                ],
                [
                    [
                        [
                            5, 10
                        ],
                        [
                            10, 10
                        ],
                        [
                            10, 0
                        ]
                    ]
                ]
            ]
        }
    ]
}