GeoDev Germany Blog

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Other Boards in This Place


Latest Activity

(316 Posts)
AlexanderErbe
Esri Regular Contributor

Ein Utility Network ist eine umfassende Funktionsumgebung zum Modellieren und Verwalten von Versorgungssystemen für Strom, Gas, Wasser, Regenwasser, Abwasser und Telekommunikation. Einmal in ArcGIS Pro erstellt, kann ein Utility Network als Webservice in ArcGIS Enterprise (mit ArcGIS Online nicht möglich) und auch offline zum Visualisieren, Analysieren (Traces) und Editieren bereitgestellt werden. Somit sind Utility Networks sehr flexibel in der Nutzung in Web Apps und nativen Apps.

 

utility_network.png

Utility Network – Stromversorgungsnetz

 

Eine native App basierend auf ArcGIS Maps SDKs for Native Apps (aka ArcGIS Runtime) muss für den Produktiveinsatz entweder mit einem ArcGIS Online oder ArcGIS Enterprise User Type, oder mit einem License String lizenziert werden. Für die Nutzung (Traces) und die offline-Nutzung von Utility Network ist zusätzlich die ArcGIS Utility Network Extension erforderlich. Für das reine Visualisieren und Abfragen von Assets ist die Extension nicht erforderlich.

Daraus ergeben sich folgende Lizenzoptionen in nativen Apps:

  • Mit einem ArcGIS Enterprise User Type mit zugewiesener ArcGIS Utility Network Extension
  • Mit einem License String Lite/Basic/Standard/Advanced plus einer ArcGIS Runtime Utility Network Extension

 

Diese Lizenzoptionen gelten bis zu den Versionen ArcGIS Enterprise 11.1 sowie für ArcGIS Maps SDKs for Native Apps 200.0 - 200.3 und für ArcGIS Runtime 100.7 - 100.15.

 

Das ändert sich ab ArcGIS Enterprise 11.2 und ArcGIS Maps SDKs for Native Apps 200.4:

 

Ab ArcGIS Enterprise 11.2 ist die ArcGIS Utility Network Extension für User Types nicht mehr verfügbar. Die Utility Network Funktionalität ist mit den User Types direkt und ohne Zusatzkosten verfügbar.

In den ArcGIS Maps SDKs for Native Apps ab Version 200.4 wird die ArcGIS Runtime Utility Network Extension nicht mehr benötigt. Die Utility Network Funktionalität ist auch hier in allen Lizenstufen Lite, Basic, Standard und Advanced direkt und ohne Zusatzkosten verfügbar.

Daraus ergeben sich nun diese geänderten Lizenzoptionen in nativen Apps:

  • Nur ein ArcGIS Enterprise User Type
  • Nur ein License String Lite/Basic/Standard/Advanced

 

Bei der Migration zu Version 200.4 muss im Code einfach nur der Utility Extension License String in der Methode ArcGISRuntimeEnvironment.SetLicense() entfernt werden.

 

Editieren und Validieren von Topologien in Utility Network (neu)

Für das Editieren von Network Features (z.B. Schalter öffnen/schließen o.ä.) und Topologie-Validierungen ist die Advanced Editing Extension notwendig, welche neu in ArcGIS Enterprise und ArcGIS Maps SDKs for Native Apps eingeführt wurde. Für diese Funktionen sind diese Lizenzoptionen notwendig:

  • Mit einem ArcGIS Enterprise User Type mit zugewiesener ArcGIS Advanced Editing Extension
  • Mit einem License String Basic/Standard/Advanced plus einer Advanced Editing Extension

 

Viel Erfolg wünscht Euer GeoDev Germany Team 😊

 

more
0 0 158
AlexanderErbe
Esri Regular Contributor

Esri bietet mit den ArcGIS Maps SDKs und Open Source APIs viele Werkzeuge zum Entwickeln oder Erweitern von Geo-Apps für Browser, Desktops und mobile Plattformen. Zusammen mit den ArcGIS Location Services bilden diese Werkzeuge eine bärenstarke Kombination.

