Geopunkte

Geopunkt-Fragen ermöglichen es Ihnen, eine bestimmte Position in einem Survey zu erfassen. Obwohl Survey-Antworten in Survey123 immer versuchen, die Position eines Geräts zu erfassen, selbst wenn keine Geopunkt-Frage verwendet wird, führt eine sichtbare Geopunkt-Frage im Formular zu einer besseren Erfassung der Positionsinformationen.

Standardeinstellungen für Geopunkt-Fragen

Berücksichtigen Sie bei der Verwendung von Geopunkten Folgendes:

  • Sie können einem Survey mehrere Geopunkt-, Geotrace- oder Geoshape-Fragen hinzufügen, jedoch kann nur eine davon als Geometrie des Survey-Datensatzes verwendet werden. Sie können mehrere Kartenfragen verwenden, wenn für alle Fragen bis auf eine Frage bind::esri:fieldType auf null festgelegt ist.
  • Jede Wiederholung in einem Survey kann auch mehr als eine Geopunkt-, Geotrace- oder Geoshape-Frage enthalten, jedoch kann nur eine davon als Geometrie eines Wiederholungsdatensatzes verwendet werden. Sie können mehrere Kartenfragen mit der oben beschriebenen Methode verwenden.
  • Standardmäßig zeigt Survey123 WGS84-Breitengradwerte und -Längengradwerte im Format Grad/Minuten/Sekunden an. Um diese Anzeige für einen Survey zu ändern, wählen Sie die Registerkarte Karte aus, und wählen Sie einen anderen Wert für Koordinatenformat aus.
  • Standardmäßig verwendet eine Geopunkt-Frage eine Online-Grundkarte. Wenn der Survey offline verwendet werden soll, informieren Sie sich unter Verwenden von Offline-Grundkarten.
  • Punktpositionen aus der ersten Geopunkt-Frage in einer Wiederholung können auf jeder beliebigen Karte im Survey angezeigt werden. Weitere Informationen finden Sie unter Punkt-Überlagerungen auf Karten.
  • Wenn Sie keine Geopunkt-, Geotrace- oder Geoshape-Frage im Survey einbeziehen, weist der Haupt-Feature-Layer für den Survey den Geometrietyp esriGeometryPoint auf. Die Punktposition wird mit den Positionsinformationen gefüllt, die zum Zeitpunkt des Öffnens der Survey-Daten über das Gerät verfügbar sind. Dieses Verhalten gilt auch dann, wenn der Survey Wiederholungen mit Kartenfragen enthält, aber keine Kartenfrage außerhalb der Wiederholungen einbezieht.
  • Wenn Sie die Spalte appearance einer Geopunkt-Frage auf press-to-locate festlegen, wird ein Punkt von Survey123 nur dann erfasst, wenn der Benutzer mit der Frage interagiert.
  • Wenn Sie Antworten anhand einer Karte erfassen, werden nicht alle Features der mobilen Survey123-App in der Web-App unterstützt. Die folgenden Features werden in der mobilen Survey123 App, jedoch nicht in der Web-App unterstützt:
    • Offline-Grundkarten
    • Mittelwertberechnung von Positionen für Geopunkt-Fragen.
    • Geopunkt-Symbolisierung
    • Schwellenwerte für die Positionsgenauigkeit und Ausdrücke für die Qualität von Positionen
    • Alle pulldata("@geopoint")-Eigenschaften. Die Web-App unterstützt nur die Eigenschaften x, y, z, horizontalAccuracy, verticalAccuracy, speed und direction.

Schwellenwert für Positionsgenauigkeit

Standardmäßig prüft Survey123 nicht auf Genauigkeit in den erfassten Positionswerten. Wenn die Positionsgenauigkeit wichtig für die Survey-Ergebnisse ist, können Sie einen Genauigkeitsschwellenwert durch die Mittelwertberechnung der Positionen definieren. Hierzu können Sie einen numerischen Wert in die Spalte body::accuracyThreshold der Geopunkt-Frage eingeben. Dieser Wert wird als Genauigkeitsschwellenwert verwendet, ab dessen Überschreitung Werte bei der Mittelwertberechnung für eine Position nicht mehr erfasst werden.

Fehlermeldung, wenn eine Antwort den Genauigkeitsschwellenwert von 5 Metern überschreitet

Wird keine Mittelwertberechnung verwendet, wird im Kartenbereich der mobilen Survey123-App eine Warnung angezeigt, wenn die Positionsgenauigkeit größer als der definierte Schwellenwert ist, der Benutzer jedoch Positionen erfassen kann. Um eine Position zu erfassen, die den Schwellenwert einhält, warten Sie, bis keine Warnung mehr angezeigt wird, und wählen Sie die Positionsschaltfläche aus. Positionen, die den Genauigkeitsschwellenwert überschreiten, werden bei der Mittelwertbildung automatisch ignoriert.

Ausdrücke für die Qualität von Positionen

Der Schwellenwert für die Positionsgenauigkeit ist eine Zahl: ein Minimalwert für die horizontale Genauigkeit einer bestimmten Position. Um einen Benutzer darüber zu informieren, dass seine Position andere komplexere Qualitätsanforderungen nicht erfüllt, oder um die Übermittlung dieser Position zu beschränken, kann ein Ausdruck verwendet werden. Nachfolgend werden die Spalten (und die mit ihnen verknüpften Meldungsspalten) aufgeführt, in die Sie diese Ausdrücke eingeben können:

  • Mit den Spalten constraint und constraint_message kann verhindert werden, dass der Benutzer eine Position in einer Geopunkt-Frage erfasst.
  • Die Spalten bind::esri:warning und bind::esri:warning_message können verwendet werden, um dem Benutzer eine Warnung anzuzeigen, wenn die Qualität des Ausdrucks nicht eingehalten wird. Wird die Qualität des Ausdrucks nicht eingehalten, ändert sich die Farbe des Balkens mit dem Koordinatenwert oberhalb der Geopunkt-Frage in Gelb. In diesem Fall kann der Benutzer die Position trotzdem erfassen.
