

MapCache gyorstalpaló¶
A MapCache egy csempe szerver, mely meggyorsítja a hozzáférést a WMS réteghez. CGI alkalmazásként futtatható több különböző web szerver alatt vagy mint egy Apache modul. Az OSGeoLive-on a MapCache-t mint Apache modult telepítettük és konfiguráltuk.
Ez a gyorstalpaló bemutatja hogyan adjunk egy új WMS réteget a MapCache beállításhoz, hogyan jelenítsük a csempe szolgáltatást egy OpenLayers web térképen, és hogyan töltsük fel a gyorstárat a parancssorból.
Tartalom
Új csempekészlet hozzáadása és megjelenítése OpenLayers-ben¶
A MapCache-t XML fájlok felhasználasával konfigurálták. Az OSGeoLive egy minta konfigurációs fájlt tartalmaz /usr/local/share/mapcache/mapcache-quickstart.xml
. A példa az OSGeoLive Itasca megyei demó MapServer alkalmazást használja forrásként.
Ebben a gyorstalpalóban egy további WMS rétegre állítjuk be a csempe gyorstárazást és megjelenítjük a csempéket egy OpenLayers térképet tartalmazó egyszerű HTML oldalon.
Először nyissa meg a MapCache konfigurációs fájlt a FeatherPad szövegszerkesztőben. A parancssorból megnyitott FeatherPad ellenőrzi a jogosultságokat, elmentheti a fájlt System Tools > QTerminallal majd futtassa az alábbi parancsot:
sudo featherpad
A következő link: http://localhost/itasca/?service=wms&request=getcapabilities megnyitásával Láthatjuk mely rétegek érhetők el a forrás WMS szerverünkben, a MapCachet úgy konfigurálták, hogy az általa nem kezelt kéréseket, például GetCapabilities, a MapServer-hez továbbítsa az alább bemutatott szabállyal:
<forwarding_rule name="catch all">
<http>
<url>http://localhost/cgi-bin/mapserv?map=/usr/local/www/docs_maps/mapserver_demos/itasca/itasca.map</url>
</http>
</forwarding_rule>
Az egyik a WMS Capabilities dokumentumban listázott rétegek közül a dlgstln2
- patakok Itasca megyében. Hozzáadjuk ezt a MapCache szolgáltatáshoz mint egy új csempe készlet. Először hozzáadunk egy <source> `` blokkot - ez a konfiguráció az adatok kinyeréséhez a WMS szerverből. Adja a következő XML blokkot a létező ``mapcache-quickstart.xml``hez ``<source name="lake_source" type="wms">...</source>
tavakhoz használt blokk után:
<source name="streams_source" type="wms">
<getmap>
<params>
<FORMAT>image/png</FORMAT>
<LAYERS>dlgstln2</LAYERS>
<MAP>/usr/local/www/docs_maps/mapserver_demos/itasca/itasca.map</MAP>
</params>
</getmap>
<http>
<url>http://localhost/cgi-bin/mapserv?</url>
</http>
</source>
Az <params>
blokkot használjuk a WMS rétegnév és a képformátum átadására a WMS szerverhez, a MapServer specifikus <map>
paraméterrel. A WMS szerver URL-je a <http>
blokkban van. Az összes konfiguráció fájl elem dokumentációjához nézze meg a Konfiguráció documentációt.
Ezután hozzáadunk egy <tileset>
blokkot, mely megadja, hogyan tároljuk a forrást és hogyan szolgáltatjuk csempeként. Helyezze el a következő blokkot a létező <tileset name="lakes">...</tileset>
blokk után.
<tileset name="streams">
<source>streams_source</source>
<cache>disk</cache>
<grid>GoogleMapsCompatible</grid>
<format>PNG</format>
</tileset>
A rács típust a beépített GoogleMapsCompatible
rácsra állítjuk, melyet sok web térkép alkalmazás alapértelmezett csempe sémaként használ. A name=streams
-et használja a kliens alkalmazás a csempekészlet eléréséhez. Lemez alapú gyorsítótárat használunk (inkább mint adatbázisban tárolt csempéket vagy felhő környezetet).
Bármikor a MapCache konfiguráció fájl módosítása után a módosítások érvényesítése érdekében újra be kell tölteni az Apache-t. Ez a parancssorból futtatható a következőképpen:
sudo apachectl -k graceful
Most már elérheti a csempét a következő URL-el: http://localhost/itasca/gmaps/streams@GoogleMapsCompatible/12/987/1433.png

