Tag Archive | GeoExplorer

Mera GeoNode

Screenshot from 2014-09-07 15:21:42

Nu har jag testat lite till och allt är inte perfekt men jag är mer och mer övertygad om att GeoNode installationen som jag beskrev igår är en väldigt gångbar lösning för en generell geodataportal.

Först och främst så går det i QGIS att skapa eller ladda upp data direkt till PostGIS databasen på GeoNode-servern.

Det går med OpenGeo Explorer att ansluta till GeoServern och publicera såväl lager som hela QGIS-projet direkt.

Tyvärr så fungerar inte funktionen ”Publish to GeoNode” men det är nog bara en tidsfråga för Boundless att fixa detta. Under tiden så kan man köra ett kommando på GeoNode-servern:

sudo geonode updatelayers

Vilket läser in alla lager från GeoServern och uppdaterar biblioteket i portalen. Sedan är det bara att redigera metadata för dessa lager och skapa kartor som man kan publicera.

De lager man lägger upp på servern går dessutom att redigera via en webbläsare. Man kan såväl ändra, lägga till och ta bort objekt som redigera attribut, allt via GeoExplorer så länge man är inloggad och har rättigheter att göra så.

Screenshot from 2014-09-07 15:32:52

Detta kan ju vara ett smidigt sätt att uppdatera data i fält från en surfplatta eller telefon. Ändringarna är dessutom omedelbara för det berörda lagret.

Anpassa gränssnittet

Vill man så kan man ganska enkelt göra förändringar i gränssnittet. Detta görs genom att hämta och modifiera ”templates” med exempelvis stilmallar (css).

På servern så görs följande:

django-admin startproject my_geonode --template=https://github.com/GeoNode/geonode-project/archive/master.zip -epy,rst
sudo pip install -e my_geonode
mv my_geonode/local_settings.py.sample my_geonode/local_settings.py

Ersätt ”my_geonode” med ett eget namn och sökväg. Använd inte just ”geonode” vilket kommer att leda till konflikter i systemet.

Redigera filen local_settings.py och anpassa raderna med SITENAME och SITEURL så att de passar för ditt system.

Ändra även i filen /etc/apache2/sites-available/geonode på raden WSGIScriptAlias så att den pekar på din lokala fil:

WSGIScriptAlias / /sökväg/till/geonode/template/wsgi.py

Stara om Apache servern:

sudo service apache2 restart

I den template mapp som skapats så finns bland annat en tom css-fil (site_base.css) som kan redigeras för att ändra det standardutseende som används i portalen. Jag letar efter de ”classer” jag vill ändra med hjälp av Firebug i Firefox, men det finns även hjälp att få via nätet.

För att ändringarna skall slå igenom så måste man köra ett kommando på servern:

python manage.py collectstatic

För att slippa redigera i terminalen på servern så kan man exempelvis installera Samba och dela ut templatekatalogen på nätverket. Kommandon på servern kan sedan göras via exempelvis SSH.

Som framgår av bilden överst så har jag ändrat på några standardfärger vilket är hur enkelt som helst att göra via stilmallen.

Slutligen

Glöm nu inte att det finns mer man måste göra på servern innan man tar den i drift på exempelvis Internet. GeoServern måste säkras, användare skall ses över och rättigheter på utdelade kataloger sättas, med mera.

Risken med denna typ av kompakta installationer är ju annars att man lätt glömmer bort sådant: ”Vadå? Jag har inte installerat GeoServer eller någon databas!”

Annonser

Egen server för geodatatjänster – Del 5

I förra inlägget använde vi QGIS Server för att skapa snygga WMS tjänster som direkt kunde användas i olika WMS-klienter som QGIS exempelvis. I detta avsnitt så kommer tjänsten att ”återpubliceras” via GeoServer, vilket kan verka märkligt, men det finns finesser med detta som vi återkommer till mot slutet av inlägget.

GeoServer

