Publicerad den Lämna en kommentar

Egen server för geodatatjänster – Del 2

I denna andra del installeras OpenGeo Suite 4.0. Jag har tidigare visat hur sviten installeras flera gånger, men företaget bakom envisas med att uppdatera mjukvaran hela tiden, så mina instruktioner inte längre fungerar så bra. Jag vill också passa på att varna för att kopiera och klistra in kommandon i texten nedan direkt i terminalen på servern. Det är inte alltid som ett ”-tecken blir rätt när WordPress har formaterat om alla texter jag skriver, så se upp lite.

OpenGeo Suite 4.0

Denna svit från Boundless består av ett antal Open Source program, anpassade och paketerade för att fungera ihop på ett bra sätt. Genom att installera OpenGeo Suite så får man följande installerat:

  • Postgresql, databas
  • PostGIS, rumsligt tillägg till Postgresql
  • GeoServer, tjänsteserver för OGC-tjänster
  • OpenLayers, javaskript-bibliotek för hantering av webbkartor
  • GeoExplorer, grafiskt skapa webbkartor på ett enkelt sätt.

En mängd tillägg och beroenden löses också automatiskt genom att installera sviten i stället för alla paket var för sig.

Installationen görs genom nedanstående kommandon.

sudo su wget -qO- http://apt.opengeo.org/gpg.key | apt-key add - echo ”deb http://apt.opengeo.org/suite/v4/ubuntu precise main” > /etc/apt/sources.list.d/opengeo.list apt-get update apt-get install opengeo

Nu körs en ganska omfattande installation, som i princip gör i ordning allt det ovanstående, men det behöver justeras lite för att fungera helt och hållet.

Två konfigurationsfiler behöver ändra för att Postgresql skall fungera. Jag använder ”vim”, men det går bra med ”nano” eller annan editor.

Först så behöver man ta reda på serverns IP-adress med kommandot:

ifconfig

I filen /etc/postgresql/9.3/main/postgresql.conf så letar man reda på raden som börjar med #listen_addresses och tar bort brädgårdstecknet och ändrar ‘localhost’ till ‘192.168.1.10’, där IP-adressen är serverns.

I filen /etc/postgresql/9.3/main/pg_hba.conf skall rätt adressrymd läggas till på en ny rad under ”IPv4”. På samma format som den raden som redan är där lägger man till:

host all all 192.168.1.1/24 md5

Adressen ovan är samma som serverns, förutom att sista siffran byts mot en ”etta” med tillägget ”/24”. Detta innebär att man avser alla adresser som börjar på 192.168.1. Ett annat sätt att ange nätmask 255.255.255.0 om det är mer bekant.

Starta om Postgresql med kommandot:

/etc/init.d/postgresql restart

För att kunna använda PostGIS så måste även en sådan databas skapas. Detta görs genom att köra ett antal skript, men först så måste man sätta lösenord för användaren ”postgres”. Detta görs först i operativsystemet och sedan internt i postgres. Det behöver inte vara samma lösenord, men det blir betydligt enklare att komma ihåg om man skapar ett ”super-admin lösen”. Ytterligare användare och lösenord för olika syften kan skapas separat.

passwd postgres sudo -u postgres psql  \password postgres \q

Ange lösenordet när det efterfrågas ovan. Mera kommandon i terminalen:

cd /usr/share/postgresql/9.3/contrib/postgis-2.1/ sudo -u postgres createdb geodata sudo -u postgres psql -d geodata -f postgis.sql sudo -u postgres psql -d geodata -f spatial_ref_sys.sql sudo -u postgres psql -d geodata -f postgis_comments.sql sudo -u postgres psql -d geodata -f rtpostgis.sql sudo -u postgres psql -d geodata -f raster_comments.sql sudo -u postgres psql -d geodata -f topology.sql sudo -u postgres psql -d geodata -f topology_comments.sql

Kommandona ovan skapar en PostGIS databas kallad ”geodata”, men vill du att den skall heta något annat så är det bara att ändra på alla rader.

Om man inte vill använda ett kommersiellt företags paketlösning för en geoserver så behöver man inte det heller. Om man exempelvis inte tänker använda GeoExplorer för att skapa webbkartor och nöjer sig med det alternativ till OGC-tjänster som redovisas i senare delar så kan ett alternativ vara att installera endast Postgresql och PostGIS. Då får man fördelarna med databaslagring, men utan en stor programpaketsinstallation som man ändå inte använder.