ArcGIS Location Services sind ready-to-use Geo-Dienste mit einer weltweiten Abdeckung. Darunter fallen z.B. Dienste für Basemaps, Adresssuche, Places, Routing, Höhendaten für 3D Anwendungen, soziodemografische Daten und weitere. Esri betreibt großen Aufwand, diese Dienste zu kuratieren, inhaltlich und funktional zu erweitern und aktuell zu halten. Die Nutzung der Dienste ist verbrauchsabhängig und somit sehr flexibel.

Im Folgenden sind einige spannende Neuerungen der ArcGIS Location Services aufgelistet:

ArcGIS Basemaps

Basemaps bilden den visuellen Kontext einer Karte und sind deshalb elementar für Geo-Apps. Vor gut einem halben Jahr wurden die Basemap Styles Services (v2) veröffentlicht. Neben neuen ArcGIS Basemap Styles und OSM Basemap Styles kamen auch gleich zwei spannende Funktionen hinzu, die es vorher so nicht gab:

  • Die Styles können in der MapBox Style Spezifikation und als ArcGIS Web Map zurückgegeben werden.
  • Place Labels einer Basemap, z.B. Städte- und Ländernamen, können in vielen verschiedenen Sprachen aufgerufen werden (hier ein Leaflet Sample).

Mit Basemap Places und Worldviews gibt es nun zwei weitere nützliche Funktionen, welche Basemaps intelligenter und interaktiver machen:

Basemap Places

Dieses Feature ist momentan nur mit den ArcGIS Basemap Styles arcgis/navigation und arcgis/navigation-night verfügbar.  In der Abfrage kann nun ein Places-Parameter mitgegeben werden, um POIs direkt in der Basemap darzustellen. Damit ist kein zusätzlicher Layer notwendig, um z.B. Geschäfte, Gaststätten, Parks, Museen und vieles mehr in der Karte anzuzeigen.

Zur Laufzeit können die Art der POIs nach Kategorien gefiltert (z.B. Food and drink) und sie können jederzeit aus- und eingeblendet werden. Zusätzlich liefert Basemaps Places den Namen der POIs und auch die Place IDs, mit denen über den ArcGIS Places Service weitere Informationen, wie z.B. Kontaktdaten, Öffnungszeiten und Ratings abgefragt werden können.

Hier ist ein interaktives ArcGIS Maps SDK for JavaScript Sample zu Basemap Places.

Worldview

Dies ist ein weiteres nützliches Feature, momentan noch in Beta, und ausschließlich für ArcGIS Basemaps Styles zum Anpassen von speziellen Nutzerbedürfnissen. In OSM Styles wird es nicht unterstützt. Mit Worldviews können länderspezifische politische Begrenzungslinien in der Basemap visuell angepasst werden.

Marokko_Worldview.png

Am Beispiel von Marokko zeigt die Basemap im Bild oben links die internationale Ansicht und rechts den Worldview aus dem Blickwinkel von Marokko. Warum es diese unterschiedlichen Ansichten für Marokko gibt, kann hier auf Wikipedia nachgelesen werden. Solche politischen Konstellationen gibt es viele auf der Welt und Worldviews sind eine einfache Möglichkeit diese in Basemaps zu visualisieren. Dass die Nutzung wohlüberlegt sein sollte, zeigt schon das Marokko-Beispiel.

ArcGIS Places Service

ArcGIS Places ist ein Dienst mit über 46 Mio. POIs aus mehr als 170 Ländern und Territorien. Unterteilt in über 1000 Kategorien haben Anwender Zugriff auf Informationen zu Tankstellen, Restaurants, Museen, Klubs, Schulen, staatliche Einrichtungen und vieles mehr. Neben der Position und dem Namen können weitere Details wie Adresse, E-Mail, Website, Social Media Links, Öffnungszeiten bis hin zu Nutzer- und Preisratings abgefragt werden. Die Daten werden primär von FourSquare bereitgestellt.

Hier ist ein interaktives ArcGIS Maps SDK for JavaScript Sample zu ArcGIS Places.

Folgende Neuerungen gibt es seit kurzem in ArcGIS Places:

  • viele neue und aktualisierte Einträge
  • die Kategorien wurden lokalisiert (initial in Englisch, Französisch, Japanisch, Deutsch, Spanisch und brasilianisches Portugiesisch)
  • geeignete Icons/Symbole (svg, png oder CIM Symbol) der POIs können direkt mit abgefragt und zur Darstellung in der Karte verwendet werden

