EsriFeatureService

Ermöglicht den Zugriff auf ArcGIS REST API FeatureServices .

Abfragen mittels GeoSQL sind möglich.

Beim Laden einer solchen Ebene wird intern pro Feature ein eigener Layer zurückgegeben. Der Layername setzt sich dabei aus dem angegeben für diese Ebene und dem Feature Typename wie vom Dienst angegeben zusammen. Als Trennzeichen zwischen Layername und Featurename wird ein Punkt verwendet.

Argumente

Typname: EsriFeatureService

  • url: Die Endpunkt Url zu dem Dienst, alle OGC Parameter werden intern automatisch angefügt, unbekannte Parameter und Version werden beibehalten

  • serverUser (""): optionaler Benutzername für die Anmeldung am Dienst

  • serverPwd (""): wenn serverUser angegeben ist, dann muss ein Kennwort übergeben werden, leere Kennwörter sind nicht zulässig

  • proxyUri (""): optionale Url zu einem Http-Proxyserver z.B. http://proxy:8888

  • proxyUser(""): optionaler Benutzername für die Anmeldung am proxyUri

  • proxyPwd(""): wenn proxyUser angegeben ist, dann muss ein Kennwort übergeben werden, leere Kennwörter sind nicht zulässig

  • proxyBypassList (null): optionale Bypass-Liste, wenn ein Proxyserver eingestellt ist (bei WFS vor allem für Trennung der XSD Zugriffe relevant)

  • timeoutMilliseconds (30000): Http-Timeout für die Zugriffe auf den Dienst

  • useDefaultProxy (false): Standard-Proxy des Betriebssystems verwenden

  • chunkRecordCount() : Hiermit kann das featureCount Limit des Dienstes unterschritten werden, dies ist der Wert der pro Request abgeforderten Daten, 0 nimmt die Einstellungen, wie der Dienst dies definiert. Normalerweise sollte Sie diesen Wert nicht angegeben.

  • style|cssFile: hier immer vom Typ Vektor CSS.

    Beachten Sie: Wenn Klassifikationen im GeoCss enthalten sind, dann muss die Abfrage Optimierung z.Z. deaktiviert werden, Bsp.:

    single-choice {  
       settings {
         allow-query-optimization:false;
       }
    }
    

Sonderform:

Neben EsriFeatureService gibt es noch die Quelle EsriFeatureServiceOneFeature. Diese entspricht exakt dem EsriFeatureService Typ, mit der Ausnahme, dass hier immer genau ein Featuretyp die Quelle bildet. Der Layername entspricht dem angeforderten, die Generierung von Sublayern etc. erfolgt dabei nicht.

Typname: EsriFeatureServiceOneFeature

  • featureTypeName: der Feature-Typename (evtl. vorhandenes Prefix wird ignoriert) dieser Ebene. Dabei kann es sich um die LayerId oder den Namen handeln.

Die Argumente serverPwd und proxyPwd können auch verschlüsselt angegeben werden.

Beispiel

{
"F0": {
   "type": "EsriFeatureService",
   "url":"https://geoportal.umwelt.sachsen.de/arcgis/rest/services/basis/adressen/FeatureServer"
  }
}
{
"Adr": {
   "type":"EsriFeatureServiceOneFeature",
   "url":"https://geoportal.umwelt.sachsen.de/arcgis/rest/services/basis/adressen/FeatureServer",
   "featureTypeName":"Adressen"
  }
}

Implementierungsdetail

Der Datenabfruf erfolgt in einem Stream, d.h. die Daten werden bei Ankunft direkt verarbeitet. Der Speicherverbrauch ist damit sehr gering und die Aktion kann jederzeit abgebrochen werden.

Beachten Sie, dass ProxyServer u.U. die Anfragen puffern können.

Die Abfragen basieren auf der Query-Operation, entsprechend der [ESRI Dokumentation]https://developers.arcgis.com/rest/services-reference/query-feature-service-layer-.htm).

Entsprechend gibt es bzgl. der Abfrage eine Menge Einschränkungen, unter Verwendung von GeoSQL können diese umgangen werden.

Die Geometriespalte bekommt immer den Alias Namen "GEOM".

Die MinScale/MaxScale Werte der Ebene werden übernommen, sofern nicht andere bei der Ebenendefinition angegeben wurden.

Einschränkungen

  • "Drawing Info" werden z.Z. nicht ausgewertet
  • der Dienst muss "pagination" anbieten.
  • Z.Z. unterstützen wir nur das Format "JSON""
  • Geometrietyp muss einer der Werte esriGeometryPolyline, esriGeometryMultipoint, esriGeometryPoint oder esriGeometryPolygon sein.
  • Die Auswertung der internen Filter ist noch nicht komplett

Zuletzt geändert: 03.12.2021 18:41:07 (erstmals erstellt 14.02.2020)