Warnmeldung, wenn die Antwort den Ausdruck für die Qualität von Positionen nicht erfüllt

In jeder dieser Spalten kann mithilfe einer der Fragen aus dem Survey ein Ausdruck erstellt werden. Üblicherweise werden Fragen oder Parameter verwendet, die sich auf die Survey-Position beziehen.

Informationen zu Positionsparametern, die verwendet werden können, finden Sie weiter unten im Abschnitt Extrahieren von Geopunkt-Werten.

Beispielsweise kann mit dem folgenden Ausdruck sichergestellt werden, dass der Benutzer annähernd stillstehen muss, bevor eine Position erfasst wird, und dass die horizontale Genauigkeit besser als 5 Meter ist.

pulldata("@geopoint", ., "horizontalAccuracy") < 5 and pulldata("@geopoint", ., "speed") < 0.1

Tipp:

Zwar ist es wünschenswert, dass der Benutzer im Stillstand einen Punkt erfasst, jedoch meldet ein Gerät nur selten einen Geschwindigkeitswert von null. Daher sucht das Beispiel oben nach einer Geschwindigkeit von unter 0,1, um eine akzeptable Fehlerspanne zu berücksichtigen.

Wenn die Position unter den im Ausdruck beschriebenen Bedingungen erfasst werden muss, geben Sie den Ausdruck in die Spalte constraint ein. Wenn es nur eine Empfehlung ist, wird dem Benutzer durch die Eingabe des Ausdrucks in die Spalte bind::esri:warning nur eine entsprechende Warnmeldung angezeigt. Der Benutzer kann die Position trotzdem in der Geopunkt-Frage erfassen.

Die Meldungen für constraint und bind::esri:warning werden angezeigt, wenn der Ausdruck in diesen Spalten als "false" ausgewertet wird.

Bei sehr großen oder komplexen Ausdrücken empfiehlt es sich, die pulldata("@geopoint")-Funktionen in einzelne Fragen zu unterteilen und dann im Ausdruck auf diese Fragennamen zu verweisen. Um beispielsweise die gleiche Funktion wie im oben genannten Beispiel auszuführen, können Sie die folgende Berechnung in einer Frage mit dem Namen hAccuracy verwenden:

pulldata("@geopoint", ${location}, "horizontalAccuracy")

Anschließend können Sie die folgende Berechnung in einer Frage mit dem Namen currentSpeed verwenden:

pulldata("@geopoint", ${location}, "speed")

Die folgende Berechnung kann dann als Einschränkung oder Warnungsausdruck für die Geopunkt-Frage verwendet werden:

(${hAaccuracy} < 5) and (${currentSpeed} < 0.1)

Melden eines Konfidenzintervalls von 95 Prozent

In Ihrer Organisation ist es möglicherweise erforderlich, die erfassten Daten mit einem bestimmten Konfidenzintervall (KI) zu melden. Wenn der zurückgegebene Genauigkeitstyp das quadratisches Mittel (Root Mean Square, RMS) ist, beträgt das KI standardmäßig 68 Prozent. Um das KI von 95 Prozent in einem Survey zu ermitteln, multiplizieren Sie die horizontale Genauigkeit mit 1,7308 und die vertikale Genauigkeit mit 1,9600. Weitere Informationen zu den Konvertierungsfaktoren finden Sie unter National Standard for Spatial Data Accuracy.

Beispiel für hohe Genauigkeit

In diesem Beispiel muss ein absolutes Minimum an Variablen erfüllt werden. Der Benutzer kann dabei entscheiden, ob eine Position mit den bevorzugten strengen Variablen oder den weniger strengen Variablen erfasst wird. Möglicherweise kann sich der Benutzer aufgrund von Sicherheitsrisiken oder anderen Gefahrensituationen nicht lange genug an der Position aufhalten, damit die bevorzugten Anforderungen erfüllt werden. In diesem Fall wird eine Warnung angezeigt, und der Benutzer kann entscheiden, ob die Position erfasst wird oder ob gewartet wird.

Die folgenden absoluten Mindestgenauigkeitsanforderungen werden vom Survey-Autor festgelegt:

  • Horizontale Genauigkeit mit einem KI von 95 Prozent ist kleiner als zwei Meter.
  • Vertikale Genauigkeit mit einem KI von 95 Prozent ist kleiner als zwei Meter.
  • Genauigkeitsverschlechterung der Position (Positional Dilution of Precision, PDOP) ist kleiner als oder gleich 6,0.
  • Es werden mindestens fünf Satelliten verwendet.

Die folgenden bevorzugten Mindestgenauigkeitsanforderungen werden vom Survey-Autor festgelegt:

  • Horizontale Genauigkeit mit einem KI von 95 Prozent ist kleiner als ein Meter.
  • Vertikale Genauigkeit mit einem KI von 95 Prozent ist kleiner als ein Meter.
  • PDOP ist kleiner als oder gleich 2,0.
  • Es werden mindestens sieben Satelliten verwendet.

Die folgende Berechnung wird in einer Frage mit dem Namen haccuracy68cep verwendet:

pulldata("@geopoint", ${location}, "horizontalAccuracy")