Nyhet från Geosupportsystem , orginal inlägg

Publicerad den Lämna en kommentar

Egen server för geodatatjänster – Del 1

Då är det nytt år och kanske dags att fundera på om man skall dra igång något nytt projekt för att förbättra karthanteringen, eller bara vill testa något nytt och ha lite kul.

Det finns inte minst många kommuner som inte har en supergenomtänkt plan för hur man skall hantera geografisk information och krav från EU med INSPIRE och Svensk geodatasamverkan med portaler hit och dit, samtidigt som kostnaderna för den tekniska lösningen måste hållas nere.

Oavsett skälen så startar jag nu en längre serie inlägg om hur man kan bygga en komplett tjänst för att hantera geodata på alla nivåer, för såväl GIS-användare som för den nyfikna allmänheten, och allt däremellan. Exakt hur många delar det blir vet jag inte just nu, men resultatet kommer att sammanfattas i en ”bok” på slutet, som kommer att publiceras här på bloggen. Mycket har tagits upp tidigare, men en del är nytt och framför allt så hänger allt ihop.

Första delen

Här handlar det om förutsättningarna för att testa. Det kan man göra på fysiska datorer, men jag gillar virtuella för prov och försök.

Först och främst så behöver man ladda hem VirtualBox från Oracle (https://www.virtualbox.org/).

Det är en gratis programvara som finns för Windows, OS X och Linux. Det går att flytta virtuella maskiner mellan dessa plattformar och det spelar ingen roll vilken plattform man väljer att installera på.

bok1

För att skapa en ny virtuell dator så klickar man på ”New”, så startas en guide där man gör grundläggande inställningar för att beskriva vilken hårdvara som skall simuleras.

bok2

I det första steget så väljer man namn på den virtuella maskinen och vilket operativsystem man kommer att använda. Det är inte själva datornamnet man sätter, utan vad VirtualBox ”projektet” skall heta, men det lönar sig att döpa dessa till något passande om man har flera för att skilja dessa åt.

bok3

Nästa steg är att avdela RAM minne till den virtuella datorn. Att tänka på är att det bara finns en begränsad mängd fysiskt minne, och det går bara att dela ut en del av detta till virtuella maskiner, så vill man köra flera samtidigt så får man fördela det mellan dessa. Hur mycket som går att fördela beror på mängden RAM i värddatorn och dess operativsystem.

I de kommande stegen så skapar man uppstartsdisk, filtyp på diskavbildningen, hur utrymmet skall allokeras, plats för diskavbildningen och hur stor den maximalt får bli. I de flesta fall så fungerar de förval som är gjorda för dessa steg, men om man exempelvis vill ha rejält med diskutrymme i den virtuella datorn så går det att ändra.

bok4

Beroende på vad man skall använda den virtuella datorn till, och vilka resurser som är tillgängliga, så kan det vara lämpligt att tilldela den virtuella datorn extra kraft.

I ”Settings” (ctrl – s) så gör man inställningar för exempelvis hur många processorkärnor som maskinen får använda, grafikminne (för en server spelar detta mindre roll) och nätverk. Jag brukar ändra från NAT till ”Bryggat nätkort”, så blir den virtuella maskinen tydligare en del av det vanliga nätverket.

bok5

När den virtuella datorn startar första gången så görs detta med en guide där man väljer hur datorn skall startas. Bland annat så väljer man vilket installationsmedia som skall användas. Det går att använda värddatorns CD/DVD-läsare eller en ISO-fil med en skivavbildning. För den här guiden så används en skivavbildning nedladdad från http://ubuntu.com.

bok6

När man sedan slutför guiden så körs installationen precis som om det vore en fysisk dator. När man har fönstret aktivt för den virtuella datorn så kan man använda tangentbordet som om det var anslutet till den. Även musen fungerar på detta sätt, men för ett serveroperativ så används normalt ingen mus.

När jag installerar Ubuntu Server så brukar jag välja Svenska som språk och ett lämpligt datornamn och användare. I övrigt så är det förvalen rakt igenom, förutom på de platser där installationen frågar efter om man vill skriva ändringarna till disk (två platser).

bok7

När installationen är klar så brukar det vara en god idé att installera de senaste uppdateringarna med dessa kommandon.

sudo apt-get update
sudo apt-get upgrade

Nu är servern färdiginstallerad och vi kan gå vidare med nästa steg.

Nyhet från Geosupportsystem , orginal inlägg

Publicerad den Lämna en kommentar

Redigera Open Street Map

Det finns flera sätt att göra detta och här skall jag visa det enklaste och mest aktuella för alla normalanvändare som retar sig på något litet fel i kartan, eller att det egna huset eller kvarteret inte finns med.

När man tittar på kartan så märker man att en del områden är mycket mer detaljerade än andra. I mitt fall så blir skillnaden mellan grannstäderna Nässjö och Eksjö väldigt tydlig när man zoomar in lite.

nässjö-eksjöOpen Street Map i samma skala med Nässjö till vänster och Eksjö till höger

Även om Nässjö faktiskt är större än Eksjö så är skillnaden inte så stor som bilderna ovan kan ge sken av och nu skall jag visa vad Du kan göra för att minska denna typ av skillnader.

Skärmbild från 2014-01-02 11:07:09

Jag väljer ett litet bostadsområde med villor i Eksjö, som inte är så utförligt gjort i Open Street Map. Här vill jag nu lägga till alla byggnader. Eftersom det är ganska nära där jag bor så kan jag även ta en tur med GPS, kamera och anteckningsmaterial för att samla in mer information om området som kan användas senare, men det är inte nödvändigt just nu.

Skärmbild från 2014-01-02 11:14:03

På sidan http://openstreetmap.org så kan man gå till det område man vill redigera och välja olika sätt att göra detta på. Här använder jag iD som passar mig.

Är det första gången man skall göra detta så måste man skapa ett konto, eller använda någon annan metod för att identifiera sig, men jag har ett konto så jag loggar in.

Nu får man upp en satellitbild från Bing som bakgrund med knappar för att växla till andra bakgrundstyper, samt tre knappar för att skapa nya data i form av punkter, linjer och områden.

Skärmbild från 2014-01-02 11:22:10

Jag skall lägga till byggnader så jag väljer ”område” och klickar ut min första byggnadspolygon och avslutar med att klicka på sista brytpunkten en extra gång. Sedan klickar jag i området och får upp en hjälpmeny där jag väljer att göra hörnen rätvinkliga, vilket rättar till mina lätt skeva hörn något.

Som framgår av bilden ovan så finns det tangentbordsgenvägar till det mesta och nytt område skapas genom tangenten ”3” och räta hörn med ”s”. Mycket praktiskt för att slippa flacka runt med musen så mycket.

Området är inte så mycket värt förrän man satt vissa grundläggande attribut. Detta görs med området markerat till vänster i bilden.

Alla typer är indelade i kategorier och i mitt fall så väljer jag ”Building” och därefter ”Hus”. Sedan fyller jag i de attribut jag känner till, vilket kan kompletteras senare när jag varit på plats. Det går även att söka efter lämpliga attribut, men även skapa egna. Här vill jag dock varna lite, eftersom det lätt bildas attribut som är väldigt lika och egentligen betyder samma sak, så undvik i det längsta att skapa nya.

Ny byggnad (”3”) markera hörnen på ett garage, rätta till hörnen (”s”) och välj typ, i detta fallet ”Building”, ”Byggnad” och attributet ”Garage”.

Sedan jobbar man sig bara runt tills man är nöjd.

Skärmbild från 2014-01-02 12:29:47

Jag passar även på att lägga till några stigar som saknas och sedan ”kisar” jag lite med ögonen och lägger till den skog som finns runt området. När allt är klart så är det bara att spara.

Skärmbild från 2014-01-02 12:32:52

Så gott som omedelbart efter det att data sparats kan man granska dem i Open Street Map (bilden ovan). Andra tjänster som bygger på OSM kan man få vänta lite på innan dessa ändras, inte minst på grund av att dessa cachar data i stor utsträckning, men så småningom så ändras även dessa. Speciellt länge kan man få vänta på renderade kartor baserade på ”tiles” såsom Stamens ”toner-karta” med svart-vitt, men förr eller senare så uppdateras även dessa.

Nyhet från Geosupportsystem , orginal inlägg

Publicerad den Lämna en kommentar

2014, den fria kartans år?

Danmark har gjort det, lika så Finland och Norge till stor del. Gjort vadå? Jo släppt geografisk information fri, utan krav på betalning via licenser med mera.

I Sverige, som lägger stora summor på inhämtning av geografisk information, har man inga sådana planer för närvarande. Men varför gör våra grannar på detta vis?

Naturligtvis så tappar man intäkter till att finansiera sin inhämtning, men man räknar samhällsekonomiskt att vinna på det. Genom att det skapas nya arbetstillfällen baserade på den stora mängden tillgängliggjorda data, där företag skapar nya tjänster genom att kombinera dessa data med andra typer av geografisk information på en växande marknad. Tjänster som annars skulle blivit på tok för dyra för marknaden. Dessa nya arbetstillfällen genererar i sin tur skatteintäkter, som kan användas för att finansiera fortsatt inhämtning av geografisk information.

Man räknar också med att göra besparingar när olika statliga och kommunala myndigheter inte behöver betala ganska stora belopp för att använda dessa data.

Att räkna på vilka effekter motsvarande åtgärder skulle få i Sverige är inte riktigt min starka sida, men enligt NyTeknik (Artikel 2 Oktober 2013) så inbringar geodataförsäljning ca 100 miljoner kronor årligen i Sverige. En del av dessa pengar kommer från andra myndigheter så en motsvarande summa i skatteintäkter netto kanske blir 300 – 400 arbetstillfällen??? Men som sagt ta dessa siffror med en stor nypa salt eftersom jag inte är ekonom och har väldigt tunt underlag att basera mitt antagande på.

Fria kartor nu!

Men varför vänta? Redan idag så finns det fria kartor över Sverige, som i och för sig har brister men detta kan vi tillsammans göra något åt.

Open Street Map (OSM) är inte bara en vägkarta utan finns i flera olika versioner med olika användningsområden, och data från OSM används i massor av kartor och tjänster världen över utan att det kostar någonting.

Detta är möjligt eftersom dataägare gör sina data tillgängliga för andra via OSM, och att privatpersoner samt mindre organisationer hjälper till att dels samla in lokala data och dels använda de ypperliga verktyg som finns i OSM för att skapa och redigera dessa data.

Om man öppnar OSM och granskar kartan i lite mer detalj så märker man snabbt att upplösningen och detaljerna skiljer sig åt mellan olika områden. En del platser är betydligt mer detaljerade än andra men om just du bor i ett område med få detaljer så kan du själv enkelt bidra till att förbättra detta.

I morgon så tänker jag visa hur detta går till i en praktisk artikel, och det är ganska tillfredsställande att se att de små ändringar eller tillägg man gör nästan omedelbart får genomslag i en rad olika tjänster runt om på Internet.

Kan man då lita på OSM? Svaret är rent krasst: Nej, det kan man inte… Det finns ingen som garanterar att kartan är korrekt. Det finns ingen man kan stämma om något går fel när man använder dessa data. Men det är heller inte en liten organisation som skall granska enorma mängder information för att garantera detta, utan en enorm organisation som var och en har ganska lite data att kontrollera… Den som upptäcker ett fel kan enkelt rätta till dessa fel själv, så även om det ibland blir fel så är det betydligt fler som jobbar för att det skall bli rätt.

Nyhet från Geosupportsystem , orginal inlägg

Publicerad den Lämna en kommentar

Karta med Norrland som fokus

Med videoklippet om ”Peters” projektion från en scen i TV-serien ”Vita Huset” (länk till YouTube) så slog det mig att man skulle kunna tillämpa detta på Sverige och ge kartan ett Norrländskt perspektiv.

Nu blir det kanske inte just Peters projektion som jag tänker använda utan något lite mera rätvinkligt, men inte SWEREF99TM heller.

Skärmbild från 2013-12-18 13:58:29

SWEREF99TM har sitt ursprung kring 15° öst, men Sverige ”svänger” österut och Norrland glider sakta ifrån denna meridianlinje. Nu vet jag att mycket av Norrland faktiskt hamnar ganska nära 15°, men ur rättvisesynpunkt så överkompenserar jag och skapar N-REF99TM med utgångspunkt i 21° öst.

Skärmbild från 2013-12-18 14:50:36

Inte så stor skillnad kan man tycka, men titta noga. Och just det, jag är inte färdig än.

Vi tar dessutom och vänder på kartan så att det som tidigare varit naturligt att se på Sverige som ”där uppe”, blir något helt annat. Det blir inte 180° utan det för Norrland mer passande 150°. Dessutom så drar vi in Norrland mot centrum av kartan på samma sätt som brukligt är för normalt orienterade kartor och södra Sverige. Lite städer kan vi ta med också, men varför skall bara befolkningsmässigt stora städer vara med. Vi plockar in några till som kanske inte är så stora, men desto viktigare för befolkningen (nu glömmer jag många viktiga städer här, men det är principen som räknas).

Skärmbild från 2013-12-18 15:06:15

Och där har vi den! Projektionen med det nya namnet N-REF14TM.

Jag får nog hålla med C.J. från Vita Huset: ”It’s Freeking Me Out!”

Nyhet från Geosupportsystem , orginal inlägg

Publicerad den Lämna en kommentar

Bädda in kartor enkelt

Det finns en karttjänst jag kommer att återkomma till lite de närmaste veckorna som jag tycker är väldigt viktig för alla som håller på med kartor på nätet.

Open Street Map, eller kartornas Wikipedia, som kanske inte är den bästa kartan när det gäller innehåll, men i många fall den som är ärligast!

Läs bland annat http://blog.emacsen.net/blog/2014/01/04/why-the-world-needs-openstreetmap/ för lite tänkvärda synpunkter.

Detta inlägg skall handla om hur man kan använda Open Street Map (OSM) för att lägga till inbäddade kartor med egna data på en hemsida.

Skärmbild från 2014-01-05 21:57:43Klicka på kartan för att öppna den ”LIVE”

Med uMap (http://umap.openstreetmap.fr/en) så går detta att göra enkelt. Det finns en mängd alternativa bakgrundskartor från just OSM och det går att lägga till egna data i GeoJSON format (med flera) och skapa egna vektorlager direkt i applikationen, såsom jag gjort i bilden ovan.

Det finns länkar till iD som är en utmärkt editor för OSM-data direkt i webbläsaren, men framför allt så kan man spara sina kartor och få direktlänkar till såväl kartorna i helt fönster som i kod för att bädda in på andra sidor.

En av finesserna är att man kan låta andra vara delaktiga i redigeringen av de lager man skapar ovanpå OSM. Vill man hålla kartorna ”privata” så kan man välja att bara låta dem med länken se kartan och själv vara den enda som kan redigera.

Har man önskemål om en annan tile-server så kan man även fixa det.

Skärmbild från 2014-01-05 22:27:38

Prova gärna själva, helt annonsfritt och kostar inte en krona. Perfekt för stat och kommun som inte vill använda Google Maps… (Länk till kartan ovan).

Nyhet från Geosupportsystem , orginal inlägg

Publicerad den Lämna en kommentar

QGIS säkerhetsvarning…

Jag kanske slår in öppna dörrar, men jag var inte medveten om detta, så det kanske det är fler som inte är.

När man använder lager i QGIS som kommer från exempelvis PostGIS, där man har olika rättigheter för olika roller i databasen, så sparas inloggningsuppgifterna i klartext i projektfilen.

Skärmbild från 2013-12-30 16:49:51

I bilden ovan så framgår att lagret ”test3” ansluter till databasen ”geodata” på IP-adressen 192.168.0.25, porten 5432 och med användaren ”qgis1” och lösenordet ”qgis1″…

Mycket praktiskt om alla som kommer åt projektfilen skall kunna göra allt med dessa data, men om det bara är vissa som skall redigera data i databasen och resten bara skall kunna läsa så har man problem.

Lösningen är att lägga till roller i Postgresql som delas av alla och som ger endast läsrättigheter.  Innan någon sparar ett projekt så att andra kommer åt det så ändrar man användare och lösenord genom att antingen ta bort lagret och ansluta till databasen med den gemensamma rollen, eller att redigera direkt i projektfilen.

Risken är att man av slentrian har använt root-användaren och det lösenordet för att lägga till PostGIS-data, och då kan vem som helst som kommer åt projektfilen ta reda på dessa uppgifter med en vanlig texteditor.

Om man använder andra typer av lager med användaruppgifter så lagras dessa sannolikt på samma sätt.

Nyhet från Geosupportsystem , orginal inlägg

Publicerad den Lämna en kommentar

Julledigt

<!–Julledigt | Geosupportsystem

Nu tar jag julledigt några dagar och återkommer någon gång efter nyår (tror jag).

Mellan julskinka och raketer så skriver jag lite på en instruktion för er som vill skapa en kart- och GIS-tjänst med öppen källkod.

Det blir en artikelserie men även en ny E-bok att ladda hem och skriva ut. Denna gången skall det även bli i ePub format och inte bara pdf.

Så tills vi hörs igen en riktigt god jul, och ett gott nytt år.


%d bloggare gillar detta:

Nyhet från Geosupportsystem , orginal inlägg