Räumliche Auswahl

Mithilfe der räumlichen Auswahl (auch Selektion genannt) und dem Result Center können Informationen zu Kartenobjekten abgefragt und angezeigt werden. Im Gegensatz zu Popups können die Informationen nicht nur zu Objekten an einem bestimmten Ort abgefragt werden, sondern auch für Objekte in einem größeren Bereich, der z.B. durch das Zeichnen eines Rechtecks festgelegt werden kann.

result ui

Datenquellen

Benötigtes Bundle: agssearch

Als Datenquellen können ArcGIS Map- oder Feature-Layer genutzt werden, die die Operation Query unterstützen.

Automatische Registrierung

Wenn die automatische Registrierung aktiv ist und der Parameter useIn den Wert selection enthält, werden alle in der Karte sichtbaren ArcGIS Map- und Feature-Layer für die räumliche Auswahl verwendet.

Der Titel des Layers und die Namen der Attribute werden vom Dienst übernommen und zur Anzeige in der Oberfläche verwendet.

{
    "agssearch": {
        "AutoStoreRegistration": {
            "componentEnabled": true,
            "useIn": [
                "search",
                "selection"
            ]
        }
    }
}

Manuelle Registrierung

Mit folgender Konfiguration können Layer, die in der Karte verwendet werden, für die räumliche Auswahl registriert werden:

Konfiguration mit Verknüpfung zu einem Kartenlayer
{
    "agssearch": {
        "AGSStore": [
            {
                "id": "store01",
                "title": "Gemeinden in Deutschland (MapServer Layer)",
                "layerId": "grenzen/0",
                "useIn": [
                    "selection"
                ]
            },
            {
                "id": "store02",
                "title": "Gemeinden in Deutschland (Feature Layer)",
                "layerId": "gemeindelayer",
                "useIn": [
                    "selection"
                ]
            }
        ]
    },
    "map-init": {
        "Config": {
            "map": {
                "layers": [
                    {
                        "id": "grenzen",
                        "type": "AGS_DYNAMIC",
                        "url": "https://services.conterra.de/arcgis/rest/services/common/grenzen/MapServer",
                        "sublayers": [
                            {
                                "id": 0,
                                "title": "Gemeinden"
                            }
                        ]
                    },
                    {
                        "id": "gemeindelayer",
                        "url": "https://services.conterra.de/arcgis/rest/services/common/grenzen/FeatureServer/0",
                        "type": "AGS_FEATURE"
                    }
                ]
            }
        }
    }
}

Alternativ kann die URL eines Layers unabhängig von der Referenz auf eine Karten-Konfiguration definiert werden:

Konfiguration mit URL zu einem Dienst
{
    "agssearch": {
        "AGSStore": [
            {
                "id": "store01",
                "title": "Gemeinden in Deutschland",
                "url": "https://services.conterra.de/arcgis/rest/services/common/grenzen/MapServer/0",
                "useIn": [
                    "selection"
                ]
            }
        ]
    }
}

Werkzeuge zur räumlichen Auswahl

Standard-Werkzeug

Benötigte Bundles: selection-ui, result-ui

Um das Standard-Werkzeug zur Auswahl von Objekten aus einem oder mehreren Layern zu einer App hinzuzufügen, muss das Werkzeug mit der ID selection-ui-tool zu einem Toolset hinzugefügt werden.

Datenquellen, die über die automatische Registrierung oder eine Verknüpfung zu einem Kartenlayer definiert wurden, werden ausgeblendet, wenn der entsprechende Kartenlayer ausgeschaltet wird. Datenquellen, die über eine URL definiert wurden, sind immer nutzbar.

Durch das Zeichnen eines Punkts, eines Rechtecks oder eines Polygons in der Karte, wird eine räumliche Auswahl auf den Objekten aller ausgewählten Datenquellen gestartet. Alle getroffenen Objekte werden nach der Auswahl im Result Center dargestellt und in der Karte hervorgehoben.

Weitere Informationen dazu, wie die Hervorhebung von Objekten in der Karte angepasst werden kann, können der Bundle-Dokumentation entnommen werden.

selection

Um das Verhalten des oben vorgestellten Werkzeugs anzupassen, verwenden Sie die folgende Konfiguration:

preselectSources

Legt fest, ob die zur Verfügung stehenden Datenquellen beim Öffnen des Fensters ausgewählt werden.

Erlaubte Werte:

all

wählt alle Datenquellen aus

none

wählt keine Datenquelle aus

disabled

erlaubt das Öffnen und Schließen des Fensters, ohne dass die getroffene Auswahl verändert wird.

Standardwert: all

activateSelectionMethod

Legt fest, ob die erste Auswahlmethode beim Öffnen des Fensters aktiviert wird.

Erlaubte Werte: true, false
Standardwert: true

closeOnSelection

Legt fest, ob das Fenster nach einer Auswahl geschlossen wird.

Erlaubte Werte: true, false
Standardwert: true

selectionMethods

Legt fest, welche Auswahlmethoden angeboten werden.

Erlaubte Werte: rectangle, point, polygon.
Standardwert: ["*"]

Beispielkonfiguration
{
    "selection-ui": {
        "Config": {
            "preselectSources": "all",
            "activateSelectionMethod": true,
            "closeOnSelection": true,
            "selectionMethods": [
                "*"
            ]
        }
    }
}
Weitere Informationen zur Konfiguration können der Bundle-Dokumentation entnommen werden.

Werkzeuge für einzelne Layer

Benötigte Bundles: selection-tools, result-ui

Das Bundle selection-tools erlaubt das Konfigurieren dedizierter Auswahlwerkzeuge, bei denen eine Datenquelle direkt mit einem Geometriewerkzeug verbunden ist.

{
    "selection-tools": {
        "Config": {
            "tools": [
                {
                    "id": "selectCountries",
                    "selectionMethod": "point",
                    "selectionOptions": {
                        "clickTolerance": 10
                    },
                    "sourceId": "countries",
                    "iconClass": "icon-map-selection"
                }
            ]
        }
    }
}
Weitere Informationen zur Konfiguration können der Bundle-Dokumentation entnommen werden.