當前位置: 首頁>>編程示例 >>用法及示例精選 >>正文


Python ArcGIS MQTT用法及代碼示例

本文簡要介紹 python 語言中 arcgis.realtime.velocity.feeds.MQTT 的用法。

用法:

class arcgis.realtime.velocity.feeds.MQTT(label, description, host, port, topic, qos_level=0, username=None, password=None, client_id=None, data_format=None, track_id_field=None, geometry=None, time=None)

可選參數:

  • username: String 。用於基本身份驗證的用戶名。
  • password: String 。基本身份驗證的密碼。
  • client_id: String 。客戶端 ID ArcGIS Velocity 將用於連接到 MQTT 代理。
  • data_format: [ EsriJsonFormat GeoJsonFormat DelimitedFormat JsonFormat XMLFormat ]。包含此 feed 的數據格式配置的實例。僅配置允許的格式。如果在初始化期間未正確設置,則會自動檢測格式並根據傳入數據的樣本進行設置。該示例將從 init 中迄今為止提供的配置中獲取。
  • track_id_field: String 。應設置為軌道 ID 的傳入數據字段的名稱。
  • geometry: [XYZGeometrySingleFieldGeometry]。幾何配置的實例,將用於從傳入數據創建幾何對象。
  • time: [TimeInstantTimeInterval]。時間配置實例,將用於根據傳入數據創建時間信息。

返回:

具有 MQTT 提要配置的數據類。

從 MQTT 代理接收事件。該數據類可用於定義提要配置並創建提要。

Parameter

Description

label

String 。此 Feed 實例的唯一標簽。

description

String 。飼料說明。

host

String 。代理的主機名,前綴為“tcp://”(對於非 SSL)或“ssl://”(對於 SSL 連接)。

port

國際。可訪問 MQTT 代理的端口。

topic

String 。事件消息流的主題。

qos_level

國際。服務質量 (QoS) 級別定義了特定消息的傳送保證。在 MQTT 3.1.1 中,QoS 為 0 表示消息最多傳送一次,QoS 為 1 表示至少傳送一次,QoS 為 2 則恰好傳送一次。默認值為:0。

例子:

# Usage Example

from arcgis.realtime.velocity.feeds import MQTT
from arcgis.realtime.velocity.feeds.geometry import XYZGeometry, SingleFieldGeometry
from arcgis.realtime.velocity.feeds.time import TimeInterval, TimeInstant

mqtt_config = MQTT(
    label="feed_name",
    description="feed_description",
    host="Mqtt host",
    port=8883,
    topic="Mqtt topic",
    qos_level=0,
    username="Mqtt_username",
    password="Mqtt_password",
    client_id="Mqtt_client_id",
    data_format=None
)

# use velocity object to get the FeedsManager instance
feeds = velocity.feeds

# use the FeedsManager object to create a feed from this feed configuration
mqtt_feed = feeds.create(mqtt_config)
mqtt_feed.start()
feeds.items

相關用法


注:本文由純淨天空篩選整理自arcgis.com大神的英文原創作品 arcgis.realtime.velocity.feeds.MQTT。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。