Places_icons.jpg

Neu: Icons in ArcGIS Places

 

Fragen oder Anmerkungen dazu können wir gerne in den Kommentaren diskutieren.

Euer GeoDev Germany Team 😊

more
0 0 217
Jan-Tschada
Esri Contributor

Wir freuen uns, die neueste Version ArcGIS Maps SDK for Unreal Engine vorstellen zu können. Die Version 1.4 bietet eine Reihe von aufregenden neuen Funktionen, die wir in diesem Beitrag näher erläutern möchten.

Building Scene Layer Filtering

Mit der Version 1.4 haben wir die Möglichkeit eingeführt, Gebäudeszenenlayer zu filtern. Diese Funktion ermöglicht es Ihnen, verschiedene Aspekte oder Teile eines Gebäudes anzuzeigen oder auszublenden, basierend auf Disziplin, Kategorie oder SQL-Ausdruck. Dies kann besonders nützlich sein, wenn man nur die relevanten Informationen für eine bestimmte Aufgabe anzeigen möchten.

Spatial Filtering und Mesh Modification

Eine weitere wichtige Neuerung in der Version 1.4 ist das räumliche Filtern und die Mesh-Modifikation. Mit dieser Funktion kann man Polygonbereiche zeichnen und modifizieren, um Szenenlayer und Geländedaten zu filtern oder zu ersetzen. Dies kann sowohl programmatisch als auch über eine neue Benutzeroberfläche im Unreal Engine Editor erfolgen. Und das Beste daran ist, dass diese Funktion nun auch auf mobilen Plattformen verfügbar ist!

Virtual Tabletop

Zum Schluss möchten wir die Funktion "Virtual Tabletop" hervorheben. Diese Funktion unterstützt die Erstellung von immersiven Anwendungen, die geographische Daten in einer Szene auf einer Oberfläche in einer virtuellen oder physischen Umgebung anzeigen. Dies kann mit XR-Headsets ermöglicht werden und ist besonders beliebt in den Bereichen AEC, Verteidigung und öffentliche Sicherheit.

Wir hoffen, dass diese neuen Funktionen Ihnen dabei helfen werden, Ihre Projekte auf das nächste Level zu heben. Wenn Sie mehr über unser ArcGIS Maps SDK for Unreal Engine erfahren möchten, empfehlen wir einen Blick in das Get Started Guide zu werfen.

Bis zum nächsten Mal

more
0 0 436
Jan-Tschada
Esri Contributor

Entdecken Sie in unserem neuesten Blogpost, wie man ArcGIS API für Python nutzen kann, um alle Offline-Kartenbereiche und deren zugehörige Portalelemente in allen Webkarten aufzulisten. Lernen Sie diese leistungsstarke Bibliothek kennen, um Ihre Arbeit mit ArcGIS effizienter und effektiver zu gestalten. Bleiben Sie dran!

Read more...

more
1 0 429
AlexanderErbe
Esri Regular Contributor

ArcGIS ist sehr freundlich für Developer, denn es kann buchstäblich an allen Ecken und Enden an eigene Bedürfnisse angepasst werden.

ArcGIS bietet einerseits viele Werkzeuge zum Entwickeln von funktionsreichen Geo-Apps für den Browser (hier z.B. interaktive JS Samples) und für native Plattformen (hier z.B. interaktive .NET Samples). Und andererseits können auch ArcGIS Pro, ArcGIS Enterprise und ArcGIS Online um eigene Funktionalität erweitert werden. Die Klammer um alles bilden viele weitere nützliche Werkzeuge, wie z.B. Python zum Prozessieren und Automatisieren von Workflows und Arcade  zum Generieren angepasster Inhalte in ArcGIS Apps, z.B. für coole Popups oder spezielle Symbologie auf Basis von Attribut-Berechnungen.

Aus meiner Erfahrung heraus gibt es manchmal etwas Unsicherheit, welche ArcGIS Accounts eigentlich zum Entwickeln und Testen genutzt werden dürfen und was sie voneinander unterscheidet. Zunächst, Public Accounts, myEsri Accounts und ArcGIS Enterprise Accounts sind keine Developer Accounts. Ausschließlich ArcGIS Developer Accounts und ArcGIS Online Accounts berechtigen zum Entwickeln mit ArcGIS.

