数据API

用于对用户私有数据进行维护和应用。GeoHey平台支持各种类型的数据,包括Excel、CSV、SHP、KML/KMZ、GeoJson/TopoJson、GPX。用户在GeoHey平台上传以上任意类型的数据以后,即可通过数据API增加、查询、编辑、删除数据记录。GeoHey可以作为用户的空间数据云基础设施,提供空间数据管理能力,并保证数据安全。

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/data/{dataUid}/query?ak=...


响应格式与错误代码

响应的一般格式为:

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

错误代码有:

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




用户数据


获取数据列表

请求地址

请求参数:
参数名(粗体为必需参数) 参数说明
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
            },
            ...
        ]
    }
}
                            

创建

请求地址

请求参数:
参数名(粗体为必需参数) 参数说明
name 数据的名字
geometryType 空间数据类型:pt(点),mpt(多点),pl(线),mpl(多线),pg(多边形),mpg(多多边形)
fields 数据的字段列表,格式为json数组,包含name(名称,必选)、type(字段类型, text|integer|long|double|boolean|timestamp,必选)、indexed(是否创建索引,true|false,可选,默认为false。只有建立索引的字段,才允许作为过滤条件在查询时使用。如果在创建数据时,字段未建立索引,可以在数据页面手动创建索引。),见下面示例。
sr 数据的坐标系,默认为wm-gcj02。支持的坐标系包括:gcj02,表示经纬度坐标(带中国偏移);wm-gcj02,表示互联网地图投影坐标(带中国偏移)。
callback 定义用于浏览器跨域访问时的回调函数名,一般在浏览器应用中使用。
fields参数示例:
[{
    "name": "device_id",
    "type": "long",
    "indexed": true
},
{
    "name": "user_name",
    "type": "text"
},
{
    "name": "created_at",
    "type": "timestamp"
}]
                                        
正确响应数据格式:
返回新创建数据的uid
{
    "code": 0,
    "data": {
        "uid": "c10c4bdf1a5940b6bd4d20c5bb5b059b"
    }
}
                                        

获取字段列表

请求地址

请求参数:
参数名(粗体为必需参数) 参数说明
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个对象,该值最大为1000
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
                ]
            }
        ]
    }
}
                                        

添加

请求地址

请求参数:
参数名(粗体为必需参数) 参数说明
callback 定义用于浏览器跨域访问时的回调函数名,一般在浏览器应用中使用
feature 需要添加的对象,JSON数组格式
sr 输入数据的坐标系,默认为wm-gcj02。支持的坐标系包括:gcj02,表示经纬度坐标(带中国偏移);wm-gcj02,表示互联网地图投影坐标(带中国偏移)。
feature参数示例:
{
    "geom": [116.39, 39.9], 
    "attrs": {
        "label": "北京"
    }
}
                                        
正确响应数据格式:
JSON格式,添加成功对象
{
    "code": 0,
    "data": 
        {
            "id": 100, 
            "geom": [116.39, 39.9], 
            "attrs": {
            "label": "北京"
             }
        }
}
                                        

删除

请求地址

请求参数:
参数名(粗体为必需参数) 参数说明
callback 定义用于浏览器跨域访问时的回调函数名,一般在浏览器应用中使用
正确响应数据格式:
被删除数据的JSON格式,data部分只包含被删除数据的id
{
    "code": 0,
    "data": {
        "id": "101"
    }
}
                                        

更新

请求地址

请求参数:
参数名(粗体为必需参数) 参数说明
callback 定义用于浏览器跨域访问时的回调函数名,一般在浏览器应用中使用
feature 需要更新的对象,JSON格式。注意,本对象的主键由id参数指定,而非本对象的id属性指定
sr 输入数据的坐标系,默认为wm-gcj02。支持的坐标系包括:gcj02,表示经纬度坐标(带中国偏移);wm-gcj02,表示互联网地图投影坐标(带中国偏移)。
feature参数示例:
{
    "geom": [0, 0],
    "attrs": {
        "label": "Unknown"
    }
}
                                        
正确响应数据格式:
JSON格式,更新后的对象。
{
    "code":0,
    data:{
        "id": 1
        "geom": [0, 0],
        "attrs": {
            "label": "Unknown"
        }
    }
}
                                        

批量更新

请求地址

请求参数:
参数名(粗体为必需参数) 参数说明
callback 定义用于浏览器跨域访问时的回调函数名,一般在浏览器应用中使用
features 需要更新的对象数组,JSON格式
sr 输入数据的坐标系,默认为wm-gcj02。支持的坐标系包括:gcj02,表示经纬度坐标(带中国偏移);wm-gcj02,表示互联网地图投影坐标(带中国偏移)。
features参数示例:
[
            {
                "id": 1, 
                "attrs": {
                    "NAME": "麦当劳"
                }, 
                "geom": [
                    548.2924999967217, 
                    -946.3152000010014
                ]
            }, 
            {
                "id": 2, 
                "attrs": {
                    "NAME": "富隆酒坊"
                }, 
                "geom": [
                    542.7320000007749, 
                    -943.3264999985695
                ]
            }
        ]
                                        
正确响应数据格式:
JSON格式,更新后的对象。
{
    "code":0,
    "data":[
        {
            "id": 1
            "code": 0     // 表示成功
        },{
            "id": 2
            "code": 706   // 表示失败
        }
    ]
}