Produkt: GEOSECMA for ArcGIS Område: Webb
Modul: LVDB
Skapad för Version: 10.4.1 Uppdaterad: 2021-07-22
LVDB i GEOSECMA
Importer och publicering av NVDB-data i LVDB-modulen
Innehåll
LVDB i GEOSECMA ... 1
1. Inledning ... 3
2. Hämta XML från NVDB... 3
3. Full LVDB-import ... 5
4. Inkrementell LVDB-import ... 6
5. Publicera till filbaserad geodatabas ... 10
6. Loggar och felkontroll ... 11
1. Inledning
Denna guide beskriver hur man gör för att manuellt eller automatiskt få hem data från
Trafikverkets NVDB (Nationella vägdatabas) till GEOSECMA LVDB (Lokala vägdatabas) i databasen sde_geostreet.
De som använder GEOSECMA Trafikmodul behöver även hålla en filgeodatabas uppdaterad av data som ursprungar från LVDB, så detta finns också beskrivet i guiden.
Efter en full eller inkremtentell import till LVDB är gjord så uppdatera platsuppslagningsdatabasen i:
GEOSECMA Manager → Moduler → Platsuppslagning → Importera → Synkronisera (LVDB)
2. Hämta XML från NVDB
Nedan guide finns även som film på vår hemsida.
Logga in på:
https:nvdb.trafikverket.se/nvdb/index.htm.
Om man saknar inloggningsuppgifter så kontaktar man Trafikverkets NVDB-tjänst.
Väl inne i NVDB:s webbapplikation, klicka på Beställ/leverera filer.
Sida 1:
• Typ av beställning: Fil – Allt
Sida 2:
• Filnamn: Döp gärna om
filnamnet så det innehåller dagens datum.
• Filformat: XML (Linjära lägen)
• XML-Version: 3.2
• Företeelsetyper: Välj alla giltliga genom att klicka på knappen: > >
De som blir kvar är avslutade företeelsetyper och ska inte komma med.
• Område: Välj er kommun
(eller kranskommuner om det är avsikten).
• Koordinatsystem: Välj det koordinatsystem som gäller i detta fall.
”Betrakta” är den typ som ska vara vald.
Klicka sedan på beställ.
På beställningskvittensen finns det en länk längst ner som tar en vidare till där man kan hämta filerna. För en snabbare nedladdning kan man trycka på zip-knappen innan man laddar ner filen.
Det som laddas ner är en .XML-fil. Denna brukar man lägga på ArcGIS-servern i exempelvis C:\arcgisdata\LVDB. Normalt är katalogen arcgisdata utdelad i nätverket.
Något att observera är om filen som är levererad har en filstorlek som är 0, då innebär det att leveransen inte har gått igenom. Anledningen till detta är att trafikverket har en limitering i deras miljö där dom enbart kan leverera filer på 1GB / 1024MB
Om detta händer så behöver ni dela upp leveransen/hämtningen av filerna.
Det man vanligtvis gör är att man tar vägnätet i en beställning, då denna inte går att dela upp.
Nästa beställningar man gör är svåra att specificera exakt hur man ska göra då detta skiljer sig mycket från kommun till kommun, då olika kommuner har olika stor mängd data. Men det man gör är att man delar upp företeelserna i flera leveranser. Detta gör du genom att välja
eller ta bort företeelse i frönstret ”Valda” genom att markera dom och använda pilarna:
Antalet företeelse som du kan/ska inkludera per leverans är tyvärr omöjligt att säga, då detta som sagt skiljer sig från kommun till kommun och mängden data som dom har. Ibland räcker det att dela upp leveransen i 50/50 och ibland måste man göra det i 3-4 omgångar. Man får alltså testa sig fram, alternativt kontakta trafikverket för att se om dom kan hjälpa till att leverera filerna på något annat sätt.
3. Full LVDB-import
Se till att XML-filerna från Trafikverket finns tillgänglig i rätt katalog.
Filerna kan även ligga i katalogen i zip-format. Den mindre filen i exemplet som heter DK på slutet heter så för att det är den tillhörande DataKatalogen. Den Innehåller beskrivningen på datastrukturen som den stora filen har, bl.a vilka företeelsetyper som finns.
Gå sedan in i: GEOSECMA Manager → Moduler → LVDB → Importera → Utför initial imort
Tryck på Starta ny import.
Skriv in sökvägen till den utdelade katalog där XML-filen ligger. Tryck Lägg till för att bekräfta sökvägen.
När man gjort det visas den valda sökvägen på en ny rad.
Tryck Kör import.
4. Inkrementell LVDB-import
För att den Inkrementella importen ska fungera måste en del inställningar vara gjorda. Man kan inte heller starta en inkrementell import via GEOSECMA Manager Det görs istället via en schemaläggning på applikationsservern. Man måste också på förhand kontaktat
Trafikverket för att dels aktivera möjligheten att hämta inkrementella uppdateringar, dels för att få inloggningsuppgifter mm.
NVDB inställningar
Se till att det är rätt konfigurerat på följande två platser i GEOSECMA Manager:
GEOSECMA Manager → Moduler → LVDB → NVDB inställningar
GEOSECMA Manager → Moduler → LVDB → Inkrementella importinställningar Man behöver ha fått uppgifter från Trafikverket för att kunna fylla i uppgifterna. Är man tveksam på vilken information som ska fyllas i vilket fält så använd hjälpen på den specifika sidan
Knappen är högst uppe till höger på sidan och ser ut så här:
Schemaläggning i GEOSECMA Manager
Se till att det finns planer definierad som ni vill tilldela uppgifter. En som startar en
Inkrementell LVDB-import och om GEOSECMA Trafik används i organisationen, även en som publicerar gatutata till en filbaserad geodatabas.
GEOSECMA Manager → Schemaläggare → Konfigurera planer
Tryck på ”Lägg till schemalagd plan” och skapa upp två stycken planer, LVDB_inkr (Inkrementell LVDB-import) samt LVDB_FGDB (Publicera gatudata till en filbaserad geodatabas) och konfigurera dom med nedan uppgifter genom att expandera planen på den blåa pilen:
Schema LVDB_inkr: ”Kör inkrementell import för ”Gata” databas”
Schema LVDB_FGDB: ”Publicera LVDB databas ”Gata redigering” till konfigurerad symbologimapp”
Uppgifterna som definierats kan endast startas av programmet som går att ladda ner på sidan konfigurera planer. En kopia av programmet finns normalt redan på applikationsservern. På applikationsservern används Windows inbyggda schemaläggare för att starta programmet de tider man önskar.
Schemaläggning på Applikationsservern
Har man inte möjlighet eller inte är bekväm med nedan steg,
be IT om hjälp eller boka projektstöd från S-GROUP Solutions.
Anslut till applikationsservern med ”Anslutning till fjärrskrivbord”.
På enheten där GEOSECMA är installerat, se till att följande katalog finns: D:\Scheduler Skapa där en ny kommandofil (.cmd) och lägg till följande innehåll i den (det går att kopiera nedan):
Observera att nedanstående förutsätter att GEOSECMA har installerats på enhet D och ArcGIS på enhet C. Nedanstående utför både inkrementell import och publicering av filbaserad databas.
@echo off cls
rem
rem Execute incremental import to sde_geostreet rem
rem Change server to match your environment (the ArcGIS Server where GEOSECMA is installed)
rem
"D:\inetpub\GEOSECMA Business
Logic\App_Data\GEOSECMA.Scheduling.Activator.exe" -plan lvdb_inkr -url
https://server:6443/arcgis/services/GEOSECMASupportingService/GPServer -language sv rem
rem Compress sde_geostreet after incremental import and before creating LVDB.fgdb rem The script DatabasesCompress.py that is delivered with GEOSECMA can be copied and modified to only compress the sde_geostreet database
rem
%~dp0lvdb_compress.py 1> %~dp0lvdb_compress.log 2>&1 rem
rem Stop services that use LVDB.gdb, sync with locator, publish new LVDB.gdb, start services again
rem
rem Change password, server and servicename to match your environment rem Repeat the line for each service that use the filebased geodatabase rem
"C:\Program Files\ArcGIS\Server\tools\admin\manageservice.py" -u admin -p password -s https://server:6443 -n servicename -o stop
"C:\inetpub\GEOSECMA Business Logic\App_Data\GEOSECMA.Scheduling.Activator.exe"
-plan lvdb_fgdb -url
https://server:6443/arcgis/services/GEOSECMASupportingService/GPServer -language sv
rem
rem Change password, server and servicename to match your environment rem Repeat the line for each service that use the filebased geodatabase rem
"C:\Program Files\ArcGIS\Server\tools\admin\manageservice.py" -u admin -p password -s https://server:6443 -n servicename -o start
rem
rem Compress sde_geolocator after sync with LVDB
rem The script DatabasesCompress.py that is delivered with GEOSECMA can be copied and modified to only compress the sde_geolocator database
rem
%~dp0locator_compress.py 1> %~dp0locator_compress.log 2>&1 exit
OBS! Justera det som ovan är rött så det stämmer överens med de namn och lösenord som gäller för er miljö. lvdb_compress.py och locator_compress.py är skript anpassade att komprimera databasenerna sde_geostreet respektive sde_geolocator. En mall till detta skript finns bland installationsfilerna för GEOSECMA (Ex:
..\GEOSECMA\Database\DatabasesCompress.py).
Denna kommandofil måste vara schemalagd för att köras, exempelvis med Windows Schemaläggare.
• General: Kör skriptet som en användare med tillräckliga behörigheter. Användaren SYSTEM för den lokala datorn fungerar normalt.
• Triggers: Välj när skriptet ska köras. En gång i veckan rekommenderas på en dag och tid när ingen jobbar.
• Actions: Välj här att starta programmet (kommandofilen), som på bilden ovan.
5. Publicera till filbaserad geodatabas
De som använder GEOSECMA Trafikmodul behöver skapa en filgeodatabas av data från gatadatabasen. Denna ligger till grund för den tjänst som används i trafikapplikationen och används bl.a. när man ska knyta en föreskrift till en väglänk. Tidigare i guiden beskrevs hur denna skapades automatiskt och här som följer beskrivs det hur man gör detta manuellt.
GEOSECMA Manager → Moduler → LVDB → Publicera gatudata till en filgeodatabas
För att få minimalt driftstopp så rekommenderar vi att man gör på följande sätt:
(Vilka namn man använder är valfritt.)
1. Ange databasnamn Gata_ny.gdb och spara.
2. Publicera och vänta tills publiceringen lyckas.
3. Stäng ned de tjänster som använder Gata.gdb 4. Ta bort den gamla Gata.gdb
5. Döp om Gata_ny.gdb till Gata.gdb 6. Starta de tjänster som använder Gata.gdb
OBS! Om man har valt att publicera den filbaserade databasen i samband med inkrementell import (script i föregående stycke) så behöver man inte utföra ovanstående. Man ska då använda det namn på den filbaserade som man önskar eftersom man inte kommer att behöva byta namn (förslagsvis används namnet LVDB.gdb).
6. Loggar och felkontroll
Loggfiler för full eller Inkrementell LVDB-import samt publicering till filgeodatabas finns på:
GEOSECMA Manager → Moduler → LVDB → Rapporter
För att kolla om något uppdaterats efter den inkrementella LVDB-importen kan man kolla i sde_geostreet i tabellen streetLRMPosition. Sortera efter ModificationDate.
För att dubbelkolla ifall en länk är korrekt importerad eller uppdaterad behöver man jämföra med samma länk på Trafikverkets hemsida, i deras webbtjänst:
https://nvdb2012.trafikverket.se/SeTransportnatverket