Mit beiden Developer Account-Typen ist das Einloggen sowohl auf developers.arcgis.com als auch auf arcgis.com möglich, der Zugriff auf Funktionen und Tools ist auch weitestgehend ähnlich. Dennoch gibt es wichtige Unterschiede aus Entwicklersicht, die Ihr wissen solltet. Diese sind in der folgenden Tabelle zusammengefasst:

Unterschiede

ArcGIS Developer Account

ArcGIS Online Account

ArcGIS Developer Subscriptions (ADS)

ADS Essentials (kostenlos)

bei Erstellung des Accounts ist es automatisch auch eine ADS Essentials

 keine ADS möglich, kann/darf aber auf einen ähnlichen Funktionsumfang zugreifen

Upgrade auf ADS Builder, Professional, Premium oder Enterprise

möglich

nicht möglich

Kosten für ArcGIS Location Services und für Datenhosting

Bezahlart

pay-as-you-go

(hinterlegte Kreditkarte, Abrechnung in Dollar)

Credits der ArcGIS Online Subscription, zu dem der Account gehört

(pay-as-you-go ist nicht möglich!)

Kosten für Basemaps und Geocoding (not stored)

Freimenge verfügbar, dann kostenpflichtig (siehe hier)

kostenfrei

Kosten für Routing (simple)

Freimenge verfügbar, dann kostenpflichtig (siehe hier)

kostenpflichtig

Funktionen (auf kostenlosen ADS Essentials Level)

Schützen von privatem Content (eigene Karten und Dienste) mit API Keys

ja

nein

Entwickeln/Nutzen von ArcGIS Experience Builder, Storymaps und ArcGIS Dashboard

nein

ja

Testen von Benutzer und Gruppenkonzepten

nein

ja

Deployment von Apps

Bereitstellen von umsatzgenerierenden Apps an Endkunden

ja

Nein, Apps dürfen nur für interne Geschäftszwecke und für nicht kommerzielle, öffentliche Auftritte genutzt werden

 

Bei weiteren Fragen oder Anmerkungen könnt Ihr gerne die Kommentarfunktion nutzen.

more
1 0 463
AlexanderErbe
Esri Regular Contributor

Eine Anforderung in Karten ist oftmals, dass Features eines Layers mit unterschiedlichen Symbolen dargestellt werden müssen, um sie visuell voneinander unterscheiden zu können. Zum Beispiel in einem Layer mit Baum-Features. Wenn nichts anderes konfiguriert wird, haben die Bäume auf der Karte immer das gleiche Symbol. Mit der Unique Value Symbology kann der Layer allerdings so angepasst werden, dass z.B. für jeden Baum-Typ ein eigenes Symbol angezeigt wird, siehe folgendes Bild:

 

Unique Value SymbologyUnique Value Symbology

Das ist die empfohlene Lösung, wenn es nicht allzu viele Unterscheidungen (Permutationen) gibt. Aber was ist, wenn die Anzahl in die hunderte/tausende geht und eventuell noch komplexe Symbole erforderlich sind?

Ab diesem Punkt sollte über den Einsatz von Dictionary Symbology nachgedacht werden. Das sicherlich prominenteste Beispiel hierfür sind Military Symbology Styles mit tausenden verschiedenen und auch teilweise sehr komplexen Symbolen, die im militärischen Bereich für taktische Karten benötigt werden.

 

Dictionary Symbology – Military Symbology StylesDictionary Symbology – Military Symbology Styles

Um es gleich vorwegzunehmen, Layer mit Dictionary Symbology können nicht in der Legende der Karte angezeigt werden, wie z.B. in dem Screenshot zur Unique Value Symbology oben. Eine Legende mit hunderten Symbolen wäre auch wenig zielführend.

 

Der Dictionary Symbology Style

