Mapserver

Linux.fista
Versio hetkellä 18. marraskuuta 2010 kello 22.00 – tehnyt Otto (keskustelu | muokkaukset) (Ak: Uusi sivu: Mapserver on Minnesotan yliopiston yhteistyössä NASAn kanssa kehittämä ohjelma, jolla voi tuottaa mm. tietokannassa olevasta paikkatietoaineistosta karttakuvia. Tällä sivulla o...)
(ero) ← Vanhempi versio | Nykyinen versio (ero) | Uudempi versio → (ero)
Siirry navigaatioon Siirry hakuun

Mapserver on Minnesotan yliopiston yhteistyössä NASAn kanssa kehittämä ohjelma, jolla voi tuottaa mm. tietokannassa olevasta paikkatietoaineistosta karttakuvia.

Tällä sivulla on ohje, miten omalle koneelleen voi asentaa Mapserverin sekä OpenStreetMap.org:n Suomen paikkatietoaineistot ja selata karttaa OpenLayers-käyttöliittymäkomponentilla. Ohje on testattu Ubuntu 10.04:llä ja todennäköisesti toimii kaikissa Debian-pohjaisissa jakeluissa. Ohjeen pääasiallisena lähteenä on toiminut http://trac.osgeo.org/mapserver/wiki/RenderingOsmData

Asenna osm2pgsql (sen riippuvuudet asentaa samalla mm. PostgreSQL:n), mapserverin cgi-versio, Apache ja Subversion

sudo apt-get install osm2pgsql cgi-mapserver mapserver-bin apache2 subversion

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

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.sql 
sudo -u postgres psql -d osm -f /usr/share/postgresql/8.4/contrib/spatial_ref_sys.sql 
sudo -u postgres psql -d osm -f /usr/share/postgresql/8.4/contrib/postgis_comments.sql 

Siirry www-kansioon

cd /var/www/

Lataa finland.osm.bz2 Geofabrikin palvelimelta

wget http://download.geofabrik.de/osm/europe/finland.osm.bz2

Muunna aineisto tietokantaan siten, että RAM-muistia käytetään eninään 3 GB. Ota käyttöön myös taulukoiden etuliite on "osm" (-p osm), koska se on oletuksena jälkikäsittelyskriptissä. Optio -l säilyttää OSM datan EPSG:4326-projektiossa.

sudo -u postgres osm2pgsql -d osm -p osm -s -C 3000 -l finland.osm.bz2 

Luo käyttäjätunnus, jonka jälkikäsittelyskripti olettaa löytävänsä.

sudo -u postgres psql -d osm -c "create user \"www-data\" with password 'www-data'"

Lataa mapserveriin OSM-karttatiedoston tekoon tarvittavat skriptit

svn checkout http://mapserver-utils.googlecode.com/svn/trunk/ mapserver-utils-read-only

Siirry kansioon

cd mapserver-utils-read-only/

Aja jäkikäsittely

sudo -u postgres psql -d osm -f postprocess.sql 

Tarkista kartan laajuus

sudo -u postgres psql -d osm -c "SELECT extent(way) FROM osm_line"

Muokaa Makefilen kohta "cpp-4.2" vastaamaan cpp-versiotasi (Ubuntu 10.04:ssä 4.4).

nano Makefile 

Lisää riville 38:

extent="19.0832097,59.3714049,31.5868545,70.0947393"

Luo karttatiedosto (skripti myös lataa Shapefilen, jota tarvitaan karttatiedoston luomiseen.)

make

Jos karttatiedoston luominen ei onnistu, tarkista että järjestelmässä on cpp ja muut käännöstyökalut asennettuna.

Valmiiseen tiedostoon osm-mapserver.map muuta riville 19:

wms_srs "epsg:4326 epsg:900913"

Asenna OpenLayers

cd /var/www/
wget http://openlayers.org/download/OpenLayers-2.10.tar.gz
gunzip openlayers-mapserver.zip

Lataa tästä wikistä html-mallisivu

wget

Sitten vain selaimella osoitteeseen http://localhost/openlayers-mapserver.html niin kartan pitäisi latautua näköiseksi.