Anschließend wird die folgende Berechnung in einer Frage mit dem Namen haccuracy95ci verwendet:

${haccuracy68cep} * 1.7308

Nach ähnlichen Berechnungen für die vertikale Genauigkeit wird in die Spalte constraint der folgende Ausdruck eingeben, der die absolute Mindestgenauigkeit darstellt:

${accuracyType} = 0 and ${haccuracy95ci} < 2 and ${vaccuracy95ci} < 2 and ${pdop} <= 6 and ${satellitesInUse} >= 5

In die Spalte bind::esri:warning wird der nachfolgende Ausdruck eingegeben, der die bevorzugte Genauigkeit darstellt. Die hier verwendeten Werte sind in der Regel kleiner als die Werte für die absolute Mindestgenauigkeit. Niedrigere Werte werden bevorzugt, jedoch können auch höhere Minimalwerte verwendet werden.

${accuracyType} = 0 and ${haccuracy95ci} < 1 and ${vaccuracy95ci} < 1 and ${pdop} <= 2 and ${satellitesInUse} >= 7

3D-Feature-Layer

Standardmäßig werden in Survey123-Geopunkt-Fragen keine Z-Achsenwerte (Höhenwerte) unterstützt; es werden nur Längen- und Breitengrad in einem zweidimensionalen Feature-Layer erfasst. Sie können dies ändern, indem Sie esriFieldTypePointZ in das Feld bind::esri:fieldType der Frage eingeben, sodass Sie den Höhenwert im Feature-Layer erfassen können. Dies ermöglicht beim Angeben eines Geopunkt-Wertes eine Änderung des Höhenfeldes.

Standardeinstellungen

Für eine Geopunkt-Frage kann eine Standardposition festgelegt werden, indem eine durch Leerzeichen unterteile Gruppe von Breitengrad- und Längengradwerten (in Dezimalgrad) in der Spalte default angegeben wird. Beispiel: Mit -37.814552 144.966071 wird die Geopunkt-Frage standardmäßig auf eine Position in Melbourne, Australien, festgelegt.

Tipp:

Die Verwendung von standardmäßigen Positionen der südlichen Hemisphäre führt in Microsoft Excel zu einem Fehler, da der Wert aufgrund des vorangestellten Minuszeichens (-) als Formel gelesen wird. Geben Sie in diesen Fällen einen Apostroph vor dem ersten Wert ein. Der Wert wird dann in Excel wie beabsichtigt gelesen. Das Verhalten in Survey123 ändert sich nicht, wenn ein Apostroph hinzugefügt wird.

Wenn kein Standardwert angegeben ist, wird die Geopunkt-Frage automatisch auf die aktuelle Position des Geräts aktualisiert. Um dies zu verhindern, müssen Sie den Standardwert auf null festlegen. Die Geopunkt-Frage zeigt dann Optionen an zum Aktivieren der Positionserfassung, Laden der Kartenseite für die manuelle Festlegung einer Position oder Aktualisieren einer Berechnung, sofern eine Berechnung angewendet wurde.

Wenn nicht relevante Geopunkt-Fragen als relevant festgelegt werden, werden sie nicht automatisch entsprechend der Position des Geräts aktualisiert. Legen Sie als Standardwert position fest, um automatisch die aktuelle vom Gerät ermittelte Position abzurufen, wenn die Frage als relevant festgelegt wird.

In Surveys enthaltene Geopunkt-Fragen, die über Eingang, Entwürfe, oder Ausgang gestartet werden, werden nicht automatisch entsprechend der aktuellen Position des Geräts aktualisiert. Legen Sie als Standardwert position fest, um automatisch die aktuelle vom Gerät ermittelte Position abzurufen, wenn der Survey über einen Ordner geöffnet wird.

Berechnungen

Sie können eine Geopunkt-Frage mithilfe der Ergebnisse anderer Fragen füllen. Die Antwort auf eine Geopunkt-Frage ist als durch Leerzeichen getrennte Liste mit Breitengrad- und Längengradwerten (in Dezimalgraden) gefolgt von optionalen Werten formatiert, beginnend mit Höhe und Genauigkeit (in Metern). Um die Antwort einer Geopunkt-Frage zu füllen, müssen Sie diese Struktur befolgen, um eine gültige Antwort zu erhalten.

Da dies nicht direkt beim Füllen aus Fragen vom Typ "select_one" möglich ist, wird die Verwendung der Funktion substr() empfohlen, damit Sie eine gültige Antwort erhalten. Beispielsweise kann der Name des Geopunktes wie folgt lauten:

+059.38330_+018.00000

Diese Antwort enthält eine feste Anzahl an Zeichen für Längen- und Breitengrad, einschließlich Nullen, die normalerweise abgeschnitten wären, und einem Unterstrich zwischen den beiden Werten, da Leerzeichen in der Spalte name nicht zulässig sind. Dadurch wird ein Wert erstellt, der mit der Funktion substr() dekonstruiert werden kann, um das folgende Beispiel einer Geopunkt-Frage zu füllen:

concat(substr(${LocationValue}, 0, 10), " ", substr(${LocationValue}, -10))

Dieses Beispiel trennt die ersten 10 Zeichen des Wertes (Breitengrad) und die letzten 10 Zeichen (Längengrad) durch ein Leerzeichen, um ein gültiges Geopunkt-Ergebnis zu ergeben.

Sie können auch die Funktion pulldata() verwenden, um eine Geopunkt-Frage mit einer angehängten csv-Datei zu füllen. Fügen Sie zuerst die .csv-Datei dem Medienordner des Survey hinzu. Nehmen Sie dann in der Spalte calculation folgende oder eine ähnliche Eingabe vor:

