Med omvänd geokodning kan andra spatiala objekt automatiskt kopplas till relateras och kopplas till det objekt som redigeras. Exempelvis närmaste adress, fastighet, säljområde eller annat inom eller utom organisationen.
Vid omvänd geokodning används den geografiska mittpunkten (centroiden) av objektet som redigeras för att analysera om det finns andra objekt som kan relateras. Valda attribut från det andra objektet kopieras och fylls i rätt fält per automatik.
Enbart ett objekt kan relateras. Om måltabellen är ett punktlager relateras den närmsta punkten till centroiden av det objektet som redigeras. Är målet ett polygonlager med överlappningar väljs det första objektet som hittas utan någon sortering.
Namespace
urn:se.viamap.weave.spatial.edit.reversegeocode#1.0
...
Namn | Typ | Krävs | Multiplicitet | Beskrivning |
---|---|---|---|---|
id | string | ja | 1…1 | Unikt id |
edit | string | nej | 0…10…n | Referens till spatial edit konfiguration. Kan lämnas blankt och användas i annan konfiguration |
edittype | string | nej | 1…1 | Kommaseparerad när omvända geokodningen ska appliceras. Giltiga värden är c, u, d (create, update, delete). Standardvärde är “c,u“ |
spatialEngine | string | ja | 1…1 | Referens till Spatial Engine där den omvända geokodningen ska appliceras |
typeName | string | ja | 1…1 | Tabell i Spatial Engine |
buffer | integer | nej | 0…1 | Lägg till buffer som för att öka sökområdet. Kan behövas om målet är ett punktlager. Vid flera träffas väljs den närmsta |
bufferCrs | string | nej | 0…1 | Koordinatreferenssystem som ska användas för att beräkna buffert. Exempelvis enhet för målet är geografiska koordinater (WGS84) . |
filter | string | nej | 0…n | CQL som appliceras på målet. |
parameter | ref: parameter | ja | 1…n | Koppla referens till parameter i spatial edit med kolumn i måltabell i Spatial Engine. |
condition | ref: condition | nej | 1…1 | Definiera logisk villkor för att omvända geokodningen kan genomföras |
...
Definiera logisk villkor för att omvända geokodningen kan genomföras
Sub-tags
filter
Definiera ett villkor med CQL-filter mot de attributvärden som redigeras. Även användarattribut kan användas för filtrering.
Exempel
Code Block | ||
---|---|---|
| ||
<and>
<!-- Enbart användare som tillhör kund 'abc123' möter villkoret -->
<filter>${user.tenantId} = abc123</filter>
<!-- Status-fältet måste vara 1 eller 2 -->
<filter>status IN (1,2)</filter>
</and> |
and
Definiera flera villkor där alla måste uppfyllas för att gå vidare
Exempel
Code Block | ||
---|---|---|
| ||
<and> <valueequal> <parameter>status</parameter> <value>1</value> </valueequal> <valueequal> <parameter>status</parameter> <value>2</value> </valueequal> </and> |
...
Definiera flera villkor där minst ett måste uppfyllas för att gå vidare
Exempel
Code Block | ||
---|---|---|
| ||
<or> <valueequal> <parameter>status</parameter> <value>1</value> </valueequal> <valueequal> <parameter>status</parameter> <value>2</value> </valueequal> </or> |
...
Namn | Typ | Krävs | Multiplicitet | Beskrivning |
---|---|---|---|---|
key | string | ja | 1…1 | Nyckel för användarattribut |
value | string | ja | 1…1 | Värde |
Exempel
Code Block | ||
---|---|---|
| ||
<userattribute> <key>status</key> <value>1</value> </userattribute> |
...
Namn | Typ | Krävs | Multiplicitet | Beskrivning |
---|---|---|---|---|
parameter | string | ja | 1…1 | ID för parameter i Spatial Edit |
value | string | ja | 1…1 | Värde |
Exempel
Code Block | ||
---|---|---|
| ||
<valueequal> <parameter>status</parameter> <value>1</value> </valueequal> |
...
Namn | Typ | Krävs | Multiplicitet | Beskrivning |
---|---|---|---|---|
parameter | string | ja | 1…1 | ID för parameter i Spatial Edit |
value | string | ja | 1…1 | Värde |
Exempel
Code Block | ||
---|---|---|
| ||
<valueequal> <parameter>status</parameter> <value>1</value> </valueequal> |
Exempel
Code Block | ||||
---|---|---|---|---|
| ||||
<?xml version="1.0" encoding="UTF-8"?> <config xmlns="urn:com.cohga.server.config#1.0" xmlns:edit="urn:com.cohga.spatial.edit#1.0" xmlns:rgcedit="urn:se.viamap.weave.spatial.edit.reversegeocode#1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <!-- Enkel mappning --> <rgcedit:spatial id="rgc.mobile_substation.property"> <edit>edit.mobile_substation</edit> <edittype>c,u</edittype> <spatialEngine>gis</spatialEngine> <typeName>property</typeName> <parameter> <parameter>property_id</parameter> <column>object_id</column> </parameter> <parameter> <parameter>property_designation</parameter> <column>property_designation</column> </parameter> </rgcedit:spatial> <!-- Avancerad mappning med filter, buffer och logiskt villkor --> <rgcedit:spatial id="rgc.mobile_substation.address"> <edit>edit.mobile_substation</edit> <spatialEngine>electricity</spatialEngine> <typeName>mobile_substation</typeName> <!-- Buffer 100 meter --> <buffer>100</buffer> <!-- Spacificera crs for buffert. T.ex.: crs för spatial källa är WGS 84 --> <bufferCrs>EPSG:3857</bufferCrs> <!-- Apply filter(s) on spatial source --> <filter><![CDATA[address_status <> 'planned']]></filter> <!-- Kör enbart om villkoren uppfylls --> <!-- T.ex. parameter status måste vara antingen 1 eller 2 --> <condition> <or> <valueequal> <parameter>status</parameter> <value>1</value> </valueequal> <valueequal> <parameter>status</parameter> <value>2</value> </valueequal> </or><filter>status IN (1,2)</filter> </condition> <!-- Mappa mål-parameter i spatial edit med kolumn i spatial källa --> <parameter> <parameter>address_id</parameter> <column>entity_id</column> </parameter> <parameter> <parameter>postal_address</parameter> <column>${address_area} ${address_place_number}${address_place_number_letter}</column> </parameter> <parameter> <parameter>postal_number</parameter> <column>postalnumber</column> </parameter> <parameter> <parameter>postal_area</parameter> <column>area</column> </parameter> </rgcedit:spatial> </config> |
...