GeoServer

Kohteesta Linux.fi
Loikkaa: valikkoon, hakuun
GeoServer

Käyttöliittymä palvelin
Lisenssi GPLv2
Kotisivu geoserver.org

Oman GeoServer-palvelimen asennus OpenStreetMap.org-paikkatiedolla[muokkaa]

GeoServerin asennus on melko helppoa, mutta omien tyylitiedostojen ja karttatasojen määrittely on hyvin työlästä, joten asennuksessa kannattaa hyödyntää OSM in a box -projektin pakettia.

OSM-in-a-box:sta puuttuu toistaiseksi pohjataso, joka jakaa maailman maa- ja merialueisiin, jota kartalla on paljon valkoista (läpinäkyvää).
Vertailukohtana Osmarenderin piirtämä kartta OSM-aineistosta.

Tämä ohje on testattu Ubuntu 10.04 LTS:llä.

Asenna ensin tarvittavat ohjelmistot

sudo apt-get install unzip tomcat6 tomcat6-admin osm2pgsql postgis postgresql-8.4-hstore-new

Postgre-nimisenä käyttäjänä luo tietokanta ja asenna sinne PostGIS-laajennukset

sudo -u postgres createdb osm
sudo -u postgres createlang plpgsql osm
sudo -u postgres psql -d osm -f /usr/share/postgresql/8.4/contrib/postgis-1.5/postgis.sql 
sudo -u postgres psql -d osm -f /usr/share/postgresql/8.4/contrib/postgis-1.5/spatial_ref_sys.sql 
sudo -u postgres psql -d osm -f /usr/share/postgresql/8.4/contrib/postgis_comments.sql
sudo -u postgres psql -d osm -f  /usr/share/postgresql/8.4/contrib/hstore-new.sql

Jos jokin menee pieleen ja haluat tuhota tietokannan, käytä komentoa sudo -u postgres dropdb osm

Aseta postgres-käyttäjälle salasana, jolla GeoServer pääsee lukemaan tietokantaa.

sudo -u postgres psql -d osm -c "ALTER USER postgres WITH PASSWORD 'ottotestaa'"

Lataa OSM-in-a-box

sudo wget http://geometa.hsr.ch/releases/OSM-in-a-box_1.0/osm2gis/release/osminabox1.0_unix.zip/osminabox1.0_unix.zip
sudo unzip osminabox1.0_unix.zip

Korjaa installeriin:

echo "Set osm2gis directory [/var/www/osm2gis]:"
..
       then osm2gisdir="/var/www/osm2gis"
..
echo "Set tomcat directory [/var/lib/tomcat6/webapps]:" 
..
       then tomcatdir="/var/lib/tomcat6/webapps"
..
#rm -rf $tomcatdir/geoserver/data
mkdir $tomcatdir/webapps/geoserver/data

Tomcat pitää pysäyttää tai se sotkee GeoServerin asennus skriptin toimintaa. Skriptin virheen takia

sudo /etc/init.d/tomcat6 stop

Suorita asennus

sudo chmod +x installer.sh 
sudo ./installer.sh

Käynnistä taas Tomcat

sudo /etc/init.d/tomcat6 start

Lataa paikkatiedot

wget http://downloads.cloudmade.com/europe/finland/finland.osm.bz2
cd osm2gis
sudo ./osm2gis.sh --initial-import -f /var/www/finland.osm.bz2 -d osm -u postgres -p ottotestaa

Avaa http://localhost:8080/geoserver/gwc/demo/osm?gridSet=EPSG:900913&format=image/png - jos kaikki meni hyvin niin näet Suomen pikkuruisena sinisenä alueena.

Paremman aloitusnäkymän saamiseksi aseta keskipiste ja lähennystasoksi tiedostossa /var/lib/tomcat6/webapps/osm2gisdemo/index.html

// initial position and zoom of the map
var lon = 30;
var lat = 65;
var zoom = 4;

Kannattaa myös muuttaa kohdassa buffer: 0 luku 0 isommaksi, esim. 1 tai 2, jolloin karttakuvia latautuu myös näkymän ulkopuolelta etukäteen valmiiksi siten, että karttaa raahatessa kartan reunaa ei ehdi nähdä ja kartan latautuminen vaikuttaa saumattomalta.

Avaa sitten http://localhost:8080/osm2gisdemo/

GeoWebCache[muokkaa]

Karttakuvat voi tuottaa etukäteen, jolloin karttanäkymät latautuvat nopeamin. Seedauksen voi suorittaa sivulta http://localhost:8080/geoserver/gwc/rest/seed/osm Jos kuvien luonnin rajaa Suomen alueelle (2124333,8261098,3516232,11099621) ja lähennystasoille 00-12, tuottaa se 57213 kpl kuvalaattoja (yhteensä 324 MB). Kerran tehtyjen kuvien lataus kestää OpenLayers-käyttöliittymällä noin 2 ms/kuva, eli erittäin nopeaa. Jos näkymä piirretään ensimmäistä kertaa, menee sen latautumiseen 4-9 sekuntia.

Oletuksena cache tulee kansion /tmp/tomcat6-tmp/geowebcachelta alle, joten kannattaa muuttaa temp-ympäristömuuttujaa, mikäli haluaa välimuistit pysyviksi. Lisää tiedoston /usr/share/tomcat6/bin/catalina.sh alkuun rivi

CATALINA_TMPDIR="/var/cache/catalina"

ja luo kansio

sudo mkdir /var/cache/catalina
sudo chown tomcat6:adm /var/cache/catalina

Lisää nopeutta hommaan saa kun lisää käytettävissä olevan muistin määrää tiedostossa /etc/default/tomcat6

JAVA_OPTS="-Djava.awt.headless=true -Xmx2500m"

Muutoksen jälkeen uudelleenkäynnistä Tomcat

sudo /etc/init.d/tomcat6 restart