Mit Dictionary Symbology Styles werden Symbole basierend auf Eingabewerten dynamisch zur Laufzeit erzeugt. Es gibt verschiedene Style-Typen, in diesem Blog wird alles Folgende auf Mobile Styles und Web Styles bezogen. In einem Style können Symbole für verschiedene Geometrien (Punkt, Linie, Polygon) enthalten sein. Die Eingabewerte sind typischerweise Attributinformationen der Features, die das entsprechende Symbol auf der Karte erhalten sollen. Das bedeutet, ein Style muss vorab mit allen erforderlichen Komponenten, Anwendungslogik und Konfigurationsmöglichkeiten erstellt werden. Wie das umgesetzt werden kann, ist in diesem ArcGIS Blog sehr schön beschrieben.

Das Ergebnis ist ein Mobile Style, das ist eine SQLite-Datenbank mit der Dateinamenerweiterung .stylx. Diese kann so wie sie ist direkt in ArcGIS Pro und in den ArcGIS Maps SDKs for native (aka ArcGIS Runtime) offline genutzt, aber auch als Web Style Service veröffentlicht und damit sowohl in Desktop-Apps als auch in Webanwendungen verwendet werden.

So viel zur Theorie. Um ein besseres Verständnis von Dictionary Symbology zu bekommen ist es wie bei allem sinnvoll, einmal alles in der Praxis durchzuspielen. Dazu habe ich den Mobile Style für Restaurants von dem Autor des weiter oben erwähnten ArcGIS Blogs etwas modifiziert und zur Verfügung gestellt:

Unser Restaurant Mobile Style generiert attributbasiert komplexe Symbole, mit denen auf einem Blick der Name, der Restaurant-Typ (hier Pizzeria), das Rating, die Öffnungszeiten und einiges mehr ersichtlich sind, ohne dafür extra ein Popup aufrufen zu müssen.

 

Komponenten eines Restaurant-SymbolsKomponenten eines Restaurant-Symbols

 

Erstellen oder Modifizieren eines Mobile Styles

Mobile Styles werden in ArcGIS Pro neu erzeugt. Bestehende können aber auch als Template für neue Styles hergenommen werden, da sie in der Struktur identisch sind. Mobile Styles können natürlich auch modifiziert werden. Dazu wird ArcGIS Pro zur Erzeugung/Anpassung der Grafik- und Textkomponenten der Symbole benötigt, sowie ein SQLite DB Editor (z.B. der DB Browser for SQLite) für die Anwendungslogik und Konfigurationen des Styles.

In ArcGIS Pro muss der Restaurant Mobile Style nur per Drag & Drop in den Katalog gezogen werden, dann wird er unter Styles mit aufgelistet. Mit Rechtsklick darauf erscheint die Option zum Verwalten von Styles. Nach Doppelklick auf den Restaurant Style im Verwaltungsfenster können bestehende Komponenten angepasst und neue erstellt werden.

Nach Öffnen des Styles in einem SQLite DB Editor befinden sich die Anpassungsmöglichkeiten in der Tabelle meta. Dort unter dictionary_configuration sind die Konfigurationen, in unserem Style nur die Option zum Ein/Ausblenden des Namens des Restaurants im Symbol. Und unter dictionary_script ist die Anwendungslogik als ArcGIS Arcade Skript, in unserem Fall u.a. die Berechnung der Sterne-Komponenten auf Basis der Rating-Eingabewerte.

 

Veröffentlichen eines Web Styles Services

Mobile Styles können mit ArcGIS Pro in ArcGIS Online und ArcGIS Enterprise veröffentlicht werden. Dazu einfach in ArcGIS Pro im Katalog mit der rechten Maustaste auf den gewünschten Style klicken und Share as Web Style auswählen. Ich habe das schon vorbereitet, aber jeder kann aus dem Restaurant Mobile Style seinen eigenen Web Style Service veröffentlichen. Beim Veröffentlichen wird eine Struktur aus mehreren JSON-Dateien erzeugt, die alle Infos des Styles enthält und auf die per URL zugegriffen wird. Ein Web Style nutzt also nicht in irgendeiner Art den Mobile Style im Hintergrund.

Hierzu noch ein kleiner Tipp: Web Styles können auch auf einem eigenen Webserver gehostet werden. Dazu einfach mit dem AGOL Assistant die JSON-Dateien mit Download All herunterladen (die drei Punkte des Style Items anklicken und View Item Resources wählen) und die entpackte Struktur so wie sie ist veröffentlichen. Wahrscheinlich bedarf es für den Zgriff noch webserver-seitig ein paar Einstellungen.

 

