Blogikirjoitus
Lisää dataa nopeammin
Edellisen kirjoitukseni Uusi vuosi, uudet kojeet yhden kansainvälisen avaruusaseman sijaintitietoa päivitettiin kymmenen sekunnin välein, mutta usein seurattavia kohteita on paljon enemmän ja tietoa tulee mahdollisesti useita kertoja sekunnissa.
ArcGIS GeoEvent Server voi tarjota palvelun, johon laitteet voivat lähettää tietoja useita kertoja sekunnissa, mutta jos halutaan yhdistää ArcGIS GeoEvent Server olemassa olevaan viestikeskukseen, niin sekin onnistuu.
Esimerkiksi Apache Kafka on tehokas viestikeskus tai sanomanvälittäjä, josta ArcGIS GeoEvent Server voi tilata GeoJSON syötteen ja tarjota siitä Stream palvelun tai tallentaa kohteet myöhempää analysointia varten sekä prosessoida syötettä.
Kafka palvelu
Kyllähän Kafka palvelimen itsekin asentaa, mutta jos/kun tosissaan halutaan toimiva ja tehokas palvelu niin helpolla pääsee kun ostaa sen pilvestä: https://aiven.io/kafka (toimii).
Data generaattori
Teknologiademossa en halua ohjata ajatuksia tiettyihin käyttötapauksiin, joten käytetään tavanomaisesta poikkeavaa ja mielivaltaista syötettä ja jätetään käyttötapaukset avoimeksi mielikuvitukselle.
Yhteys kafka palveluun Pythonista:
ja syötettä Kafkaan:
ArcGIS järjestelmästä tuotettava tieto voisi tulla esimerkiksi geoprosessointiskriptistä (arcpy) tai ArcGIS API for Python koodista, vaikkapa lokitietoa suorituksesta tai sen tuottamia tuloksia.
Ja kun paikkatiedosta puhutaan niin karttakuva siitä miltä data näyttää kun se tulee stream palvelusta kartalle:
Kafka Connector
ArcGIS GeoEvent Server 10.8 versiossa Kafka connector tulee valmiina input ja output tyyppinä tarjolle, joten sitä ei tarvitse erikseen asentaa kuten aikaisemmassa versiossa.
Tässä kokeilussani GeoEvent Serverillä Input on kafka-geojson-in, jolloin GeoEvent Serveristä tulee myös Kafka consumer:
Suurin haaste käyttöönotossa oli autentikaatio. ArcGIS paketin mukana tulee openssl, jolla saa muutettua Aiven Kafka palvelusta saatavat käyttäjän avaimet GeoEvent Serverille kelpaavaan muotoon, joten voin nyt todeta että ArcGIS GeoEvent Server on Aiven palvelusta saatavan Kafka palvelun kanssa yhteensopiva.
Toinen haaste oli sopivan viestin (geojson) muotoilu, jotta se kelpaa GeoEvent Serverille. GeoEvent Server lokin viestejä lukemalla nämä ongelmat selvisivät kuitenkin nopeasti.
Nämä kun ovat kunnossa niin silloin data virtaa hienosti.
Lisätietoja GeoEvent Serveristä löytyy täältä: www.esri.com/en-us/arcgis/products/arcgis-geoevent-server.
Jari Siiskonen
GIS Professional
Esri Finland
Kirjoitus on alunperin julkaistu LinkedInissä 15.1.2020.
Hero-bannerin kuva: https://www.esri.com/en-us/arcgis/products/arcgis-geoevent-server
Sinua saattaisi kiinnostaa myös nämä kirjoitukset:
- Näe maailma uusin silmin paikkatiedon avulla »
- Paikkatiedolla ja kiertotaloudella resurssitehokasta rakentamista »
- Paikkatietoteknologia tekee muutoksen näkyväksi »
- Entä jos tietäisit enemmän kuin muut? »
Tutustu myös käytännönläheisiin vastuullisuustyöpajoihimme »