pulldata('Intersections', 'Lat', 'IntersectionID', ${intersection}) + " " + pulldata('Intersections', 'Long', 'IntersectionID', ${intersection})

Wie bei dem Beispiel substr() werden die Breitengrad- und Längengradwerte eines Ortes mit einem Leerzeichen kombiniert, um eine gültige Antwort für eine Geopunkt-Frage basierend auf einer vorherigen Frage zu erstellen.

Beispiele für diese beiden Berechnungen finden Sie in den Beispieldaten von Survey123 Connect.

Erforderlich und schreibgeschützt

Geopunkt-Fragen füllen einen Survey automatisch mit einer vom Gerät bereitgestellten Position, wenn eine Position verfügbar ist. Wenn das Gerät keine gültige Position in der Survey-Antwort bereitstellt, gibt Survey123 die Position 0,0 zurück, die sich in einem Gebiet im Meer vor der Küste von Afrika befindet. Die Kennzeichnung der Geopunkt-Frage als erforderlich verhindert, dass der Survey mit diesem NULL-Wert übermittelt wird. Der Survey wird akzeptiert, wenn das Gerät eine Position bereitstellt oder eine Position manuell eingetragen wird.

Die Kennzeichnung einer Geopunkt-Frage als schreibgeschützt verhindert die Eingabe manueller Antworten. Dies kann für Fragen nützlich sein, für die eine automatische Antwort erforderlich ist und eine manuelle Antwort Probleme mit dem Dataset verursachen würde. Die Verwendung empfiehlt sich in Kombination mit einer der oben beschriebenen Berechnungen. Dies ergibt einen diskontinuierlichen Geopunkt-Wert, den Benutzer nicht ändern können.

Geosearch und Geokodierung

Geopunkt-Fragen sind mit der Geosearch-Funktion ausgestattet, d. h., Benutzer können nach Adressen oder Points of Interest suchen, die Karte zoomen und den Geopunkt-Marker an diesem Standort positionieren.

Standardmäßig gibt die Geosearch-Funktion weltweite Ergebnisse zurück, wenn der ArcGIS World Geocoding Service für die Adresssuche verwendet wird.

Hinweis:
Für die Geokodierung mit dem ArcGIS World Geocoding Service werden Credits verbraucht. Weitere Informationen finden Sie unter Informationen zu Credits.

Um einen bestimmten Geocoder, aus dem Ergebnisse zurückgegeben werden sollen, festzulegen, geben Sie die Element-ID dieses Geocoders in der Spalte bind::esri:parameters an, zum Beispiel geocode=36ff9e8c13e042a58cfce4ad87f55d19. Ein Geocoder, der in einem ArcGIS Online-Survey verwendet wird, muss ein Element in ArcGIS Online sein. Ein Geocoder, der in einem ArcGIS Enterprise-Survey verwendet wird, muss ein Element in demselben Portal wie der Survey sein.

Sie können für eine Frage auch festlegen, dass in ihr nur Geokodierung ausgeführt, indem Sie eine Textfrage mit dem Aussehen Geocode hinzufügen. Weitere Informationen finden Sie unter Aussehen "Geocode".

Rückwärts-Geokodierung

Wenn Sie eine Rückwärts-Geokodierung in der mobilen App durchführen möchten, müssen Sie bei geöffneter Geopunkt-Ansicht lange auf die Karte oder die Koordinaten drücken; sie wird allerdings weder gespeichert noch an den Survey gesendet. Der Wert der Rückwärts-Geokodierung kann mit pulldata("@geopoint", ${location}, "reversegeocode") (gibt den Standort als JSON-Objekt zurück) aus dem Geopunkt abgerufen werden. Einzelne Eigenschaften des Objekts können durch Angabe Ihrer Namen extrahiert werden; diese Eigenschaften variieren jedoch je nach verwendetem Locator. Beim ArcGIS World Geocoding Service wird ein JSON-Objekt wie das folgende zurückgegeben:

{
	"address": {
		"Match_addr": "207-361 Flinders St, Melbourne, Victoria, 3000",
		"LongLabel": "207-361 Flinders St, Melbourne, Victoria, 3000, AUS",
		"ShortLabel": "207-361 Flinders St",
		"Addr_type": "StreetAddress",
		"Type": "",
		"PlaceName": "",
		"AddNum": "283",
		"Address": "283 Flinders St",
		"Block": "",
		"Sector": "",
		"Neighborhood": "Melbourne",
		"District": "Melbourne",
		"City": "Melbourne",
		"MetroArea": "",
		"Subregion": "",
		"Region": "Victoria",
		"RegionAbbr": "VIC",
		"Territory": "",
		"Postal": "3000",
		"PostalExt": "",
		"CntryName": "Australia",
		"CountryCode": "AUS"
	},
	"location": {
		"x": 144.96721048751365,
		"y": -37.81768543612741,
		"spatialReference": {
			"wkid": 4326,
			"latestWkid": 4326
		}
	}
}

Um einen bestimmten Wert aus dem JSON-Objekt zu extrahieren, verwenden Sie eine pulldata("@geopoint")-Funktion. Mit der folgenden wird beispielsweise die Eigenschaft Match_addr extrahiert:

pulldata("@geopoint", ${location}, "reversegeocode.address.Match_addr")

Für die Rückwärts-Geokodierung wird jeweils der Standard-Locator-Service Ihrer Organisation verwendet. Wenn Sie einen anderen Locator-Service verwenden möchten, geben Sie den Locator-URL als optionalen Parameter in die Funktion mit dem Format pulldata("@geopoint", ${location}, "reversegeocode", ${locatorURL}) ein. Wenn es sich um einen gesicherten Service handelt oder der Survey für öffentliche Benutzer bestimmt ist, muss ein Proxy-Element konfiguriert werden, in dem Zugriffsberechtigungen gespeichert sind.

