公共数据API

供用户使用GeoHey平台提供的公共数据。GeoHey平台的公共数据涵盖了行政、地产、自然、交通、理疗等各类数据。公共数据API只能读取公共数据,不能编辑。

API地址

API地址大多用于在SDK中进行设置,由SDK帮助生成以下各种操作的请求地址并调用。Notes:{dataUid}为数据的id号


请求方法

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

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


访问凭证

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


响应格式与错误代码

响应的一般格式为:

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

错误代码有:

响应代码 代码说明
0 正常响应,无错误
601 没有通过API访问认证
602 没有操作的权限
603 API调用达到限额
604 IP被禁用
605 Access Key被禁用
611 API调用的必要参数缺失
612 请求中包含无效参数
701 对象不存在
702 查询字段无索引
704 查询字段不存在,查询数据时使用
705 返回字段不存在,查询数据时使用
706 操作失败
707 不支持输入坐标系,查询数据时使用
708 不支持输出坐标系,查询数据时使用




公共数据


获取数据列表

请求地址

请求参数:
参数名(粗体为必需参数) 参数说明
callback 定义用于浏览器跨域访问时的回调函数名,一般在浏览器应用中使用
search 根据输入内容对数据集进行过滤,如果为空则按照时间降序返回limit个的数据记录
geometryType 用于对空间数据类型进行过滤,支持三个值:point(点,表示Point或MultiPoint),polyline(线,表示Polyline或MultiPolyline),polygon(多边形,表示Polygon或MultiPolygon)
page 获取数据集合分页的页数,默认为第0页
limit 返回记录的个数,默认为10个
正确响应数据格式:
JSON对象格式,其中items表示返回的数据列表
				

{
    "code": 0,
    "data": {
	    "hasNext": true, 
	    "page": 0, 
	    "items": [
	        {
	        	"uid": "1acdb038416e4162bcec4b344965570f",
	        	"name": "房地产住宅小区数据",
	        	"geometryType": "pg",
	        	"count": 5287,
	        	"updatedAt": 1431893651000
	        },
	        ...
	    ]
	}
}
										

获取字段列表

请求地址

请求参数:
参数名(粗体为必需参数) 参数说明
callback 定义用于浏览器跨域访问时的回调函数名,一般在浏览器应用中使用
正确响应数据示例:
indices指该字段已有索引。"default"指缺省方式创建的索引;"fti"指全文索引。
{
	"code":0,
	data:data: [{
		{
			name: "NAME",
			indices: ["default","fti"],
			type: "text"
		},
		{
			name: "TYPE",
			indices: ["default"],
			type: "text"
		}
	]
}
										

根据ID获取记录

请求地址

请求参数:
参数名(粗体为必需参数) 参数说明
callback 定义用于浏览器跨域访问时的回调函数名,一般在浏览器应用中使用
outFields 需要输出的字段,JSON数组格式,例如:['NAME', 'TYPE'],不指定表示输出所有字段
returnGeometry 是否返回几何图形数据,默认为true
format 返回数据的格式,默认使用GeoHey数据格式。可以设置为geojson,返回geojson格式数据。
outSR 返回数据的坐标系,默认wm-gcj02。支持的值包括:gcj02,表示经纬度坐标(带中国偏移);wm-gcj02,表示互联网地图投影坐标(带中国偏移)。
正确响应数据格式:
JSON对象格式,其中geom字段表示几何图形,attrs字段表示属性
				

{
    "code": 0,
    "data": {
	    "id": 1, 
	    "attrs": {
	        "NAME": "麦当劳"
	    }, 
	    "geom": [
	        548.2924999967217, 
	        -946.3152000010014
	    ]
	}
}
										

查询

请求地址

请求参数:
参数名(粗体为必需参数) 参数说明
callback 定义用于浏览器跨域访问时的回调函数名,一般在浏览器应用中使用
where 过滤满足某个条件的对象,例如:NAME='麦当劳'
searchWords 指定JSON格式的搜索词列表,如有全文检索字段,可指定切分好的词组进行检索,如:['北京', '停车', '场']
geometry 过滤在某个几何形状以内的对象,例如:[540, -950, 550, -940]
distance 缓冲半径。对geometry做缓冲,查询缓冲区域内的数据。单位为米。
sortField 指定排序的字段
sortType 指定排序的方式,默认为DESC,也可设置为ASC
offset 获取结果的偏移,多用于结果分页,例如取值10,表示从查询到的第11个对象开始输出
limit 限制返回结果的数量,例如取值100,表示最多返回查询到的100个对象,该值最大为500
outFields 需要输出的字段,JSON数组格式,例如:['NAME', 'TYPE'],不指定表示输出所有字段
returnGeometry 是否返回几何图形数据,默认为true
inSR 用于使用geometry参数作为输入指定其坐标系,默认wm-gcj02。支持的坐标系包括:gcj02,表示经纬度坐标(带中国偏移);wm-gcj02,表示互联网地图投影坐标(带中国偏移)。
outSR 查询结果中空间数据使用的坐标系,默认为wm-gcj02。支持的坐标系包括:gcj02,表示经纬度坐标(带中国偏移);wm-gcj02,表示互联网地图投影坐标(带中国偏移)。
format 返回数据的格式,默认使用GeoHey数据格式。可以设置为geojson,返回geojson格式数据。
正确响应数据格式:
JSON对象格式,其中fields字段表示所有返回的属性字段,features字段表示返回的对象数组
				
{
    "code": 0,
    "data": { 
    	"geometryType": "Point",
    	"fields":["NAME"],
    	"features":
	    [
	        {
	            "id": 1, 
	            "attrs": {
	                "NAME": "麦当劳"
	            }, 
	            "geom": [
	                548.2924999967217, 
	                -946.3152000010014
	            ]
	        }, 
	        {
	            "id": 2, 
	            "attrs": {
	                "NAME": "富隆酒坊"
	            }, 
	            "geom": [
	                542.7320000007749, 
	                -943.3264999985695
	            ]
	        }
	    ]
    }
}