2011. szeptember 6., kedd

Webes térképezés alapjai I

Korábban volt néhány webtérkép nekifutásom, de annyira összetett egy használható webtérkép összehozása, hogy folyton vakvágányra kerültem, főleg úgy, hogy nem vagyok programozó:)

I. Adatok előkészítése:

Kell némi vektoros és raszteres adat. Vektoros adatoknak az openstreetmap adatait használom Bosznia Hercegovinára. Raszteres adatnak pedig az srtm megfelelő lesz.

Feltelepített postgresql/postgis adatbáziskezelőben létrehozok egy adatbázist és betöltöm a letöltött vektoros adatokat:
~$ createdb bosnia -T postgis_sablon
~$ osm2pgsql -d bosnia bosnia-herzegovina.osm.bz2
Célszerű kulcs mezőt hozzáadni a táblákhoz, mert ez nem történik meg.
Ezután létrehozok egy srtm nevű könyvtárat a /home/inf-mapserver/terkepszerver könyvtáron belül és bemásolom az srtm letöltött zip fájlát, és kicsomagolom.
Ahhoz, hogy qgis alatt normálisan nézzen ki:

gdalwarp -t_srs EPSG:900913 srtm_40_04.tif srtm_google.tif
gdaldem hillshade srtm_google.tif srtm_google_shaded.tif

Qgis alatt csatlakozom az adatbázishoz (EPSG:900913 -ban importált be), és behívom az srtm állományt, majd ráközelítek Szarajevora:


II. Mapserver

Telepítése:


sudo apt-get install cgi-mapserver mapserver-bin mapserver-doc php5-mapscript python-mapscript

Ezután az /etc/apache2/sites-enabled/000-dafault fájlt így írtam át.

Mivel az EPSG:900913 nem írták be az epsg rendszerbe, így hozzá kell adni egy sort a /usr/share/proj/epsg fájlhoz:

<900913> +proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0 +k=1.0 +units=m +nadgrids=@null +no_defs <>

Mapserverhez kell egy .map fájl: Innen le lehet tölteni az enyémet
Annyiban kell módosítani, hogy a jelszót és a felhasználónevet kell átírni a postgresql adatbáziskezelőhöz, illetve a wms onlineresource sort saját ipre, vagy localhostra átírni. 

A rasztereket nem célszerű közvetlenül használni a map layerként, én gdaltindex segítségével készítettem egy shape állományt, a layer-ben is erre hivatkozom.

Qgis-ben regisztrálni kell az új wms-t:
Az url mezőbe az előbb beírt wms onlineresource sort kell beírni. 

III. Tilecache

WMS nem túl jó dolog, pl légifotókat renderelve megeszi a számítógépet:) Rasztereket ezért érdemes cachelni (keselni?) .

Telepítem:
sudo aptitude install tilecache
Szerkesztésre megnyitom a /etc/tilecache.cfg fájlt és bejegyzem ezeket a sorokat:

[SRTM]
type=WMS
url=http://10.80.3.151/cgi-bin/mapserv?map=/home/inf-mapserver/terkepszerver/bosnia.map
layers=SRTM
spherical_mercator=true

Jelenlegi cfg-m kicsit kaotikusabb (innen) letölthető.
Bezárom, majd a Qgis-ben regisztrálom (url=http://10.80.3.151/cgi-bin/tilecache.cgi). Ez egy wms-c szolgáltatás, sajnos Esri szoftverek nem támogatják... Ezután már behívható (Qgis 1.7) a réteg ugyanúgy, ahogy az előbb a mapserver esetében.

Nincsenek megjegyzések:

Megjegyzés küldése