Zum Konfigurieren eines Proxy-Geocoder-Elements führen Sie die folgenden Schritte aus:

  1. Melden Sie sich mit einem Konto mit Geokodierungsberechtigungen bei Ihrer ArcGIS-Organisation an.
  2. Navigieren Sie auf der Seite Inhalt zu Element hinzufügen > Von einer URL für ArcGIS Online oder Element hinzufügen > Aus dem Internet für ArcGIS Enterprise, und stellen Sie sicher, dass der Typ ArcGIS-Server-Web-Service ausgewählt ist.
  3. Verwenden Sie die URL für den gewünschten Geocoder, z. B. https://geocode.arcgis.com/arcgis/rest/services/World/GeocodeServer für den ArcGIS World Geocoding Service. Dieser Service wird als gesicherter Service erkannt.
  4. Fügen Sie einen Benutzernamen und ein Kennwort für ein ArcGIS-Konto mit Geokodierungsberechtigungen hinzu.
  5. Wählen Sie Anmeldeinformationen mit Service-Element speichern. Keine Authentifizierung anfordern.
  6. Geben Sie einen Titel und Tags an.
  7. Klicken Sie auf Element hinzufügen.
  8. Geben Sie dieses Online-Locator-Element öffentlich frei.

Weitere Informationen finden Sie unter Anforderungen für das Konfigurieren eigener Locators für ArcGIS Online oder unter Konfigurieren von Utility-Services im Portal für ArcGIS Enterprise.

Wenn eine Locator-URL angegeben ist, können weitere Parameter bereitgestellt werden, die an die URL übergeben werden. Wie die im JSON-Objekt enthaltenen Eigenschaften unterscheiden sich diese Parameter je nach verwendetem Locator-Service. Im folgenden Beispiel wird der Parameter featureTypes verwendet. Er beschränkt den zurückgegebenen Wert auf einen bestimmten Positionstyp, damit nur das nächstgelegene Unternehmen oder die nächstgelegene Landmarke zurückgegeben wird:

pulldata("@geopoint", ${location}, "reversegeocode.address.Match_addr", "https://geocode.arcgis.com/arcgis/rest/services/World/GeocodeServer", "featureTypes=POI")
Tipp:

Wenn für Ihre ArcGIS Enterprise-Bereitstellung standardmäßig der Locator-Service ArcGIS World Geocoding Service verwendet wird oder der ArcGIS World Geocoding Service wie in den obigen Schritten für einen Enterprise-Survey als Locator-URL-Parameter verwendet wird, erhalten Sie bei Ausführung einer Rückwärts-Geokodierung möglicherweise einen Token-Fehler. Um dies zu vermeiden, erstellen Sie ein Proxy-Element, in dem ArcGIS Online-Anmeldeinformationen für einen Benutzer mit Berechtigungen zum Ausführen von Geokodierungen gespeichert sind. Dieses Element kann dann entweder als Standard-Locator-Service für ein Portal oder als Ziel für einen Locator-URL-Parameter bei der Rückwärts-Geokodierung festgelegt werden.

Weitere Informationen zu URL-Parametern für die Rückwärts-Geokodierung, einschließlich einer vollständigen Liste der Parameter, die an die URL übergeben werden können, finden Sie in der ArcGIS REST API-Dokumentation unter reverseGeocode.

Sie können mehrere Rückwärts-Geokodierungsberechnungen ohne Auswirkungen auf die Performance oder Credits aufnehmen. Beispielsweise könnten die folgenden drei Aufrufe einzelner Eigenschaften aufgenommen werden:

pulldata("@geopoint", ${location}, "reversegeocode.address.Match_addr")

pulldata("@geopoint", ${location}, "reversegeocode.address.LongLabel")

pulldata("@geopoint", ${location}, "reversegeocode.address.ShortLabel")

Für die erste Berechnung wird eine Rückwärts-Geokodierung ausgeführt. Dafür werden Credits verbraucht. Anschließend wird die Antwort gecacht und für die beiden anderen Berechnungen herangezogen. Ein neuer Aufruf des Geoservice ist nur erforderlich, wenn die Anforderungs-URL der Rückwärts-Geokodierung geändert wurde, weil sich die Position geändert hat, weil ein anderer Anforderungsparameter verwendet wird oder weil das ursprüngliche Zugriffs-Token abgelaufen ist.

Extrahieren von Geopunkt-Werten

Um eine Geopunkt-Antwort zu dekonstruieren, können Sie mit der Funktion pulldata("@geopoint") die Werte extrahieren, um die Werte anderer Fragen zu füllen. Das folgende Beispiel extrahiert den horizontalen Genauigkeitswert aus einer Geopunkt-Frage:

pulldata("@geopoint", ${location}, "horizontalAccuracy")

Die Verfügbarkeit von Geopunkt-Eigenschaften ist hardwareabhängig. In der folgenden Tabelle werden die Eigenschaften aufgeführt, die aus einem Geopunkt abgerufen werden können:

Name der EigenschaftBeschreibungRaum

x

Längengrad: positiver Wert in der östlichen Hemisphäre, negativer Wert in der westlichen Hemisphäre

Dezimalgrad

y

Breitengrad: positiver Wert in der nördlichen Hemisphäre, negativer Wert in der südlichen Hemisphäre

Dezimalgrad

z

Höhe, Meter über dem Meeresspiegel (Standardeinstellung) oder ellipsoidische Höhe (falls in den Einstellungen der mobilen App ausgewählt)