Most adjuk a csempe készletet az OpenLayers térképünkhöz. Nyissa meg a HTML oldalt a következő parancs használatával:
sudo featherpad /var/www/html/mapcache-quickstart/index.html
Szüntesse meg a komment jeleket az alábbi JavaScript kódban:
,new ol.layer.Tile({
source: new ol.source.XYZ({
url: 'http://localhost/itasca/gmaps/streams@GoogleMapsCompatible/{z}/{x}/{y}.png'
})
})
Most frissítse azt oldalt http://localhost/mapcache-quickstart/ - látnia kell a MapCache által szolgáltatott új patakok réteget.

Ahogy böngészi a térképet láthatja a csempe mappákat a /var/cache/mapcache
-ben PGN képekkel feltöltve.

A gyorsítótár helyét és típusát a konfiguráció fájlban állíthatjuk be a következő blokkal:
<cache name="disk" type="disk">
<base>/var/cache/mapcache</base>
<symlink_blank/>
</cache>
Új szolgáltatás hozzáadása¶
Úgy konfigurálhatja az Apache-t, hogy több különböző MapCache szolgáltatást futtasson, mindegyiket a saját konfiguráció fájljával, az /etc/apache2/conf-enabled/mapcache.conf
fájl szerkesztésével. Mivel ez rendszergazda jogosultságot igényel, megnyithatja szerkesztésre a FeatherPad-ben a következő paranccsal:
sudo featherpad /etc/apache2/conf-enabled/mapcache.conf
Az OSGeoLive két MapCache szolgáltatással rendelkezik, mindegyikhez tartozik egy alias és egy konfigurációs fájl. Az alias a szerveren használandó URL pl. http://localhost/mapcache and http://localhost/itasca
<IfModule mapcache_module>
<Directory /path/to/directory>
Order Allow,Deny
Allow from all
</Directory>
MapCacheAlias /mapcache "/usr/share/doc/libapache2-mod-mapcache/examples/mapcache.xml"
MapCacheAlias /itasca "/home/user/mapcache.xml"
</IfModule>
Egy új szolgáltatás hozzáadásához egyszerűen adjon egy új sort a következő formátumban, helyettesítse a WEB_PATH-t és a PATH_TO_CONFIG_FILE-t a megfelelő paraméterekkel:
MapCacheAlias WEB_PATH "PATH_TO_CONFIG_FILE"
Lásd az Apache modul instrukciókat az Apache modul konfigurálás további részleteiről.
A feltöltő alkalmazás¶
A térkép csempéket dinamikusan hozzuk létre, amikor a web szerver kéri. A lekérdezési idők felgyorsítására egy parancssori alkalmazással csempéket generálhatunk. Ezt az eljárást mint feltöltést ismerjük és a MapCache parancssori alkalmazás a mapcache_seed
.
Annak biztosítására, hogy a feltöltő alkalmazás által létrehozott csempék elérhetők legyenek a web szerver felhasználó számára a sudo -u www-data
részt adjuk a mapcache_seed
alkalmazás futtatása elé.
Az alábbi példában három paramétert adunk át a mapcache_seed
-nek:
config:
/home/user/mapcache/mapcache-quickstart.xml
- ez az elérési út a MapCache konfigurációs fájlhoztileset:
lakes
- ez a csempe készlet neve, melyet feltöltünk és amapcache-quickstart.xml
-ben találhatózoom:
0,5
- ez a nagyítási szintek tartománya, melyet feltöltünk, a 0-s nagyítási szinttől (a világ terjedelme egyetlen csempében) az 5-ös nagyítási szintig
sudo -u www-data mapcache_seed --config /home/user/mapcache/mapcache-quickstart.xml --tileset lakes --zoom 0,5
További számos más mapcache_seed
paraméterekhez kérjük nézze meg a Seeder dokumentációt.

Ha el akar távolítani egy gyorstár mappát, a következő parancsot futtathatja:
sudo rm -r /var/cache/mapcache/lakes
Mi a következő?¶
Olvassa el a MapCache Dokumentációt.
Csatlakozzon a MapServer közösséghez, melynek része a MapCache a levelező listákon az elképzelések megosztásához, a lehetséges fejlesztések megvitatásához és kérdések feltételéhez.