物联网平台二维数据可视化服务支持设备定位,目前支持的定位方式有设备属性上报位置(Geolocation)、控制台设置经纬度和云端推理经纬度三种。本文主要介绍使用设备属性上报位置(Geolocation)方法为设备定位,即确定设备经纬度。

若设备具有GPS模组,则直接上报经纬度,此时使用设备属性上报位置(Geolocation)方法定位设备,具体操作请见下文。

操作步骤

  1. 物联网平台控制台,创建一个产品。详情请参见创建产品
    说明 若已为设备创建所属的产品,则无需重新创建。
  2. 左侧导航栏选择设备管理 > 产品,在设备所属产品的右侧操作栏中单击查看
  3. 参考单个添加物模型,在产品详情页面,选择功能定义页签,为产品添加标准功能
    在系统弹出的添加标准功能对话框中,选择其他类型的功能,搜索地理位置
  4. 在搜索结果列表中单击需要的地理位置功能,则功能会添加到已选功能列表下,然后单击确定
    自定义功能
    如果您不想按标准属性添加地理位置,可以在产品详情页面功能定义页签自定义功能区域框中添加如下配置。
    说明 建议您选择标准功能,为设备所属产品添加地理位置属性。
    自定义功能
    表 1. 参数说明
    功能名称 标识符 数据类型 JSON对象参数标识符 参数数据类型 参数解释
    地理位置 GeoLocation struct(结构体) Longitude double 自定义设置,用于上报地理位置中的经度。
    Latitude double 自定义设置,用于上报地理位置中的纬度。
    Altitude double 自定义设置,用于上报地理位置中的高度。
    CoordinateSystem enum
    • 1:WGS_84
    • 2:GCJ_02
    自定义一个坐标系统,为了描述或确定位置,必须建立坐标系统,坐标只有存在于某个坐标系统才有实际的意义与具体的位置。以下是两种不同类型的坐标类型:
    • WGS_84:国际经纬度坐标标准。
    • GCJ_02:由国测局制定,是对地理位置进行首次加密后的一种坐标类型。
    说明
    • 自定义设置以上JSON对象时,经度、纬度和坐标系统必须定义,高度可以根据实际情况进行添加或删除。经度、纬度子参数的属性名L必须大写,坐标系统的C必须大写。
    • 如果以上四个参数您都定义了,则上报数据里时就必须包含这四个参数的数据。
  5. 设备会通过标准的设备协议上报位置到云端。
    设备上报协议:
    • TOPIC:/sys/{productKey}/{deviceName}/thing/event/property/post
    • REPLY TOPIC:/sys/{productKey}/{deviceName}/thing/event/property/post_reply

    请求示例如下所示。

    {
        "id" : "123",
        "version":"1.0",
        "params" : {
            "GeoLocation" : {
                "value":{
                    "Longitude":39.9935723,
                    "Latitude":39.9935723,
                    "Altitude":39.9935723,
                    "CoordinateSystem":2
                }    
            }
        },
        "method":"thing.event.property.post"  
    }

    关于上报设备信息的详细说明请参见设备属性、事件、服务