Meter

horizontalAccuracy

Horizontale Genauigkeit der X- und Y-Koordinaten

Meter

verticalAccuracy

Vertikale Genauigkeit der Z-Koordinate

Meter

speed

Bodengeschwindigkeit

Meter pro Sekunde

verticalSpeed

Vertikale Geschwindigkeit

Meter pro Sekunde

direction

Fahrtrichtung, gemessen von Norden aus im Uhrzeigersinn

Dezimalgrad

positionSourceType

Kategorie der Positionsquelle. Mögliche Ergebnisse: Unknown (0), User (1), System Location (2), External Device (3), Network Device (4) und File (5)

N. z.

positionSourceInfo.antennaHeight

Höhe der Geräteantenne. Die Entfernung von der Antenne zur Bodenoberfläche wird von den Höhenwerten subtrahiert.

Meter

positionSourceInfo.altitudeType

Ausgewählter Höhentyp. Mögliche Ergebnisse sind "Höhe über Meeresspiegel" (0) und "Ellipsoidische Höhe" (1). Dieser ist für alle Arten von Positions-Providern verfügbar.

N. z.

In der folgenden Tabelle werden die zusätzlichen Eigenschaften aufgeführt, die aus einem Geopunkt abgerufen werden können, der mit einem Empfänger mit hoher Genauigkeit erfasst wurde:

Name der EigenschaftBeschreibungRaum

magneticVariation

Winkel zwischen magnetisch Nord und geographisch Nord

Dezimalgrad

fixType

Typ des Positions-Fix der Koordinate. Mögliche Ergebnisse: NoFix (0), GPS (1), DifferentialGPS (2), PrecisePositioningService (3), RTKFixed (4), RTKFloat (5), Estimated (6), Manual (7), Simulator (8) und SBAS (9)

N. z.

positionSourceInfo

Geräteinformationen in Form eines JSON-Objekts. Eignet sich für das Debugging und die Validierung. Einzelne Elemente können auch mit dem vollständigen Elementnamen zurückgegeben werden. Alle verfügbaren Elemente finden Sie in der weiteren Tabelle.

N. z.

positionSourceInfo.pluginName

Name der internen Positionsquelle. Dieser ist nur für den integrierten Positions-Provider des Geräts verfügbar.

N. z.

positionSourceInfo.deviceAddress

Adresse des Geräts. Diese ist nur für externe GNSS-Empfänger verfügbar.

N. z.

positionSourceInfo.deviceName

Name des Geräts. Diese ist nur für externe GNSS-Empfänger verfügbar.

N. z.

positionSourceInfo.deviceType

Typ des externen Geräts. Mögliche Ergebnisse: Unbekannt (-1), Bluetooth (0), Serieller Port (1) und Bluetooth LE (2). Diese ist nur für externe GNSS-Empfänger verfügbar.

N. z.

positionSourceInfo.networkName

Name der Netzwerkpositionsquelle. Diese ist nur Netzwerkstandort-Provider verfügbar.

N. z.

positionSourceInfo.networkAddress

Adresse der Netzwerkpositionsquelle. Diese ist nur Netzwerkstandort-Provider verfügbar.

N. z.

positionSourceInfo.networkPort

Port der Netzwerkpositionsquelle. Diese ist nur Netzwerkstandort-Provider verfügbar.

N. z.

positionSourceInfo.geoidSeparationCustom

Unterschied zwischen dem WGS84-Erdellipsoid und Normalhöhennull entsprechend der vom Benutzer angegebenen Definition in den App-Einstellungen

Meter

geoidSeparation

Der Unterschied zwischen dem WGS84-Erdellipsoid und Normalhöhennull entsprechend der Meldung des GNSS-Empfängers. Wird manchmal als orthometrische Höhe bezeichnet.

Meter

accuracyType

Genauigkeitstyp, der von den Eigenschaften "horizontalAccuracy" und "verticalAccuracy" gemeldet wird. Mögliche Ergebnisse: RMS (0) und DOP (1). RMS bezieht sich auf die Genauigkeit im quadratischen Mittel (Root Mean Square). Dies wird basierend auf einem Konfidenzintervall von 68 Prozent für Breitengrad-, Längengrad- und Höhenfehler berechnet, die vom Empfänger im GST-Satz erfasst wurden. Wenn der Empfänger GST nicht unterstützt, wird stattdessen DOP verwendet. DOP bezeichnet die Genauigkeit auf Grundlage der Genauigkeitsverschlechterung (Dilution of Precision). Dabei wird ein konstanter Wert für User Equivalent Range Error (UERE) verwendet, um die horizontale und vertikale Genauigkeit zu schätzen.

N. z.

positionAccuracy

Mean Radial Spherical Error. Umfasst horizontale und vertikale Fehler.

Meter

latitudeError

Wert der Standardabweichung 1-sigma für den Breitengrad. Diese Eigenschaft wird nur gefüllt, wenn das Positionierungsgerät GST-Sätze in NMEA-Datenströmen unterstützt.

Meter

longitudeError

Wert der Standardabweichung 1-sigma für den Längengrad. Diese Eigenschaft wird nur gefüllt, wenn das Positionierungsgerät GST-Sätze in NMEA-Datenströmen unterstützt.

Meter

altitudeError

Wert der Standardabweichung 1-sigma für die Höhe. Diese Eigenschaft wird nur gefüllt, wenn das Positionierungsgerät GST-Sätze in NMEA-Datenströmen unterstützt.

Meter

hdop

Die horizontale Genauigkeitsverschlechterung (Horizontal Dilution of Precision, HDOP) der Positionsdaten