Nutzen von Dictionary Symbology in ArcGIS Pro

In ArcGIS Pro können Layer sowohl Mobile Styles als auch Web Styles für die Symbologie nutzen. Für unsere Restaurants wären das folgende Schritte:

  1. Eine Map einfügen
  2. Den Restaurant-FeatureService im Ribbon-Item Add Data mit Data from Path als Layer einbinden
  3. Rechte Maustaste auf den Layer und Symbology wählen
  4. Im Symbology Menü unter Primary Symbology Dictionary wählen
  5. Im Dropdown Menü More die Option Add dictionary anklicken
  6. Hier kann entweder der Restaurant Mobile Style vom Dateisystem oder der Web Style (unter Portal/ArcGIS Online nach den Web Style-Namen oder ID suchen) ausgewählt werden
  7. Unter Symbology Fields und Text Fields können die passenden Feldnamen der Feature-Attribute angegeben werden, falls es andere sind als die definierten Style-Eingabewerte. In unserem Fall kann alles so bleiben wie es ist.
  8. Wenn gewünscht die Konfiguration ändern (text an/aus)
  9. Fertig

 

Dictionary Symbology in ArcGIS ProDictionary Symbology in ArcGIS Pro

 

 

Nutzen von Dictionary Symbology in ArcGIS Maps SDKs for native

In allen ArcGIS Maps SDKs for native können, wie auch in ArcGIS Pro, für Layer sowohl Mobile Styles als auch Web Styles für die Symbologie genutzt werden. Für unsere Restaurants gibt es die passenden Samples in der Doku, hier z.B. für .NET. Der Code kann komplett übernommen werden, nur die Pfade/IDs zu unseren eigenen Styles müssen eventuell ausgetauscht werden. In den Sample Viewers der jeweiligen SDKs könnt Ihr es auch live ausprobieren. Diesen Viewer gibt es in den entsprechenden App Stores (Microsoft, Apple, Google, dort nach ArcGIS Samples suchen) und für Java und Qt zum Download. Unser Beispiel heißt überall Custom dictionary style.

 

Dictionary Symbology in ArcGIS Maps SDKs for nativeDictionary Symbology in ArcGIS Maps SDKs for native

 

Die Methoden zum Überschreiben der Feature-Attribut-Feldnamen, falls sie nicht passen, oder das setzen der Konfiguration (text an/aus) sind jeweils in der Doku des entsprechenden SDKs beschrieben, hier z.B. auch wieder für .NET.

Spannend ist noch die Möglichkeit, die Symbole aus dem Style direkt ohne Karte abzufragen. Das wäre die Lösung für z.B. Symbole für „Einzel-Graphics“ in GraphicsOverlays ohne Renderer, eigene Symbol Picker zum Editieren oder zum Nutzen der Symbol-Images außerhalb des Karten-Controls in Tabellen oder auf Buttons. Wie das geht, ist auch in der Doku beschrieben, hier für .NET. Die Images zur Nutzung außerhalb des Karten-Controls können anschließend mit den Methoden Symbol.CreateSwatchAsync() und RuntimeImageExtensions.ToImageSourceAsync() erzeugt werden.

 

Nutzen von Dictionary Symbology in ArcGIS Maps SDKs for JavaScript

Für Dictionary Symbology in Webanwendungen können nur die Web Styles genutzt werden. Mit dem ArcGIS Maps SDKs for JavaScript kann grundsätzlich das Gleiche gemacht werden wie in den nativen SDKs. Ich habe der einfachheitshalber den JS-Code für unser Restaurant-Beispiel auf CodePen veröffentlicht.

 

Dictionary Symbology in ArcGIS Maps SDKs for JavaScriptDictionary Symbology in ArcGIS Maps SDKs for JavaScript

 

Auch mit dem ArcGIS Maps SDKs for JavaScript können Symbole des Styles zur „Einzelnutzung“ in GraphicsLayer oder zur Nutzung als Images außerhalb der Karte in anderen Controls abgefragt werden. Dazu habe ich auch ein kleines Beispiel auf CodePan bereitgestellt. Der Trick ist hier, dem DictionaryRenderer mit der Methode GetSymbolAsync() eine Graphic nur mit einer Attributtabelle zu geben. Diese gibt das entsprechende Symbol zurück, welches entweder als Symbol einer neuen Graphic in Graphicslayer genutzt werden kann oder auch als Image außerhalb der Karte mithilfe von Methoden des symbolUtils-Objektes.

 

