Forskjell mellom versjoner av «Urbgeo/gisdbv-0.1»

Fra hbrgeo
Linje 14: Linje 14:
 
Logge på database urbgeo frå linux prompt
 
Logge på database urbgeo frå linux prompt
 
~$psql -d urbgeo
 
~$psql -d urbgeo
 +
 +
Prompt i psql er databasenamn og =#
 +
 +
Laste postgis ekstensjon
 +
 +
urbgeo=#create extension postgis;
 +
  
 
</pre>
 
</pre>

Revisjonen fra 12. nov. 2016 kl. 16:20

Etablering av UrbGeo GISdatabase

I dette dokumentet viser steg-for-steg dokumentasjon av urbgeo-gisdatabase i PostgreSQL.

Oppretting av databaser og hjelpedata

Føresetnaden er at PostgreSQL 9.x med tilhøyrande gis-ekstensjon postgis er installert på ein linux-maskin. Denne dokumentasjonen er basert på Ubuntu Linux 14.04 LTS, postgreSQL 9.5 og postgis 2.2.2. Det er også ein føresetnad at database-brukaren har privilegier til å opprette databaser. Videre blir alle filer lagra i katalogen /home/[brukernamn]/urbgeo med underkatalogar.


Opprette database frå linux prompt
~$cd
~$mkdir urbgeo
~$cd urbgeo
~$createdb urbgeo

Logge på database urbgeo frå linux prompt
~$psql -d urbgeo

Prompt i psql er databasenamn og =#

Laste postgis ekstensjon

urbgeo=#create extension postgis;


For å sjekke at alt er i orden kan du logga på databasen med psql -d urbgeo vil prompten vere urbgeo=#

Logg av med \q

Første steg blir å laste databasen med hjelpetabellar som i all hovudsak inneheld data om den administrative inndelinga, namn på byar og kjeldeidentifikasjon. Utgangspunkt er data frå NSD (Norsk Samfunnsvitenskaplig Datatjenste), Arkivverket og Hallstein Myklebost, Norges tettbygde steder.

Nedanfor er script for å opprette databaser og laste inn data frå dei ulike formata

Lasting av hjelpetabellar

Første hjelpetabell er definisjon og data for tettstader. Data er henta frå Hallstein Myklebust, Tettsteder i Norge 1875-1950. Myklebosts tettstadnummer er nytta som primærnøkkel for byane i urbgeo. HMID=Hallstein Myklebust ID. Merk at encoding er sett til Latin1 sidan csv-fila er laga med MS-Excel under Windows 10.

--DROP DATABASE IF EXISTS "urbgeo";
--CREATE DATABASE "urbgeo";

\c "urbgeo";

--
-- Table structure for table 'hallmykl'
--


DROP TABLE IF EXISTS "hallmykl";

CREATE TABLE "hallmykl" (
  "HMID" INTEGER NOT NULL,
  "Fylke" VARCHAR(25),
  "Tettstad" VARCHAR(25),
  "Kommune" VARCHAR(25),
  "F1875" INTEGER,
  "F1890" INTEGER,
  "F1900" INTEGER,
  "F1910" INTEGER,
  "F1920" INTEGER,
  "F1930" INTEGER,
  "F1946" INTEGER,
  "F1959" INTEGER,
  "HMType" VARCHAR(50),
  "Hmkode" VARCHAR(50),
  "Kommuner" VARCHAR(255),
  "AsciiName" VARCHAR(25)
);

COPY hallmykl FROM '/home/arne/urbgeo/hmexp.csv' DELIMITER ';' CSV HEADER QUOTE '"' ENCODING 'LATIN1' NULL '';

Neste datafil er kommunenefila for 1910. Denne er trekt ut frå kommunedatabasen i NSD. Kommunedatabasen har muligheit for å lage kommunefiler for eit tidspunkt (år). Den aktuelle fila er for år 1910. Lista frå NSD-kommunedatabase som inneheld nsd-kommunenr (nsdknr) og nsd-kommunenamn (nsdknam) er overført (copy-paste) til MS-Excel. I MS-Excel er kommunenr brukt for å leggje til fylkesnummer. Fylkesnummer er danna ved funksjonen avrund.ned(nsdknr/100;0). I tillegg er det konstruert ein fjerde kolonne som viser om kommuna er by eller landsbygd. Dette feltet er konstruert med funksjonen: Hvis(nsdknr-(fylkenr*100)<10;1;0). Dvs. dersom nsdknr - fylkesnr*100 er mindre enn 10, så er kommuna ein bykommune.