N. z.

vdop

Die vertikale Genauigkeitsverschlechterung (Vertical Dilution of Precision, VDOP) der Positionsdaten

N. z.

pdop

Die Genauigkeitsverschlechterung der Position (Positional Dilution of Precision, PDOP) der Positionsdaten Die Gleichung zur Bestimmung von PDOP lautet PDOP^2 = HDOP^2 + VDOP^2.

N. z.

differentialAge

Das Alter des differentiellen Signals und der differentiellen Korrektur, das vom GPS-Empfänger zur differentiellen Korrektur der Position verwendet wird.

Sekunden

referenceStationId

Die ID der differentiellen Referenzstation (DSID) für die vom GPS-Empfänger verwendete Station

N. z.

satellitesVisible

Die Anzahl an Positionierungssatelliten, die zum Zeitpunkt der Positionserfassung sichtbar sind.

N. z.

satellitesInUse

Die Anzahl von Positionierungssatelliten, die zum Zurückgeben der Positionsdaten verwendet werden.

N. z.

Koordinatenformat

Mit der Funktion pulldata("@geopoint") können auch Geopunkt-Werte extrahiert und in zusätzliche Koordinatenformate überführt werden:

  • pulldata("@geopoint", ${location}, "DMS") gibt den Geopunkt in Grad, Minuten und Sekunden zurück. Dieser wird in Form eines JSON-Objekts zurückgegeben.
    {
    	"latitudeDegrees": 39,
    	"latitudeHemisphere": "N",
    	"latitudeMinutes": 57,
    	"latitudeSeconds": 36.3,
    	"latitudeText": "39°57'36.3\"N",
    	"longitudeDegrees": 116,
    	"longitudeHemisphere": "E",
    	"longitudeMinutes": 27,
    	"longitudeSeconds": 4,
    	"longitudeText": "116°27'04.0\"E",
    	"text": "39°57'36\"N 116°27'4\"E"
    }
    Die einzelnen Werte können mit zusätzlichen Parametern extrahiert werden. pulldata("@geopoint", ${location}, "DMS.latitudeMinutes") gibt beispielsweise nur den Breitengradwert in Minuten zurück.
  • pulldata("@geopoint", ${location}, "DDM") gibt den Geopunkt in Grad, Minuten und Sekunden zurück und pulldata("@geopoint", ${location}, "DD") gibt den Geopunkt in Dezimalgrad zurück. Sie werden ebenfalls als JSON-Objekte zurückgegeben und können einzelne Werte aufweisen, die mit zusätzlichen Parametern genauso extrahiert werden wie das oben genannte Format in Grad, Minuten und Sekunden.

Die folgenden Koordinatenformate können mit einem optionalen Genauigkeitsparameter verwendet werden. Dadurch entsteht ein Dezimalwert, der einer Zehnerpotenz entspricht, z. B. 0,01, 0,1, 1, 10 oder 100.

  • pulldata("@geopoint", ${location}, "MGRS") gibt den Geopunkt als MGRS-Gitternetzwert (Military Grid Reference System) mit einer Genauigkeit von einem Meter zurück. Sie können die Genauigkeit optional durch Angabe des Genauigkeitsparameters ändern. pulldata("@geopoint", ${location}, "MGRS", 100) gibt zum Beispiel einen Gitternetzwert mit einer Genauigkeit von 100 Metern zurück.
  • pulldata("@geopoint", ${location}, "USNG") gibt den Geopunkt als USNG-Gitternetzwert (United States National Grid) mit einer Genauigkeit von einem Meter zurück.
  • pulldata("@geopoint", ${location}, "UTM") gibt den Geopunkt als UTM-Koordinaten (Universal Transverse Mercator) mit einer Genauigkeit von 1 Meter zurück. Dieser wird in Form eines JSON-Objekts zurückgegeben.
    {
    	"band": "S",
    	"easting": 452994,
    	"northing": 4423429,
    	"text": "50S 452994E 4423429N",
    	"type": "UTM",
    	"zone": 50
    }
    Die einzelnen Werte können mit zusätzlichen Parametern extrahiert werden. pulldata("@geopoint", ${location}, "UTM.easting", 0.01) gibt beispielsweise nur den Ostwert mit einer Genauigkeit von 1 Zentimeter zurück.

Geopunkt-Symbolisierung

In einer Geopunkt-Frage kann ein benutzerdefiniertes Symbol für den Punktmarker angezeigt werden, indem in der Spalte body::esri:style eines Survey der Parameter symbol verwendet wird. Der Parameter muss den Dateinamen des benutzerdefinierten Symbols enthalten. Dabei muss es sich um eine .png-Datei im Ordner "media" des Survey handeln. Beispiel:

symbol=hydrant.png

Der Parameter symbol akzeptiert optionale Parameter zum Konfigurieren der Darstellung des Symbols auf der Karte. Trennen Sie diese Parameter vom Dateinamen durch ein Fragezeichen und voneinander durch kaufmännische Und-Zeichen (&). Beispiel: Der Parameter symbol kann wie folgt mit den Eigenschaften x, y und scale versehen werden:

symbol=hydrant.png?x=0.2&y=0.7&scale=2

  • Durch den Parameter x wird der horizontale Ankerpunkt des Symbols angegeben. Er akzeptiert Werte zwischen 0 (linke Bildkante) und 1 (rechte Bildkante). Sollte nichts angegeben sein, lautet der Standardwert 0,5.
  • Durch den Parameter y wird der vertikale Ankerpunkt des Symbols angegeben. Er akzeptiert Werte zwischen 0 (obere Bildkante) und 1 (untere Bildkante). Sollte nichts angegeben sein, lautet der Standardwert 1.
  • Durch den Parameter scale wird der Anzeigemaßstab des Bildes angegeben. Bei Werten unter 1 wird das Bild verkleinert, bei Werten über 1 wird das Bild vergrößert.