Wenn Ihr Fragen oder Anregungen zu diesem Thema habt, einfach die Kommentarfunktion nutzen. Ansonsten wünschen wir viel Spaß und Erfolg beim Ausprobieren!

more
1 4 1,270
Jan-Tschada
Esri Contributor

Hin- und wieder möchte man wissen, welche Tools und Modelle sich in einer Toolbox befinden. Eine Python Toolbox verhält sich dabei wie ein Python Modul. D.h. man kann z.B. mit inspect die einzelnen Klassen, Funktionen und sämtliche Attribute auflisten. Das geht aber auch einfacher, indem man per __all__ die enthaltenen Tools und Modelle abfragt.

import arcpy

def list_tools(toolbox_path: str)->list[str]:
    """
    Returns the tool/model names of the specified toolbox.
    :toolbox_path: path-like-object representing the full-qualified *.tbx file
    """
    toolbox = arcpy.ImportToolbox(toolbox_path)
    return toolbox.__all__

list_tools(r"..\ArcGIS\Projects\AIS\AIS.tbx")

 

Was befindet sich in euerer Lieblings-Toolbox?

more
2 0 790
Jan-Tschada
Esri Contributor

Wenn man direkt die ArcGIS REST API beim Zugriff auf Feature Services verwendet, bemerkt man dass die Datumswerte von Features als Ganzzahl abgebildet werden. Diese repräsentiert das Unix Timstamp in Millisekunden.

Die folgende Funktion erwartet ein FeatureSet als JSON-Objekt und konvertiert die gewünschten Felder in korrekte Datumswerte bzw. in eine ISO-konforme Zeichenkettendarstellung. Ein FeatureSet kann einfach per json.loads(<Esri FeatureSet String>) erzeugt werden. Für den Test haben wir einfach die Ladesäulen in Deutschland - Übersicht (arcgis.com) abgefragt, in der Abfrageansicht einfach (Where: '1=1', Out Fields: Inbetriebnahmedatum, Format: JSON).

from datetime import datetime

def convert_timestamps(feature_set: FeatureSet, field_names, use_iso=True):
    """Converts timestamps (UNIX epoch in [ms]) into datetime objects by modifying the feature set directly."""
    for feature in feature_set.features:
        for attribute_name in feature.attributes:
            if attribute_name in field_names:
                if use_iso:
                    feature.attributes[attribute_name] = datetime.utcfromtimestamp(feature.attributes[attribute_name] * 1e-3).isoformat()
                else:
                    feature.attributes[attribute_name] = datetime.utcfromtimestamp(feature.attributes[attribute_name] * 1e-3)

 

Wenn ihr ISO verwendet, was kommt bei euch als Suffix '+00:00' oder 'Z' (steht nicht für 'Zero' sondern für 'Zulu'), oder etwas ganz anderes?

more
1 0 825
Jan-Tschada
Esri Contributor

In einer ArcGIS Pro Python-Umgebung kann direkt auf die aktuell verbundene ArcGIS Online bzw. ArcGIS Enterprise Instanz zugegriffen werden. Dafür verwendet man einfach das Schlüsselwort 'home'. Die ArcGIS API for Python verwendet in einer ArcGIS Pro Python-Umgebung arcpy. Wenn man allerdings eine Python-Umgebung ohne arcpy verwendet, wird man mit einem Stacktrace belohnt.

from arcgis.gis import GIS

# Uses the current login of the ArcGIS Pro environment
# e.g. ArcGIS Pro authorized ArcGIS identiy, needs arcpy
gis = GIS('home')
gis.users.me

 

In einem Jupyter notebook erscheint mein Profil und bei euch?

more
2 1 690
NiklasKöhn
Esri Contributor

An alternative address system comes to the rescue where good old postal addresses cannot help. Now for ArcGIS Experience Builder. 

Read more...

more
1 0 1,640
12 Subscribers
Labels