Fredericia Kommunes GIS database Insights Danmark 2012
Hvorfor SQL Server? SQL server <> PostGIS Har stort set samme funktionalitet Fik MSSQL server 2008 med LOIS ingen ekstra udgift Ingen support til PostGIS fra IT-afdelingen Management Studio nemmere end PGAdmin Til SQL Server medfølger Reporting Services
Samlet overblik
Database serveren DAI
Fællesoffentlige databaser
Replikering af data til filserver
WFS opdatering Job består af wor-fil der skydes af vha. Planlagte opgaver Opdaterer filer der ligger på fildrev En mappe med filer pr. database
Udsnit af opbygning af wor-fil
Data skal nu i SQL-databaserne Har en database pr. fællesoffentlig datasæt Tilsvarer en mappe på fildrevet hvor de opdaterede WFS-data lagres Data overføres til SQLdatabasen vha. Easyloader
Easyloader Job består af bat-fil der skydes af vha. Planlagte opgaver Txt-fil styrer hvilke tabfiler der skal kopieres
bat-fil Bat-fil til kopiering af DAI WFS-data fra fildrev til DAI database i SQL Server vha. Easyloader @echo off Start c:\programmer\mapinfo\professional\tools\easyloader.exe /L \\ntfilserver\teknikdata\data\wfsopdateringer\dai.txt /S DSN=DAI;UID=xxx;PWD=yyy /Y MI_STYLE /P R /F c:\daiload.log /E /G /Q
txt-fil \\ntnymiljo\kort\wfsopdateringer\dai\dkjord_v1.tab;dkjord_v1 \\ntnymiljo\kort\wfsopdateringer\dai\dkjord_v2.tab;dkjord_v2 \\ntnymiljo\kort\wfsopdateringer\dai\naturperler.tab;naturperler \\ntnymiljo\kort\wfsopdateringer\dai\artsfund_fl.tab;artsfund_fl \\ntnymiljo\kort\wfsopdateringer\dai\artsfund_ln.tab;artsfund_ln \\ntnymiljo\kort\wfsopdateringer\dai\artsfund_pkt.tab;artsfund_pkt
Brug af data i MapInfo
Egne data De fællesoffentlige data kopieres ned i databaserne og overskriver hvad der var i forvejen De data vi selv skal stå for vedligehold af, gemmes i én af to databaser: FKG til alle data der er en datamodel for GIS til alle de andre data
GIS-databasen Heri ligges alle vores andre data, samt FKG-data der ikke er tilrettet til den datamodellen endnu Vi bruger skemaer, som tilsvarer temagrupperne i FKG-datamodellen, for at have bedre struktur på data Har ingen triggers o.l. i denne database Egne views samles her
FKG - databasen Har købt Grontmij s fysiske implementering af modellen på SQLdatabase Er bygget op med tabeller, opslagstabeller, views, triggers m.m. Skal til at i gang med at ligge data deri, men der vil være en del datamassage i den forbindelse
Udfordringer MapInfo <> FKG-datamodel Udfordring Løsning MapInfo kan ikke forstå datatypen Uniqueidentifier MapInfo understøtter ikke Unicode MapInfo skal have heltal som primærnøgle for at tabellen ikke bare åbnes som skrivebeskyttet Flere kolonner i datamodellen har 1024 tegn MapInfo kan ikke rette i data Omdan til tekst i views convert(varchar(36), generel.objekt_id) AS objekt_id, Undgå at benytte nvarchar, ntext osv. Indsæt ny kolonne i alle tabeller mapinfo_id bigint IDENTITY(1,1)* Indsæt kolonne i views mapinfo_id AS MI_PRINX* Ingen løsning!! * MapInfo snydes til at tro at mapinfo_id er primærnøgle, selvom den reelt ikke er
Views Kan bruges til alle de analyser som vi tidligere bruge tid på at lave i desktop F.eks. grid analyser Sikrer altid opdaterede datavisninger F.eks beboere, virksomhedsejere, matrikelkort med ejere Spatiale analyser F.eks områder hvor nedsivning ikke er tilladt (Anette fra Frederikssund) Følg med på Yammer - MSSQL
Eksempler
MapInfo og SQL-server Vi bruger sammenkædede filer. Direkte læsning er for langsomt Ved opbygning af views til tematiseringer, skal man sikre sig datatypen er INT, brug CAST/CONVERT Rettighedsstyring er ikke helt på plads vi vil bruge AD og måske Skemaer i SQL serveren Mangler det rette værktøj til adresse- og matrikelsøgning
Replikering af data ud på Amazone server Linked Servers Navnene på mapperne vil tilsvare navnene på temagrupperne i FKGdatamodellen
Linked Servers Opsætning af linked servers gør at de to databaser kan se hinanden Muliggør forespørgsler direkte ned i en database der fysisk findes et helt andet sted Muliggør kopiering af data mellem de to databaser Udfordring Løsning Geografi kan ikke kopieres mellem to linked servers. Hverken ved COPY eller SQL Server Export 1 Kun åbent for firewall på eksterne server Al geografi omdannes til WKT inden kopiering til eksterne server, hvor den omdannes til geografi igen 2 Åbent gennem firewall på begge servere Data flyttes via et pass-through query (OPENQUERY) der køres fra den modtagende server