Symbolstil für Geopunkt

Der angegebene Wert kann eine Konstante oder ein Verweis auf eine Frage sein, z. B.: symbol=${symbol_question}. Inline-Ausdrücke werden nicht unterstützt.

Punkt-Überlagerungen auf Karten

Punktpositionen aus der ersten Geopunkt-Frage in einer Wiederholung können auf jeder beliebigen Kartenfrage in einem Survey angezeigt werden, indem Sie die Spalte body::esri:style für eine Geopunkt-, Geotrace- oder Geoshape-Frage auf overlay=repeat_name festlegen. Alle Punkte, die für die erste Geopunkt-Frage in dieser Wiederholung erfasst wurden, werden auf der Karte angezeigt. Zum Anpassen der Überlagerungssymbolisierung können weitere Parameter verwendet werden.

Folgende optionale Parameter werden von dem Überlagerungsstil unterstützt und können mit einem kaufmännischen Und-Zeichen (&) getrennt werden, z. B.: overlay=repeat_name&preview=true.

ParameterBeschreibungBeispiel

view

Zeigt Überlagerungspunkte auf der Kartenfrage an. Der Standardwert ist "true".

view=false

preview

Zeigt Überlagerungspunkte auf der Vorschaukarte an. Der Standardwert ist "false".

preview=true

icon

Der Name des Punktsymbols für Kartenpins. Überprüfen Sie die verfügbaren Symbole in der Bibliothek der Punktsymbole in der ArcGIS Developer-Dokumentation.

icon=esri_pin_two

iconColor

Symbolfarbe für Kartenpins. Dieser Parameter akzeptiert entweder einen Standardfarbnamen oder einen Farb-Hexadezimalwert. Der Standardwert ist Schwarz.

iconColor=Blue

iconOutlineColor

Umrissfarbe für Kartenpins. Dieser Parameter akzeptiert entweder einen Standardfarbnamen oder einen Farb-Hexadezimalwert. Der Standardwert ist Weiß.

iconOutlineColor=#FF4500

iconSize

Die Größe des Symbols, so wie es auf der Karte dargestellt wird. Der Standardwert ist 30.

iconSize=40

label

Der Name der Survey-Frage zur Verwendung als Beschriftung.

label=question_name

labelColor

Die Farbe der Beschriftung eines Punktes. Dieser Parameter akzeptiert entweder einen Standardfarbnamen oder einen Farb-Hexadezimalwert. Der Standardwert ist Schwarz.

labelColor=#FFD700

labelOutlineColor

Die Umrissfarbe der Beschriftung. Dieser Parameter akzeptiert entweder einen Standardfarbnamen oder einen Farb-Hexadezimalwert. Der Standardwert ist Weiß.

labelOutlineColor=Black

fontSize

Die Schriftgröße der Beschriftung eines Punktes. Der Standardwert ist 13.

fontSize=16

Fragen-Style

Sie können die Grundkarte, Kartenwerkzeuge und Fragenhöhe für Kartenfragen konfigurieren.

Mit dem Parameter map in der Spalte body::esri:style lässt sich eine Standardgrundkarte für einzelne Kartenfragen festlegen. Die Einstellung map="World Topography" etwa legt fest, dass für die Kartenfrage die Grundkarte "Weltweite Topographie" verwendet wird. Sie können auch den Parameter map unter Verwendung der Element-ID der Karte festlegen, beispielsweise map=de26a3cf4cc9451298ea173c4b324736. Dieser Parameter bietet Unterstützung für Online- und Offline-Karten einschließlich eigener Webkarten. Weitere Informationen finden Sie unter Einbinden einer Karte in einen Survey.

In der Spalte body::esri:style kann zur Steuerung der für Kartenfragen verfügbaren Kartenwerkzeuge der Parameter mapTools angegeben werden. Wenn kein Parameter für Kartenwerkzeuge festgelegt wird, werden alle Werkzeuge angezeigt. Folgende Werte werden akzeptiert:

  • mapTools=search
  • mapTools=mapSwitcher
  • mapTools=zoom
  • mapTools=home
  • mapTools=locate

Es können mehrere Werkzeuge festgelegt werden, indem die einzelnen Werte durch ein Komma getrennt werden. Beispiel: mapTools=search,locate.

In der Spalte body::esri:style kann für Kartenfragen der Parameter height angegeben werden.

Sie können den Höhenwert für eine Frage durch eine Zahl und optional eine Einheit für den Parameter height angeben. Die Standardeinheit lautet lines und bezieht sich auf die Höhe der aktuellen Eingabeschriftart. Die Angabe von height=5 etwa führt dazu, dass alle Fragen mit einer Höhe von 5 Zeilen angezeigt werden.

Sie können alternativ einen Prozentsatz der Bildschirmhöhe oder eine Anzahl von Pixeln als Einheit festlegen, indem Sie diese direkt ohne Leerzeichen als Suffix an den Wert anhängen. U. a. werden die folgenden Werte akzeptiert:

  • height=5
  • height=5lines
  • height=25%
  • height=250pixels

Höhen- und Kartenwerkzeuge können durch ein Leerzeichen getrennt angegeben werden. Beispiel: height=25% mapTools=search,zoom.

Hinweis:
Die Einstellung der Höhe und Kartenwerkzeuge von Fragen wird in der Survey123-Web-App nicht unterstützt.