Anslut till geoservern (http://192.168.1.42:8080/geoserver) och logga in med admin/geoserver (användare/lösenord).

Skapa ett nytt Workspace under valfritt namn och gör det till ”Default”.

bok16

Gå därefter in under ”Stores” och skapa ett nytt med WMS källa (längst ner i listan).

bok17

Kontrollera att det nyss skapade ”Workspace” är valt och skriv in ett passande namn på WMS källan. Ange samma URL som i QGIS från tidigare inlägg för att ansluta till WMS tjänsten på QGIS Server. Något användarnamn och lösenord behövs inte.

I nästa fönster så väljer man att publicera de tjänster man vill av de som är tillgängliga. Klicka på ”Publish” och sedan ”Save”, några inställningar i övrigt behövs egentligen inte om instruktionerna tidigare följts. Det går dock att skapa nya Bounding Boxar, projicera om data, lägga in beskrivningar och nyckelord med mera.

I ”Layer preview” går det nu att förhandsgranska tjänsten via Open Layers, eller i Google Earth med flera.

GeoExplorer

Starta webbläsaren på adressen http://192.168.1.42:8080/geoexplorer. Logga in med admin/geoserver och välj att lägga till data. Markera de av de publicerade lagren som skall vara med och klicka på ”Add Layers” och därefter ”Done”.

Zooma kartan till ett önskat startläge och klicka på ”Map”/”Export Map”.

bok18

Markera de funktionen som skall vara aktiva för användarna och klicka på ”Next”. Det går att testa genom att använda ”Preview”.

I nästa fönster så kan man välja mellan ett antal förvalda storlekar, men detta kan redigeras manuellt i textfältet. När man är nöjd så kopieras texten och används på andra webbsidor för att klistra in den nyss tillverkade kartan. Det enda som krävs är att webbservern inte förbjuder taggen ”<iframe>”.

För att testa så går det att använda Apache på servern men en enkel html fil sparad lokalt fungerar lika bra.

bok19.pnt

Nu har du ett system med server och klientmjukvara för att skapa, redigera, publicera och skapa webbkartor som enkelt kan bakas in i en befintlig webbsajt. Är du intresserad av att bygga en egen webbapplikation så får du hålla dig till nästa vecka, när vi fortsätter med Del 6.

Ett system för geografisk information

Detta är en uppdatering av ett tidigare inlägg där jag försökte skapa ett ”komplett” system för att hantera geografisk information och kartor för GIS och webb.

Den här gången så går jag inte in på detaljer när det gäller installationen utan använder mitt skript för installation på Ubuntu Server 12.04 LTS, så vill du testa så är det där du skall börja. Jag installerar en virtuell server med Oracle VM VirtualBox på en Windows 7 klient (64-bit), men det går precis lika bra att installera på en fysisk dator om så önskas.

Jag har valt Windows på klienten för att det blir lite enklare att hantera filer i nätverk med QGIS för användarna, och det är ju klart vanligast med Windows som klient i de flesta nätverk.

När servern är grundinstallerad (defaultinställningar för det mesta och eget val för datornamn och användare) så kör jag mitt skript:

sudo su
wget http://geosupport.kvarnarp.eksjo.com/files/geosupport.sh
sh opengeo.sh

När skriptet kör så väljer jag defaultvärden för OpenGeo Suite samt att installera PostGIS. Jag lägger även till Drupal (CMS) och QGIS-Server, men inte Nuxeo (DMS).

Skriv ner information om datornamn, IP-adress, extra instruktioner och liknande medan skriptet kör. När det står viktig information på skärmen så pausar skriptet och väntar på att du skall göra något så var inte orolig för att texten rullar på för fort. Det som måste fixas är lösenord för postgres-användaren och din användare för Samba fildelning i nätverket. Instruktioner för hur detta går till får man i skriptet. Det sista som jag gör efter installationen är att starta om servern (för säkerhets skull):

reboot

Konfigurera Drupal

Använd en webbläsare och skriv in IP-adressen till servern. Då skall du få upp ett webbgränssnitt för att konfigurera klart din webbserver.

blogg2

Det är nu du skall använda det lösenord som du skapat för postgres användaren i PostgreSQL (databas: drupal, användare: postgres, lösenord: *******). När detta är klart så skall du bara ändra tillbaka rättigheterna till konfigurationsfilerna på servern:

chmod a-w /var/www/sites/default/
chmod a-w /var/www/sites/default/settings.php

Skapa karta (Steg 1)

I QGIS på klienten så skapar jag min karta som jag vill att den skall se ut. Data måste vara tillgängligt från servern så i mitt exempel använder jag PostGis data från Medford exemplet som följer med GeoServer. Projektfilen från QGIS sparar jag på den delade resursen ”QGIS” på servern.

Nu går det att komma åt kartan via WMS på adressen: http://Server-IP/cgi-bin/qgis_mapserv.fcgi?SERVICE=WMS&VERSION=1.3.0&REQUEST=GetCapabilities. Om du skriver in adressen i en webbläsare så skall du få upp dit QGIS-projekt som ett lager i XML-texten. Om detta fungerar så är nu ”tjänsten” publicerad.

In i systemet (Steg 2)

Det går redan nu att använda den skapade tjänsten med OpenLayers, men då blir det till att skriva lite kod själv. Jag går i stället igenom det ”lata” alternativet.

I Geoserver (http://Server-IP:8080/geoserver) så skapas ett nytt workspace, jag döper mitt till ”Geosupport”. Därefter läggs en ny ”Store” till som pekar på QGIS-Server (WMS adressen från steg 1). Det finns flera lager i tjänsten (ett för varje lager i QGIS och ett för hela projektet), men jag väljer det för hela projektet att publisera. På så sätt så kan jag faktiskt lägga till mer data i fler lager och få dessa publiserade i tjänsten utan att behöva upprepa detta och nästa steg. Det räcker att projektfilen från steg 1 ovan redigeras.

Skapa webbkartan (Steg 3)

I GeoExplorer (http://Server-IP:8080/geoexplorer) så skapar jag en karta med de bakgrundskartor jag vill ha med, samt lägger till den i steg 2 skapade ”Geosupport” tjänsten från den lokala Geoservern. Sedan är det bara att Exportera kartan och kopiera den rad med HTML kod som visas.

blogg3

Koden klistras sedan in i en ny sida i Drupal och sim-sala-bim så har man sin karta på hemsidan.

blogg4

Problem på vägen

Det är många tjänster som körs samtidigt så det är mycket som kan gå fel. En dedikerad server är nog bättre än en virtuell.

WMS tjänsten på Geoserver cachar lagerna, vilket i sig kan ta lite tid, men som även kan göra att uppdateringar i QGIS projektet kan ta lite tid innan de slår igenom, men det är inga större problem.

Projekt skapade med QGIS-1.8 fungerar inte… Men om man använder 1.9 (utvecklingsversionen) så fungerar det bra.

Använder du OpenGeo Suite?

Den 20 Februari släpps version 3.0.2, men det finns redan information på deras hemsida.

Det handlar inte om några som helst nyheter, utan det är en säkerhetsuppgradering av GeoExplorer.

GeoExplorer är mera ”hands on” karthantering för de data som finns på GeoServern i OpenGeo Suite. Det går att titta på data, fixa stilmallar och mycket enkelt skapa kod för att infoga på en hemsida. Testa här.

Använd GeoExplorer för att skapa GIS för hemsidor

I OpenGeo Suite så finns väldigt användarvänliga verktyg, inte minst GeoExplorer.

I gårdagens inlägg så nämnde jag möjligheten att infoga kartor i websidor med hjälp av GeoExplorer. Efter att ha installerat ännu en ny virtuell Linux Server så tänkte jag visa hur detta kan gå till.

Du når GeoExplorer via ”Dashboard” eller ”http://din geoserver/geoexplorer”.

Detta är i princip en digital atlas där man kan lägga till lager från den egna geoservern.

Innan det går att få ut något i slutändan så måste man först logga in. Detta görs med de vanliga inloggningsuppgifterna för geoservern.

Sedan kan man panorera och zooma till ett önskat område, lägga till lager med mera. När man är klar så klickar man på ”Publish map”, och väljer vilka verktyg som användarna skall kunna komma åt i den färdiga kartan.

När man är klar så får man fram en enkel HTML kod som hänvisar till den karta man nu skapat på Geoservern. Kopiera och klistra in koden på en hemsida och voila!

Ovanstående är hämtat från en installation på en virtuell server och finns endast för testverksamhet. Du kan själv testa att installera på en virtuell server med Oracle VritualBox på såväl Windows, Linux som MacOS X.