Als Mapserver arbeitet
Zuletzt haben wir darüber gesprochen, warum einige Kriterien MapServer und die Grundlagen der Installation. Lassen Sie uns nun einen Teil seiner Funktionsweise in einer Übung mit den Karten der Chiapas-Freunde sehen.
Wo es besteigt
Sobald Apache installiert ist, ist das Standard-MapServer-Veröffentlichungsverzeichnis der Ordner OSGeo4W direkt über C:
Im Inneren gibt es verschiedene Ordner mit Anwendungen, je nachdem, was installiert ist. Der Ordner für die Veröffentlichung muss sich jedoch in Apache befinden. In diesem Fall ist der Ordner gis.
- Dann in dem Ordner enthält Datenschichten, Ortho usw.
- Im Ordner etc befinden sich die für die Beschriftungen verwendeten echten Schriftarten mit der Erweiterung .ttf. Auch hier ist eine txt-Datei, die sie hebt, und eine andere, die Symbole definiert.
- Und schließlich in den Ordner httdocs steigen Webseiten, die Service.
Die Website
Im Beispiel werde ich den zuletzt gezeigten Fall verwenden. Es enthält im Grunde eine Indexdatei, die zu einer HTML-Erweiterung umleitet, und dies wiederum erhöht die Funktionen, die auf einem PHP und den Maps aufgebaut sind. Ein Ordner enthält die von der Seite verlinkten Bilder.
Wenn wir es uns ansehen, ist das HTML nur die Shell, die aus Tabellen aufgebaut ist und die Mapscript / PHP-Funktionen aufruft. Sie sollten aufstehen mit:
http://localhost/gis/gispalenque.phtml
Laufen hinunter das Ergebnis gezeigt:
- Funktionszentrum GMapDrawMap (),
- Recht der Ruf an keymap GMapDrawKeyMap (),
- Maßstabsleiste unten GMapDrawScaleBar (),
- und wenn Deployment-Funktionen in Bezug auf eine Bedingung, die listbox if (! IsHtmlMode ()) echo " mit Entscheidungen: ZOOM_IN, ZOOM_OUT, RECENTER, QUERY_POINT.
Bereits ausgeführt wird, sieht das Display wie folgt aus:
Die .map Dateien
Die Kombination der Mapserver-Publikation ist in dem, was Apache auslöst, das php durch mapscript und das kommt dann aus dieser Hülle. Der größte Teil der Wissenschaft befindet sich jedoch in den .map-Dateien, nicht zu verwechseln mit denen, die von Mapinfo, Manifold oder Mobile Mapper Office mit derselben Erweiterung generiert wurden.
Diese .map sind Textdateien, die die Karte in Skriptform enthalten. Diese können mit Desktop-Programmen wie Quantum GIS erstellt werden, wenn Sie feststellen, dass es eines für die Hauptkarte, eines für die Keymap und zwei für die OGC-Dienste wms und wfs gibt. Mal sehen, wie Mapscript funktioniert:
MAP
Der Name PALENQUE_DEMO
STATUS ON
SIZE 600 450
SYMBOLSET ../etc/symbols.txt
604299 1933386 610503 1939300 Ausdehnung aller #VISTA Karte von Palenque
#EXTENT 605786 1935102 608000 1938800 01 #SOLO der Sektor
UNITS METER
SHAPEPATH "../data"
ON TRANSPARENT
IMAGECOLOR 255 255 255
fontset ../etc/fonts.txt
- MAP zeigt an, dass das Skript initiiert
- STATUS zeigt an, ob die Karte standardmäßig aktiviert ist oder nicht
- SIZE ist die Größe des Einsatzes
- SYMBOLSET zeigt den Pfad der Symbole
- EXTENT sind die Anzeigekoordinaten. Das Symbol # wird zum Erstellen von Anmerkungen verwendet
- Einheiten für die Einheiten
- SHAPEPATH, der Pfad, wo die Schichten
- Alle am Ende werden mit dem Befehl END beenden
Im Innern beginnt der Code mit einer Befehlszeile und endet mit END, zB Minimal- und Maximalpegel; temporäres Verzeichnis der Bilder:
WEB
MINSCALE 2000000
MAXSCALE 50000000IMAGEPATH "C: \ OSGeo4W / tmp / ms_tmp /"
IMAGEURL "/ ms_tmp /"
ENDE
Maßstab:
scalebar
IMAGECOLOR 255 255 255
LABEL
FARBE 0 0 0
KLEINE GRÖSSE
ENDE
SIZE 300 5
FARBE 255 255 255
BACKGROUND 0 0 0
OUTLINECOLOR 0 0 0
UNITS Kilometer
Intervalle 3
STATUS ON
ENDE
Eine Rasterebene: Diese wird im Hintergrund mit einer Beschreibung in der Liste als "Orthophoto" von einem TIFF im Datenordner angezeigt:
LAYER
NAME Orthophoto
METADATEN
BESCHREIBUNG OrtoFoto
ENDE
TYP RASTER
STATUS AUS
DATA "C: \ OSGeo4W / apps / gis / data / ortofotoGral.tif"
#OFFSITE 0 0 0
ENDE
Eine shp-Schicht aus Polygonen, thematisiert anhand von Kriterien, hebt einige Daten auf einer HTML-Vorlage hervor, mit einem sans font label, Größe 6, schwarzer Farbe und weißen Kanten des 5-Puffers ...
LAYER
NAME Sektor02Zone
TYP POLYGON
STATUS AUS
TRANSPARENZ 50
EXTENT 607852 1935706 610804 1938807 METADATA
"BESCHREIBUNG" "Thema nach Wertesektor 02"
"RESULT_FIELDS" "MsLink Cve_Mz Cve_Pred Prop Area Perimeter VALUE"
ENDE
DATEN PALENQUE_SECTOR01
TEMPLATE "ttt_query.html"
TOLERANZ 5
#TOLERANZEINHEITEN PIXEL
LABELITEM "VALUE"
KLASSE "WERT"
LABELCACHE EIN
KLASSE
SYMBOL 1
FARBE 128 128 128
OUTLINECOLOR 0 0 0
NAME "ZonaNULL"
AUSDRUCK ([WERT] = 0)
LABEL
WINKEL AUTO
FARBE 0 0 0
FONT Sans
TYP TRUETYPE
POSITION cc
FALSCH partials
PUFFER 5
SIZE 6
OUTLINECOLOR 200 200 200
ENDE
ENDE #Klasse 0-Wert
KLASSE
SYMBOL 3
FARBE 255 128 128
#COLOR -1 -1 -1 #SIN FILLING
.... und so nahe an
ENDE
END #Klassenwert
END # Schicht
Abschließend
Daher wird die Arbeit mit Mapserver, obwohl sie recht einfach ist, für große Aufträge komplex und sehr eingeschränkt, da sich alles in der .map befindet. Der größte Nachteil ist, dass alles zu Fuß erledigt wird, z. B. jede Farbe in einem Thema definiert wird. Aus diesem Grund entstehen Tools wie CartoWeb, die auf Mapserver funktionieren, aber integrierte Plugins und Beispiele mit Eigenschaften enthalten, die diese primitive Version aussehen lassen das readme zuerst:
- Separate Rahmen mit AJAX zu arbeiten, um sie separat zu aktualisieren
- Parsen der Code, so dass ein Skript die .map umschreiben basierend auf konfigurierbaren Kriterien
- Zurück dynamische Verschiebung ohne Auffrischung erforderlich ist, als ob es sich um eine Schicht Gratbildung
- Vektorbearbeitung online, schreiben-on-Cache
- Entladungsschicht in Vektorform
- In Google Earth exportieren
- Generieren Sie Deployment PDF
In einem nächsten Blick werfen wir einen Blick auf CartoWeb, hier lasse ich den Link zu den Hauptbeispielen.
Keine Möglichkeit, die Standard-Ausgabevorlage phtml dank haben
Hallo,
Ich versuche, eine Schicht von der .map zu nennen wie folgt:
LAYER
Der Name casas_prueba
TYPE POINT
CONNECTION OGR
VERBINDUNG #”virtual.ovf”
"
xxxxx
AUSFÜHRUNG …….
eess_id
wkbPoint
WGS84
"
Mein Problem ist, dass der DSN-Dienst Probleme verursacht: Wenn er ein GetCapabilities anfordert, gibt er das Datenbankkennwort zurück ... kann ich eine Datei aufrufen, um zu vermeiden, dass das Kennwort "verschenkt" wird, oder handelt es sich um einen DSN-Fehler???? Danke!
MapServer ist ein beliebtes Open Source-Projekt, dessen Ziel es ist, dynamische räumliche Karten über das Internet anzuzeigen. Ein bereitgestelltes Laufwerk ist ein Laufwerk, das einem leeren Ordner auf einem Volume zugeordnet ist, das das NTFS-Dateisystem verwendet. Angehängte Laufwerke funktionieren wie alle anderen Laufwerke, ihnen werden jedoch Laufwerkspfade anstelle von Laufwerksbuchstaben zugewiesen.