Nykyinen versio |
Oma tekstisi |
Rivi 1: |
Rivi 1: |
| {{Ohjelma
| | Mapserver on Minnesotan yliopiston yhteistyössä NASAn kanssa kehittämä ohjelma, jolla voi tuottaa mm. tietokannassa olevasta paikkatietoaineistosta karttakuvia. |
| | nimi=Mapserver
| |
| | kuva=[[Tiedosto:Mapserver.png|150px]]
| |
| | kuvateksti=
| |
| | käyttöliittymä=[[palvelin]]
| |
| | lisenssi=[[MIT-lisenssi]]
| |
| | kotisivu=[http://mapserver.org/ mapserver.org]
| |
| }}
| |
|
| |
|
| '''Mapserver''' on Minnesotan yliopiston yhteistyössä NASAn kanssa kehittämä ohjelma, jolla voi tuottaa mm. tietokannassa olevasta paikkatietoaineistosta karttakuvia. Mapserver on vaihtoehto [[Geoserver|Geoserverille]].
| | 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 |
|
| |
|
| [[Tiedosto:Osm-mapserver.png|thumb|right|OpenStreetMap-aineistoa Suomesta Mapserverillä piirrettynä]]
| | Asenna osm2pgsql (sen riippuvuudet asentaa samalla mm. PostgreSQL:n), mapserverin cgi-versio, Apache ja Subversion |
| [[Tiedosto:Osm-mapserver-world.png|thumb|right|Koko maailmasta on vain rannikoiden rajat tässä esimerkissä]]
| | sudo apt-get install osm2pgsql cgi-mapserver mapserver-bin apache2 subversion |
| | |
| 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. Ohjeen pääasiallisena lähteenä on toiminut http://trac.osgeo.org/mapserver/wiki/RenderingOsmData
| |
| | |
| == Tietokannan valmistelu ==
| |
|
| |
|
| ''postgres''-nimisenä käyttäjänä luodaan tietokanta ja asennetaan sinne PostGIS-laajennus
| | Postgre-nimisenä käyttäjänä luo tietokanta ja asenna sinne PostGIS-laajennus |
| sudo -u postgres createdb osm | | sudo -u postgres createdb osm |
| sudo -u postgres createlang plpgsql osm | | sudo -u postgres createlang plpgsql osm |
Rivi 27: |
Rivi 16: |
| cd /var/www/ | | cd /var/www/ |
|
| |
|
| Lataa finland.osm.bz2 Geofabrikin palvelimelta (180MB) | | Lataa finland.osm.bz2 Geofabrikin palvelimelta |
| wget http://download.geofabrik.de/osm/europe/finland.osm.bz2 | | wget http://download.geofabrik.de/osm/europe/finland.osm.bz2 |
|
| |
|
| Muunna aineisto tietokantaan siten, että RAM-muistia käytetään enintään 3 GB. Ota käyttöön myös taulukoiden etuliite "osm" (-p osm), koska se on oletuksena jälkikäsittelyskriptissä. Optio -l säilyttää OSM datan EPSG:4326-projektiossa. | | 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 | | sudo -u postgres osm2pgsql -d osm -p osm -s -C 3000 -l finland.osm.bz2 |
|
| |
|
Rivi 62: |
Rivi 51: |
| wms_srs "epsg:4326 epsg:900913" | | wms_srs "epsg:4326 epsg:900913" |
|
| |
|
| Nyt voit komentoriviltä tuottaa karttakuvia, esim:
| | Asenna OpenLayers |
| shp2img -m osm-mapserver.map -o osm.png -e 19.0832097 59.3714049 31.5868545 70.0947393
| |
| | |
| Komennon suorittaminen kesti 2.4 GHz -koneellani ensimmäisessä ajossa noin 6 minuuttia, mutta toisella ajolla vain 1,5 minuuttia, koska noin 1,7 GB aineisto oli valmiiksi RAM-muistissa, kiitos Linuxin muistinhallinnan. Jos tekee kuvan pienemmästä alueesta, esim. ''shp2img -m osm-mapserver.map -o osm.png -e 25 65 26 66'', menee siihen vain pari sekuntia.
| |
| | |
| Voit myös millä tahansa WMS-yhteensopivalla karttaohjelmalla avata kartan osoitteesta ''http://localhost/cgi-bin/mapserv?/var/www/mapserver-utils-read-only/osm-mapserver.map
| |
| | |
| == Selainpohjainen kartta OpenLayersillä ==
| |
| | |
| Edellä tehtyä karttaa voi selata myös selainpohjaisesti OpenLayersillä.
| |
| | |
| Lataa OpenLayers ja sitä käyttävä esimerkkisivu
| |
| cd /var/www/ | | cd /var/www/ |
| wget http://openlayers.org/download/OpenLayers-2.10.tar.gz | | wget http://openlayers.org/download/OpenLayers-2.10.tar.gz |
| gunzip openlayers-mapserver.zip | | gunzip openlayers-mapserver.zip |
| wget http://otto.kekalainen.net/karttaohjelmat/openlayers-mapserver.html | | |
| | Lataa tästä wikistä html-mallisivu |
| | wget |
|
| |
|
| Sitten vain selaimella osoitteeseen http://localhost/openlayers-mapserver.html niin kartan pitäisi latautua näköiseksi. | | Sitten vain selaimella osoitteeseen http://localhost/openlayers-mapserver.html niin kartan pitäisi latautua näköiseksi. |
|
| |
| Kuvan latautuminen riippuu tietokoneen tehosta. Isoimmilla suurennustasoilla piirtoon tarvitaan paljon laskentaa ja kuvan tekoon voi mennä kymmeniä sekunteja. Isommilla suurennuksilla kuvan piirtoon menee enää muutama sekunti.
| |
|
| |
| === Laattapohjainen kartta ===
| |
|
| |
| Kartan latautumisnopeuden saa sekunneista millisekuntiehin käyttämällä ns. karttakuvalaattoja. Ubuntun pakettivarastosta löytyy suoraan tilecache-ohjelma.
| |
| sudo apt-get install tilecache
| |
|
| |
| Lataa räätälöidyt asetustiedostot
| |
| cd /var/www/mapserver-utils-read-only/
| |
| wget http://otto.kekalainen.net/karttaohjelmat/Makefile
| |
| wget http://otto.kekalainen.net/karttaohjelmat/tilecache.cfg
| |
|
| |
| Luo karttakuvalaatat
| |
| make tiles
| |
|
| |
| Luonti kestää kauan. Jos et jaksa odottaa tai kiintolevytila on loppumassa, keskeytä painamalla Ctrl+C
| |
|
| |
| Itse ajoin make tiles -komentoa noin 15 tuntia, ja siinä ajassa 2,4 GHz prosessori oli ehtinyt piirtämisessä 10-tason lähennyksen puoliväliin.
| |
| [[Tiedosto:Osm-ol.png|thumb|right|Tampereen yliopiston alue 10-tason lähennyksellä]]
| |
|
| |
| {| class="wikitable"
| |
| |-
| |
| ! Lähennystaso
| |
| ! Kuvalaattojen määrä
| |
| ! Kuvalaattojen yhteenlaskettu tiedostokoko
| |
| |-
| |
| | 00
| |
| | 900 kpl
| |
| | 4,8 MB
| |
| |-
| |
| | 01
| |
| | 900 kpl
| |
| | 5,3 MB
| |
| |-
| |
| | 02
| |
| | 1350 kpl
| |
| | 5,5 MB
| |
| |-
| |
| | 03
| |
| | 2700 kpl
| |
| | 8,8 MB
| |
| |-
| |
| | 04
| |
| | 5400 kpl
| |
| | 22 MB
| |
| |-
| |
| | 05
| |
| | kpl
| |
| | 51 MB
| |
| |-
| |
| | 06
| |
| | 13500 kpl
| |
| | 117 MB
| |
| |-
| |
| | 07
| |
| | 62100 kpl
| |
| | 415 MB
| |
| |-
| |
| | 08
| |
| | 217800 kpl
| |
| | 1,3 GB
| |
| |-
| |
| | 09
| |
| | 832050 kpl
| |
| | 3,9 GB
| |
| |-
| |
| | 10
| |
| | ~4 miljoonaa kpl
| |
| | ~16 GB
| |
| |-
| |
| | 11
| |
| | ''ei mitattu''
| |
| | ''ei mitattu''
| |
| |}
| |
|
| |
| Jos haluat selata karttaa TMS-standardilla, lataa
| |
| wget http://otto.kekalainen.net/karttaohjelmat/openlayers-tilecache.html
| |
|
| |
| ja avaa selaimessa http://localhost/openlayers-tilecache.html
| |
|
| |
| Vastaavasti suoraan kiintolevyltä ja WMS-C-standardilla voi selata valmiita karttatiiliä huippunopeasti sivulla
| |
| wget http://otto.kekalainen.net/karttaohjelmat/openlayers-wms-c.html
| |
|
| |
| ..ja avaa selaimessa http://localhost/openlayers-wms-c.html
| |
|
| |
|
| |
| Paikkatietojärjestelmät ovat melko monimutkaisia, joten kannatta opiskella kunnolla kaikki käsitteet (datumit, projektiot, extend, bounding box jne) sekä selailla manuaaleja ja muita oppaita netissä. Tämä sivu on vain pikainen johdatus aiheeseen ja omat muistiinpanoni miten sain kaikki toimimaan.
| |
|
| |
| == Jakelukohtaista ==
| |
|
| |
| === Ubuntu ===
| |
| Ohje on testattu Ubuntu 10.04:llä ja todennäköisesti toimii kaikissa Debian-pohjaisissa jakeluissa.
| |
|
| |
| Tarvittavat paketit:
| |
| * osm2pgsql (sen riippuvuudet asentaa samalla mm. PostgreSQL:n),
| |
| * mapserverin cgi-versio
| |
| * Apache
| |
| * Subversion
| |
|
| |
| Asennuskomento:
| |
| sudo apt-get install osm2pgsql cgi-mapserver mapserver-bin apache2 subversion
| |
|
| |
|
| |
| [[Luokka: Ohjeet]]
| |
| [[Luokka:Paikkatieto-ohjelmat]]
| |