DGBuss:Kartdata: Forskjell mellom sideversjoner

Fra DataGrafikk
Hopp til navigeringHopp til søk
 
(9 mellomliggende sideversjoner av samme bruker vises ikke)
Linje 66: Linje 66:
= Kartdata fra NVDB Rutedatasett =
= Kartdata fra NVDB Rutedatasett =


Datasett er segmentert aktuelle strekningsegenskaper/fartsgrenser.
Kartverket endrer leveransen av kartdata og produktet Elveg legges ned.
DataGrafikk er av Kartverket/SVV anbefalt å benytte et alternativt datasett, NVDB Rutedatasett, fordi dette er likt Elveg i oppbygging.
Produktet leveres som fylkesvise SQLite databaser fra [https://kartkatalog.geonorge.no/metadata/nvdb-rutedatasett/19ee16b4-ebe3-4e9d-8d86-0dc6b31f5c99 GeoNorge].
Siden data ikke leveres kommunenivå slik som Elveg så er det anbefalt å bruke nytt kommunefilter for å velge kun de kommunene man ønsker å laste inn.


Datasett leveres som FGDB-format eller [https://www.gaia-gis.it/fossil/libspatialite/index spatialite] databaser som leveres på fylkesnivå eller for hele Norge.
Data må legges i egen mappe NVDB Rutedatasett i hovedkatalog for kartdata, DGgis leser kartdatabasene rett fra disk på samme måte som Elveg.


For å kunne benytte NVBD Rutedatasett i DGgis må det gjøres en forhåndsprosessering.
== Eksempel NVDB rutedatsett-katalog ==


DGgis har ikke mulighet for å lese NVBD Rutedatasett direkte og dataene er ikke organisert kommunevis som gir unødvendig mye kartdata.
[[Fil:DGGKartdataNVDBRutedatasettKatalog.png]]


* Krever Microsoft SQL base. Kunder som allerede benytter SQL versjon av DGBuss har vanligvis dette tilgjengelig. Oppretter Microsoft SQL base i bunn med tabellstruktur med script fra DataGrafikk.
[[Fil:DGGKartdataNVDBRutedatasettKatalog2.png]]
* Henter ned NVDB Rutedatasett fra Geonorge. Finnes også tilgjengelig massiv nedlastingsklient for automatisk oppdatering.
* Man trenger et verktøy for å konvertere dataene fra spatiallite til Microsoft SQL, DataGrafikk bruker verktøyspakken fra [https://www.gisinternals.com/ GISinternals] fordi den gir betraktelig bedre ytelse enn andre alternativer siden den støtter BULK insert. Merk DataGrafikk leverer ikke denne verktøyspakken, hvilke komponenter som man kan benytte avhenger av den enkelte organisasjonen.
* Script/kommandoer som henter ut ønsket utvalg av veglenker/restriksjoner fra NVBD Rutedatasett med verktøyspakken fra MapServer.


== Eksempel på kartbase på Microsoft SQL ==
== Eksempel utvalgte kommuner fra NVDB Rutedatasett ==


[[Fil:DGGKartdataNVDBRutedatasett.PNG]]
[[Fil:DGGKartdataKommuner.png]]
 
== Tabellstruktur for kartbase ==
 
<pre>
 
SET ANSI_NULLS ON
GO
 
SET QUOTED_IDENTIFIER ON
GO
 
IF  EXISTS(
SELECT * FROM sys.tables tbl WHERE tbl.name = 'veglenke'
)
BEGIN
DROP TABLE veglenke
END;
 
 
IF  EXISTS(
SELECT * FROM sys.tables tbl WHERE tbl.name = 'vegsperring'
)
BEGIN
DROP TABLE vegsperring
END;
 
 
IF  EXISTS(
SELECT * FROM sys.tables tbl WHERE tbl.name = 'svingerestriksjon'
)
BEGIN
DROP TABLE svingerestriksjon
END;
 
CREATE TABLE [dbo].[dg_veglenke](
[ogr_fid] [int] IDENTITY(1,1) NOT NULL,
[GEOMETRY] [geometry] NULL,
[veglenkeid] [int] NULL,
[kjoreretning] [nvarchar](10) NULL,
[typeveg] [nvarchar](100) NULL,
[fartsgrense] [tinyint] NULL,
[kommunenummer] [nvarchar](4) NULL,
[adressekode] [nvarchar](6) NULL,
[adressenavn] [nvarchar](250) NULL,
[metrert_lengde] [float] NULL,
[vegsystemreferanse] [nvarchar](50) NULL,
CONSTRAINT [PK_veglenke] PRIMARY KEY CLUSTERED
(
[ogr_fid] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO
 
 
 
CREATE TABLE [dbo].[dg_svingerestriksjon](
[ogr_fid] [int] IDENTITY(1,1) NOT NULL,
[GEOMETRY] [geometry] NULL,
[fra_veglenkeid] [int] NULL,
[til_veglenkeid] [int] NULL,
CONSTRAINT [PK_svingerestriksjon] PRIMARY KEY CLUSTERED
(
[ogr_fid] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO
 
 
 
CREATE TABLE [dbo].[vegsperring](
[ogr_fid] [int] IDENTITY(1,1) NOT NULL,
[GEOMETRY] [geometry] NULL,
[veglenkeid_1] [int] NULL,
[veglenkeid_2] [int] NULL,
CONSTRAINT [PK_vegsperring] PRIMARY KEY CLUSTERED
(
[ogr_fid] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO
 
</pre>
 
== Eksempel på kommandoer via GISinternals ==
<pre>
ogr2ogr -update -append -f MSSQLSpatial "[DESTINASJON]" "[KILDE]" -a_srs "EPSG:25833" -lco "GEOM_TYPE=geometry" -lco "UPLOAD_GEOM_FORMAT=wkt" -nln veglenke -sql "select veglenkeid,kjoreretning,typeveg,fartsgrense,kommunenummer,adressekode,adressenavn,metrert_lengde,vegsystemreferanse,GEOMETRY from veglenke WHERE kommunenummer IN([KOMMUNENUMMER])" --config CPL_LOG "[LOGFIL]" --config MSSQLSPATIAL_USE_BCP TRUE --config MSSQLSPATIAL_BCP_SIZE 5000 --config CPL_LOG_ERRORS ON
ogr2ogr -update -append -f MSSQLSpatial "[DESTINASJON]" "[KILDE]" -a_srs "EPSG:25833" -lco "GEOM_TYPE=geometry" -lco "UPLOAD_GEOM_FORMAT=wkt" -nln svingerestriksjon -sql "select * from svingerestriksjon" --config CPL_LOG "[LOGFIL]" --config MSSQLSPATIAL_USE_BCP TRUE --config MSSQLSPATIAL_BCP_SIZE 5000 --config CPL_LOG_ERRORS ON
ogr2ogr -update -append -f MSSQLSpatial "[DESTINASJON]" "[KILDE]" -a_srs "EPSG:25833" -lco "GEOM_TYPE=geometry" -lco "UPLOAD_GEOM_FORMAT=wkt" -nln vegsperring -sql "select * from vegsperring" --config CPL_LOG "[LOGFIL]" --config MSSQLSPATIAL_USE_BCP TRUE --config MSSQLSPATIAL_BCP_SIZE 5000 --config CPL_LOG_ERRORS ON
</pre>


= Kartdata fra Open Street Map =
= Kartdata fra Open Street Map =

Siste sideversjon per 29. mar. 2022 kl. 10:22


Kartdata fra egen database

Kartdata legges inn i en datastruktur

dg_mgate.dbf
dg_mheig.dbf
dg_mifbt.dbf
dg_mlim.dbf
dg_mnadr.dbf
dg_mroad.dbf
dg_mspee.dbf
dg_mgstop.dbf
dg_mturn.dbf
dg_mweig.dbf

Eksempel datastruktur

Kartdata fra SOSI

DGis leser vegdata på | SOSI-format.

Elveg kartdata kan for eksempel lastes ned fra Kartkatalogen

SOSI-filene legges i Elveg-katalogen i følgende mappestruktur:

Adresser (Adresser)
n250 (Eksempel: Arealdekke, Stedsnavn, Bygninger)
Vegnett (Vegnett)
VFagdata (Fagdata: Fart, Innkjøring forbudt, Svingrestriksjoner)

Eksempel Elveg-katalog

Automatisk nedlasting av oppdaterte datasett

Kartverket tilbyr en nedlastingsklient for datasett som er publisert på Geonorge.

Løsningen består av et grafisk grensesnitt for å lage et utvalg av datasett man vil laste ned.

Se Kartverket sitt webinar for mer informasjon om løsningen.

Her har vi laget et utvalg på Elveg + N250 flatekart for Oppland og Hedmark.


Datasett kan oppdateres via grafisk klient eller via eget program på startmenyen som kun utfører nedlasting.

Man kan også sette opp nedlasting som en tidsstyrt oppgave.

Filene lastes ned til lokal disk, filene må pakkes ut og legges i dGis sin Elveg katalog.

Kartdata fra Elveg2

Elveg leveranser fra Kartverket opphører og erstattes med Elveg2 i løpet av 2022. DGGis støtter ikke Elveg2 leveranser fra Kartverket det anbefales å benytte Kartverket sitt NVDB Rutedatasett.

Kartdata fra NVDB Rutedatasett

Kartverket endrer leveransen av kartdata og produktet Elveg legges ned. DataGrafikk er av Kartverket/SVV anbefalt å benytte et alternativt datasett, NVDB Rutedatasett, fordi dette er likt Elveg i oppbygging. Produktet leveres som fylkesvise SQLite databaser fra GeoNorge. Siden data ikke leveres på kommunenivå slik som Elveg så er det anbefalt å bruke nytt kommunefilter for å velge kun de kommunene man ønsker å laste inn.

Data må legges i egen mappe NVDB Rutedatasett i hovedkatalog for kartdata, DGgis leser kartdatabasene rett fra disk på samme måte som Elveg.

Eksempel NVDB rutedatsett-katalog

Eksempel utvalgte kommuner fra NVDB Rutedatasett

Kartdata fra Open Street Map

dGis kan lese data fra Open Street Map på OSM XML fil-format.

Tilgang på data

Data kan hentes fra mange kilder f. eks Geofabrik, men det minste utvalget denne tillater er data for hele Norge. Data tilbys i et svært komprimert PBF-format som må konverteres til OSM XML før det leses inn i dGis.

For å konvertere data til OSM XML kan verktøy som osmconvert eller osmfilter benyttes.

Hvilke data brukes

Open Street Map inneholder mye data som ikke er aktuelt for lenking og som dGis ikke kan lese.

dGis leser blant annet kurve, vegnavn, vegklassifisering, kjøreretning. Fra dette utledes vegtype, svingbegrensninger, kurvelengder og kjøretider.

Andre data er uaktuelle og kan derfor utelates.

Her er et eksempel der vi benytter osmfilter til å filtrere vekk alt som ikke er kjørbare veger.

Kommuneinndeling

Det kan være ønskelig å dele filene opp i kommuner slik man er vant med fra SOSI.

Dette gir mulighet for å se hvilken kommune veger og adresser tilhører som er nyttig for å orientere seg.

SOSI er bygd opp slik at man enkelt kan hente kommune for veger og adresser.

I Open Street Map må man beregne dette selv.

Polygoner som angir omriss for fylker og kommuner ligger i Open Street Map og man kan f. eks benytte osmfilter til å hente ut disse.

Polygonene kan konverteres til polygon-filter som igjen kan brukes som input til osmconvert for å hente ut data kun for ønsket omriss.

Vi kjenner ikke til ferdige verktøy for å konvertere til polygon-filter, men DataGrafikk tilbyr egenutviklet verktøy for denne oppgaven.


Hjelp til å komme igang

DataGrafikk tilbyr verktøy både for å laste ned og konvertere data fra Open Street Map til noe dGis kan benytte.