Mehr

WMS mit PostGIS, MapServer und Apache einrichten

WMS mit PostGIS, MapServer und Apache einrichten


Ich versuche, einen Webkartendienst (WMS) zum Rendern einiger Shape-Dateien einzurichten, die ich in einer PostGIS-Datenbank gespeichert habe. Ich habe mich entschieden, MapServer für die Rendering-Engine zu verwenden und habe es auf meinem Ubuntu-Rechner mit Unterstützung von PostGIS installiert. Ich habe für mein Projekt einen virtuellen Host in Apache eingerichtet und ein teilweises Setup von (http://postgis.refractions.net/docs/ch05.html) gefunden, das die Verbindung zu PostGIS von Mapserver zeigt, z.

LAYER CONNECTIONTYPE postgis NAME "widehighways" # Herstellen einer Verbindung zu einer entfernten räumlichen Datenbank CONNECTION "user=dbuser dbname=gisdatabase host=bigserver" VERARBEITUNG "CLOSE_CONNECTION=DEFER" # Holen Sie sich die Zeilen aus der Spalte 'geom' der Tabelle 'roads' DATA " Geom von Straßen mit srid=4326 mit eindeutigem Gid" STATUS ON TYPE LINE END

Ich kann jedoch kein vollständiges Beispiel finden, das zeigt, wie gekachelte Karten vom Kartenserver bereitgestellt werden. Kann jemand beim Rendern von PNG-Kacheln vom Kartenserver helfen oder auf ein Beispiel verweisen. Vielen Dank.


Nun, für die Verbindung zwischen Mapserver und Postgis sollten Sie die Mapserver-Dokumentation unter http://mapserver.org/input/vector/postgis.html überprüfen

Das ist für die Datenverbindung, dann müssen Sie Ihre Daten formatieren (MapServer-Dokumente sind großartig) und dann entscheiden, welchen Client Sie verwenden möchten.

Sie fragen nach gekachelten PNGs, daher gehe ich davon aus, dass Sie nach einem Web-Mapping-Client suchen. Es gibt Tonnen, abhängig von Ihrem Kontext und Ihren Anforderungen, daher werde ich jetzt keine empfehlen.


Die Mapserver-Dokumentation enthält hier ein Beispiel für die Verwendung von Mapserver im Kachelmodus.

Für das Styling ist dies ein grundlegendes Beispiel für eine Klasse und einen Stil für den Layertyp LINE:

KLASSENNAME 'BLUELINES' STYLE BREITE 7.0 FARBE 0 0 255 END END

die Linien in Blau mit einer Breite von 7 blue rendert GRÖßENEINHEITEN. Größeneinheiten werden auf Layer-Ebene definiert und sind standardmäßig Pixel, können aber Meilen, Meter usw. sein. Details und Beispiele finden Sie in der Mapserver-Dokumentation und im Wiki. Diese Seite enthält viele Beispiele für kartografische Symbole, die Ihnen den Einstieg erleichtern sollten.

[off topic] Da Sie Portgres als Backend verwenden, sollte ich Ihnen ein Upgrade (falls nicht bereits) auf die neueste Version empfehlen, da die vorherigen eine bösartige SQL-Injection-Sicherheitslücke hatten, wie hier beschrieben. [/vom Thema]


Eine Sache, die Sie versuchen können, ist die Verwendung von shp2img in der Befehlszeile, um weitere Informationen zu Fehlern zu erhalten.

Sie scheinen zusätzliche Anführungszeichen in der Verbindungszeichenfolge zu haben, obwohl ich nicht sicher bin, ob das wichtig ist.

Siehe das Beispiel für WMS-T mit PostGIS-Kachelindex für Rasterbilder aus den Mapserver-Dokumenten (ein weiteres Beispiel finden Sie bei MapServer TILEINDEXes mit Datenbank-RASTERS). Mit einer Postgis-gestützten Datenbank erstellen Sie eine TILEINDEX-Ansicht. Dann fügen Sie Ihrer Mapfile zwei Layer hinzu, wie folgt:

Zweite Ebene, die die eigentliche RASTER-Ebene ist

Sie können nach TIME filtern, indem Sie db_raster_layer einen FILTER hinzufügen, wie im WMS-T-Beispiel in den MapServer-Dokumenten. Ein FILTER über Eigenschaften/Attribute der Daten sollte jedoch auf dem Tile-Index (dh im raster_tindex-Layer) leben, wie von Frank Warmerdam in ogr tileindex mit postgis?


Anatomie einer MapServer-Anwendung¶

Die grundlegende Architektur von MapServer-Anwendungen. ¶

Eine einfache MapServer-Anwendung besteht aus:

Kartendatei - eine strukturierte Textkonfigurationsdatei für Ihre MapServer-Anwendung. Es definiert den Bereich Ihrer Karte, teilt dem MapServer-Programm mit, wo sich Ihre Daten befinden und wo Bilder ausgegeben werden sollen. Es definiert auch Ihre Karten-Layer, einschließlich ihrer Datenquelle, Projektionen und Symbologie. Es muss die Erweiterung .map haben, sonst erkennt MapServer es nicht.

Geografische Daten - MapServer kann viele geografische Datenquellentypen verwenden. Das Standardformat ist das ESRI Shape-Format. Viele andere Datenformate können unterstützt werden. Dies wird weiter unten unter Hinzufügen von Daten zu Ihrer Site erläutert.

HTML-Seiten - die Schnittstelle zwischen dem Benutzer und MapServer . Sie sitzen normalerweise im Web-Root. In seiner einfachsten Form kann MapServer aufgerufen werden, um ein statisches Kartenbild auf einer HTML-Seite zu platzieren. Um die Karte interaktiv zu gestalten, wird das Bild in einem HTML-Formular auf einer Seite platziert.

CGI-Programme sind 'zustandslos', jede Anfrage, die sie erhalten, ist neu und sie erinnern sich nicht daran, wann sie das letzte Mal von Ihrer Anwendung getroffen wurden. Aus diesem Grund muss Ihre Anwendung jedes Mal, wenn eine Anfrage an MapServer gesendet wird, Kontextinformationen (welche Layer sind auf der Karte, wo Sie sich auf der Karte befinden, Anwendungsmodus usw.) in versteckten Formularvariablen oder URL-Variablen übergeben.

Eine einfache MapServer CGI-Anwendung kann zwei HTML-Seiten enthalten:

Initialisierungsdatei - verwendet ein Formular mit versteckten Variablen, um eine erste Anfrage an den Webserver und MapServer zu senden. Dieses Formular könnte auf einer anderen Seite platziert oder ersetzt werden, indem die Initialisierungsinformationen als Variablen in einer URL übergeben werden.

Vorlagendatei - steuert, wie die von MapServer ausgegebenen Karten und Legenden im Browser angezeigt werden. Durch Referenzieren von MapServer-CGI-Variablen in der HTML-Vorlage ermöglichen Sie MapServer, diese mit Werten zu füllen, die sich auf den aktuellen Status Ihrer Anwendung beziehen (z. B. Kartenbildname, Referenzbildname, Kartenausdehnung usw.), während die HTML-Seite für die Browser zu lesen. Die Vorlage bestimmt auch, wie der Benutzer mit der MapServer-Anwendung interagieren kann (durchsuchen, zoomen, schwenken, abfragen).

MapServer CGI - Die binäre oder ausführbare Datei, die Anfragen empfängt und Bilder, Daten usw. zurückgibt. Sie befindet sich im cgi-bin- oder scripts-Verzeichnis des Webservers. Der Webserver-Benutzer muss über Ausführungsrechte für das Verzeichnis verfügen, in dem er sich befindet, und sollte sich aus Sicherheitsgründen nicht im Web-Root befinden. Standardmäßig heißt dieses Programm mapserv

Es wird dringend empfohlen, die Sicherheitsschritte für die KARTE= Aufruf der ausführbaren MapServer-Datei, durch Einstellung MS_MAP_PATTERN oder MS_MAP_NO_PATH oder verstecken die KARTE= Parameter auf öffentlichen Servern, wie im Dokument Limit Mapfile Access empfohlen. Alle möglichen Umgebungsvariablen zur Sicherung Ihres Servers sind unter Umgebungsvariablen aufgelistet.

Web-/HTTP-Server - liefert die HTML-Seiten, wenn sie vom Browser des Benutzers aufgerufen werden Sie benötigen einen funktionierenden Webserver (HTTP) wie Apache oder Microsoft Internet Information Server auf dem Computer, auf dem Sie MapServer installieren.


Apache schlägt nach der Installation von MapServer 6.2.0 stumm fehl

./configure --with-ogr=/usr/bin/gdal-config --with-gdal=/usr/bin/gdal-config --with-proj=/usr --with-geos=/usr/bin/ geos-config --with-postgis=/usr/bin/pg_config --with-php=/usr/include/php --with-wfs --with-wfsclient --with-wmsclient --enable-debug --with -threads --with-wcs --with-sos --with-gd --with-freetype=/usr/bin --with-jpeg --with-cairo --with-curl

wenn das sowieso von interesse ist.

Danach schlägt Apache/2.2.15 stillschweigend den Neustart fehl, d. Es gibt nichts von Interesse im Apache error_log, /var/log/messages , und es ist seltsam, weil es bisher immer funktioniert hat.

Mehrmaliges Neustarten der Maschine hat nicht das Problem lösen. Einige andere Sachen, die ich gemacht habe:

Ich vermute, dass dies mit einem PHP-Modul zu tun haben könnte, das von MapServer geändert / hinzugefügt wurde, aber ich weiß es nicht wirklich. Ich weiß nicht einmal, wie man das richtig debuggt.

BEARBEITEN: Okay, /var/log/httpd/error_log ist nicht unbedingt leer, es zeigt eher diese beiden Dinge nach dem Ausführen von /sbin/service/httpd start

Führt der SSL-Fehler zur Beendigung des Startmechanismus? Die Sache ist die, wir haben ein unsigniertes Zertifikat am Laufen, d.h. wir testen https Access, aber noch nicht im Produktionsmodus. Absolut gar nichts wurde in der SSL-Konfiguration von Apache geändert, bevor es nicht mehr funktionierte.

BEARBEITEN2: In der Zwischenzeit habe ich httpd mit yum reinstall httpd neu installiert, das hat nicht das Problem auch lösen.


11.1. MapServer vorbereiten und testen

Vor der Verwendung von MapServer müssen einige Dinge eingerichtet werden. Es gibt einige Unterschiede zwischen den Betriebssystemen, wie z. B. der Name Ihrer ausführbaren MapServer-Datei, wo Dateien gespeichert werden usw.

11.1.1. MapServer für Windows (MS4W)

In Kapitel 4 wurde beschrieben, wie Sie auf das MS4W-Paket zugreifen und es installieren. Sehen Sie sich den MS4W-Teil dieses Kapitels an und lesen Sie, wie Sie den Webserver starten. Eine benutzerdefinierte Anwendung wird später in diesem Kapitel erstellt, aber zuerst müssen Sie verstehen, wie MapServer in der MS4W-Umgebung funktioniert.

MS4W wird mit einer Version des Apache HTTP-Webservers geliefert. Das MapServer-Programm wird im cgi-bin-Ordner von Apache gespeichert, dem Hauptspeicherort für viele Webprogramme. Wenn Sie Ihre eigene mapserv.exe-Datei kompiliert haben, installieren Sie sie, indem Sie sie in den cgi-bin-Ordner kopieren. Standardmäßig befindet sich dieser Ordner im Ordner ms4wApachecgi-bin auf dem Laufwerk, auf dem MS4W installiert ist (z. C: oderD: ). Dort können sich mehrere Versionen von MapServer befinden. Zum Beispiel ist mapserv_36.exe MapServer Version 3.6 (sehr veraltet) und mapserv_44.exe ist die neueste Version 4.4. Normalerweise heißt die neuere Version einfach mapserv.exe .

11.1.2. MapServer unter Linux mit Apache

Die Vorbereitung von MapServer unter Linux wird auch in Kapitel 4 beschrieben. Die Installation des MapServer CGI-Programms erfolgt ähnlich wie bei MS4W. Das Kartendienst Die ausführbare Datei wird einfach in den cgi-bin-Ordner von Apache kopiert (oder verlinkt). Unter SuSE Linux befindet sich der Ordner cgi-bin des Webservers beispielsweise unter /srv/www/cgi-bin . Das Kartendienst Anwendung muss in diesen Ordner kopiert werden, damit der Webserver darauf zugreifen kann. Diese Anweisungen gelten auch für Nicht-MS4W-Installationen von Apache auf anderen Plattformen.

11.1.3. Apache konfigurieren

Die Konfiguration von Apache für die Verwendung von MapServer muss nicht kompliziert sein. Wenn du die Kartendienst/mapserv.exe Programm in den standardmäßigen cgi-bin-Speicherort des Webservers, kann es sein, dass nicht mehr viel zu tun ist, um das Programm zum Laufen zu bringen. Der nächste Abschnitt enthält einige Beispieltests, um zu sehen, ob es ordnungsgemäß ausgeführt wird.

Es gibt weitere Einstellungen, die Sie benötigen, um auf Karten zuzugreifen, die von MapServer erstellt wurden. Wenn MapServer ausgeführt wird, benötigt es einen temporären Bereich, um die Bilder für Karten, Legenden, Maßstabsleisten usw. zu erstellen. Dieser temporäre Ordner muss auch für das Internet zugänglich sein, damit Benutzer die von MapServer erstellten Bilder anzeigen können.

11.1.3.1 Speicherort des temporären Windows-Image-Ordners

MS4W wird mit einem bereits eingerichteten temporären Ordner geliefert. Dieser Ordner ist c:ms4w mpms_tmp . Die Apache-Konfigurationsdatei unter c:ms4wApacheconfhttpd.conf richtet diesen Ordner mit einem alias namens /ms_tmp . Das bedeutet, wenn eine Webanwendung eine Datei in /ms_tmp anfordert, sucht Apache nach der Datei in c:ms4w mpms_tmp . Wenn MapServer beispielsweise ein Kartenbild unter c:ms4w mpms_tmpmymap.png erstellt hat, fordert die Webanwendung die Anzeige des Bilds unter Verwendung einer URL wie http://localhost/ms_tmp/mymap.png an.

Wichtig ist, dass MS4W alle temporären Kartenbilddateien in diesem Ordner erstellt.

11.1.3.2 Speicherort des temporären Linux-Image-Ordners

Wenn Sie eine Neuinstallation von Apache verwenden, müssen Sie Ihren temporären Speicherort und Alias ​​in den Konfigurationsdateien manuell einrichten. Es gibt mehrere Möglichkeiten, die Einstellungen zu konfigurieren. Eine Methode, die Apache 2 unter SuSE Linux verwendet, wird hier beschrieben. Sie können Ihren temporären MapServer-Ordner überall in Ihrem Dateisystem einrichten. Um es einfach zu halten, können Sie es direkt unter dem Stammordner htdocs ablegen. Dies bedeutet, dass Sie keinen Alias ​​für Apache erstellen müssen, da der Ordner ein untergeordnetes Element des Stammordners des Webservers ist.

Der Root-Webordner kann beispielsweise in der Datei /etc/apache2/httpd.conf festgelegt und als DocumentRoot /srv/www/htdocs angegeben werden.

Sie können Ihren temporären Bildordner in /srv/www/htdocs/ms_tmp erstellen, damit MapServer ihn finden kann, wenn er in http://localhost/ms_tmp gesucht wird. Als Schnelltest: Wenn Ihr früheres Image mymap.png in /srv/www/htdocs/ms_tmp platziert ist, sollten Sie es unter http://localhost/ms_tmp/mymap.png sehen können.

Die Berechtigungen für den Ordner ms_tmp müssen richtig eingestellt sein, damit MapServer die Kartenbilder speichern kann. Der Trick besteht darin, den Webserver-Benutzer und die Gruppe als Eigentümer des Ordners zuzuweisen. Sie können dann den Befehl ausführen:

Dadurch sollte es für den Webserver und damit für MapServer zugänglich sein. Dieser Vorgang wird auf anderen Plattformen variieren, je nachdem, wie Ihr Webserver verwendet wird, aber die Konzepte sind dieselben.

Der Unterschied zwischen dem Dateisystempfad zum ms_tmp-Ordner (er muss übrigens nicht ms_tmp heißen, nennen Sie ihn wie immer Sie wollen) und der Online-URL ist sehr wichtig, wenn Sie Ihre MapServer-Anwendungen einrichten. MapServer muss wissen, wohin im Dateisystem er die Kartenbilddateien schreiben kann. Es muss auch wissen, welche URL an den Webbrowser zurückgesendet werden muss, um die Kartenbilder in die Webseite zu laden.

Es kann hilfreich sein, sich diese zwei verschiedenen Möglichkeiten zum Auffinden des Ordners vorzustellen, indem man sich den Dateisystempfad als den internen oder privaten Ordner vorstellt, in dem nur der Webserver Dateien erstellen kann, und die URL als den öffentlichen Ordner, in dem jeder die Dateien anzeigen kann, aber nicht ändere sie.

11.1.4. Testen und Fehlerbehebung

Sie können einige Tests durchführen, um zu überprüfen, ob das MapServer-Programm richtig eingerichtet ist. Die Einrichtung von MS4W und Linux mit Apache ist sehr ähnlich, es gibt jedoch einige erwähnenswerte Unterschiede.

11.1.4.1 Testen von mapserv.exe unter Windows

Der erste Schritt zum Testen von MS4W setzt voraus, dass der Webserver läuft, wie in Kapitel 4 beschrieben. Um zu testen, ob die ausführbare MapServer-Datei (mapserv.exe) verfügbar ist, stellen Sie eine direkte Anfrage ohne Parameter. Zeigen Sie in Ihrem Webbrowser beispielsweise auf http://localhost/cgi-bin/mapserv.exe. Sie sollten eine Nachricht wie diese erhalten:

Das ist eine gute Sache. Es ist eine Nachricht, die direkt von MapServer kommt. Sie haben keine der erforderlichen Details zur Verarbeitung an MapServer übergeben, aber die Nachricht bestätigt, dass Sie eine Anfrage stellen konnten. Es ist auch eine Erinnerung daran, dass Sie MapServer nicht auf diese Weise ausführen werden. Wenn Sie andere Fehler erhalten, liegt entweder ein Berechtigungsproblem vor und Apache kann nicht auf die angeforderte Datei zugreifen, oder der Webserver läuft nicht ordnungsgemäß.

11.1.4.2 Testen von mapserv mit Apache unter Linux

Das MapServer-Programm unter Linux kann auf die gleiche Weise wie MS4W getestet werden. Der einzige Unterschied besteht darin, dass der Name des Programms etwas anders ist.

Unter Linux gibt es keine standardmäßigen Dateinamensuffixe wie .exe, die Ihnen sagen, welche Dateien ausführbar sind und welche nicht. Stattdessen gibt es Dateiberechtigungen. Unter Linux heißt das Hauptprogramm MapServer einfach simply Kartendienst. Dies ist dieselbe Datei, die zuvor in diesem Kapitel besprochen und in den Ordner cgi-bin des Webservers kopiert wurde.

Testen Sie die Kartendienst auf einem Linux- und Apache-System ausführbar, indem Sie auf die URL http://localhost/cgi-bin/mapserv gehen. Beachten Sie, dass es kein .exe-Suffix gibt. Sie sollten von MapServer den gleichen Hinweis erhalten wie bei den MS4W-Beispielen zuvor:

11.1.5. Testen des MapServer-Setups mit einer Demoanwendung

Um zu testen, ob MapServer tatsächlich Karten erstellen kann, bauen Sie auf den Demonstrationskartendateien auf, die mit den Befehlszeilenwerkzeugen in Kapitel 10 verwendet werden.

Der Shapefile-Datensatz country_simpl kann als komprimierte Archivdatei von http://ftp.intevation.de/freegis/worlddata/freegis_worlddata-0.1_simpl.tar.gz heruntergeladen werden.

Das Kartendatei-Beispiel aus Kapitel 10 wird weiter angepasst und zu einer webbasierten Anwendung gemacht. Dazu sind drei Dateien beteiligt:

Speichert alle Einstellungen, die zum Zeichnen der Karte erforderlich sind

Erstellt erste Einstellungen und startet die erste Karte

Eine MapServer-Vorlage wird ausgefüllt, um die aktuelle Karte, Legende usw. anzuzeigen.

Abbildung 11-1 zeigt, wie die Basisanwendung beginnt, mit einer Startseite, die Einstellungen an das CGI sendet, um eine Karte zu erstellen.

Abbildung 11-1. Die Startseite initialisiert MapServer, indem sie ihm eine Kartendatei und ein HTML-Vorlagendokument übergibt

Beispiel 11-1 nimmt die Demo-Map-Datei global.map , die im vorherigen Kapitel verwendet wurde, und fügt die erforderlichen Einstellungen hinzu, um daraus eine Webkarte zu machen. Die zusätzlichen Einstellungen sind hervorgehoben.

Beispiel 11-1. Beispiel für die Kartendatei der globalen Kartenanwendung

Es wurden nur wenige Zeilen hinzugefügt, damit die Kartendatei mit dem Webserver anstelle von Befehlszeilentools funktioniert.

Bei Verwendung von MS4W sieht das WEB-Objekt etwas anders aus:

Ein ganz neues Objekt namens NETZ wurde hinzugefügt. Das Webobjekt besteht aus drei Teilen:

Das SCHABLONE Datei wird durch ein HTML/Webseitendokument spezifiziert. Es sind einige Platzhalter festgelegt, um die von MapServer erstellten Daten zu übernehmen und in eine Ausgabe-Webseite einzubetten. Der HTML-Code auf dieser Seite sollte für Ihre spezielle Anwendung angepasst werden. Die in diesem Kapitel gezeigten Beispiele sind einige der einfachsten. Die Optionen sind endlos und diese Seite kann so gut oder schlecht aussehen, wie Sie möchten.

BILDPFAD ist der Ort im lokalen Dateisystem, an dem MapServer seine temporären Bilder speichern kann. Der Webserver muss in der Lage sein, neue Dateien in diesen Ordner zu schreiben.

BILD URL teilt dem Webbrowser des Benutzers mit, wo sich das ausgegebene Kartenbild befinden soll. Dies ist nicht der Speicherort des Dateisystems, sondern ein Zeiger auf denselben Speicherort wie BILDPFAD über eine Internet-URL. In diesem Fall kommt /tmp/ vom Apache Dokument Root das ist /srv/www/htdocs/ . Es wird kein spezieller Alias ​​eingerichtet, nur der relative Pfad zum Speicherort der Kartendatei.

LABELMAXSCALE 50000000 wurde auch hinzugefügt Länder Schicht. Dadurch wird die Karte so eingestellt, dass Beschriftungen nur angezeigt werden, wenn auf einen bestimmten Kartenmaßstab gezoomt wird. Der Maßstab der ursprünglichen Karte ist so klein, dass Bulgarien kaum sichtbar ist. Wenn Sie eine Beschriftung über dem Land haben, ist es stattdessen schwieriger, sie zu sehen. Wenn Sie in einen besser lesbaren Maßstab hineinzoomen, werden die Beschriftungen angezeigt.

Wenn diese Kartendateieinstellungen vorhanden sind, können Sie eine Initialisierungsseite einrichten. Diese Seite wird aufgerufen index.html und sein Inhalt ist in Beispiel 11-2 aufgeführt. Die Seite kann beliebig aufgerufen werden.

Um die Beispiele einfach zu halten, können Sie alle hier vorgestellten Dateien in den Hauptdokumentordner des Webservers legen. Sie werden diese wahrscheinlich in Zukunft an einen anderen Ort verschieben wollen, aber jetzt legen Sie sie an:

Unter Windows mit MS4W: ms4wapachehtdocs

Beispiel 11-2. Auflistung der index.html MapServer-Initialisierungsseite

Dieses Beispiel ist fast so reduziert, wie es nur sein kann. Es gibt einen Titel und eine Überschrift auf der Seite. Ansonsten dient der Rest des HTML-Codes zum Starten von MapServer. Diese Seite kann vollständig angepasst werden, solange das Formular und seine Variablen beibehalten werden.

Alles, was diese Seite zeigt, ist eine einzige Schaltfläche: Starten Sie MapServer. Hinter der Seite befinden sich eine Reihe von versteckten Einstellungen, die beim Absenden des Formulars an MapServer übergeben werden. Dies startet die erste Karte. Nach dem Start der Anwendung wird die Die Seite index.html wird nicht verwendet.

CGI-Anwendungen funktionieren wie Börsenmakler. Börsenmakler erhalten bestimmte Anfragen, Informationen und eine Provision. Im Gegenzug stellen sie dem Kunden einige Aktien zur Verfügung.

MapServer CGI-Anwendungen empfangen Kartenanfragen, einschließlich Informationen wie geografische Ausdehnung, anzuzeigende Layer usw. Sie geben dann eine Webseite mit dem angeforderten Karteninhalt zurück. Glücklicherweise erfordern CGI-Anwendungen keine Provision.

Die Seite index.html ist für die Anwendung nicht unbedingt erforderlich, erleichtert jedoch den Einstieg erheblich. Wenn Sie wissen, wie Sie die richtige Anfrage manuell erstellen, können Sie eine URL zusammenstellen, die die Karte vom MapServer-CGI anfordert. Nach der ersten Anfrage werden alle Einstellungen und Anfrageinformationen in der URL gespeichert und bei weiteren Anfragen an das CGI zurückgesendet.

Die MapServer CGI-Anwendung sendet dem Betrachter eine neue Webseite. Die URL zu dieser Webseite enthält mehrere Variablen (wie die in index.html definierten)). Wenn ein Benutzer eine Änderung an der Karte anfordert, sendet er diese Variablen zur erneuten Verarbeitung an das CGI zurück. Der Zweck der index.html page besteht darin, den gesamten Prozess zu starten, ohne dass Sie eine komplex aussehende Anfangs-URL haben müssen.

Wie Sie in Beispiel 11-1 gesehen haben, ist in der Map-Datei eine Vorlagendatei namens global.html angegeben. Diese Vorlagendatei ist auch eine in HTML geschriebene Webseite. MapServer nimmt diese Seite und füllt Teile davon, bevor sie an den Webbrowser des Benutzers zurückgesendet wird. Beispiel 11-3 zeigt my global.html-Code.

Beispiel 11-3. Auflistung der MapServer-Vorlagendatei global.html

Wenn Sie mit HTML-Formularen und -Tags vertraut sind, stellen Sie möglicherweise fest, dass die einzigen auf dieser Seite sichtbaren Objekte die Überschrift und der Titel sowie ein Bild sind. Die Bildquelle (SRC) wird von MapServer in Echtzeit ausgefüllt, wenn die Seite generiert wird.

Wenn MapServer global.html auffüllt, sucht er nach MapServer-spezifischen Variablen, wie z [img]. MapServer ersetzt diesen Text durch die URL zum Kartenbild auf der Website. Dies ist das temporäre Kartenbild, das MapServer erstellt hat.

Es gibt viele andere MapServer-Variablen, die in Vorlagendokumenten verwendet werden können. Das [Legende] und [Skalenleiste] Variablen werden später in diesem Kapitel behandelt.

Abbildung 11-2 zeigt die von global.html erstellte Ausgabe-Webseite.

Die Karte sieht genauso aus wie einige Kartenausgaben der Befehlszeilentools in Kapitel 10. Der einzige Unterschied besteht darin, dass diese Karte auf Anfrage von MapServer erstellt und automatisch in eine Webseite eingebettet wird.

Das grundlegende global.html-Template hat praktisch keine Steuerelemente oder zumindest keine, die offensichtlich sind. Steuerelemente bezieht sich auf die Schaltflächen und Kontrollkästchen, die Sie auf vielen Webkarten sehen. Diese wurden bewusst weggelassen, damit dieses Beispiel einfach zu implementieren ist und der HTML-Code nicht unübersichtlicher als nötig ist.

Um mit dieser Karte zu interagieren, klicken Sie einfach auf die Karte und sie zoomt in Richtung dieser Position. Klicken Sie einmal auf die Karte und warten Sie dann, bis die Karte aktualisiert wurde. Sobald das Bild aktualisiert ist, klicken Sie erneut. Beachten Sie, dass die Beschriftung angezeigt wird, wenn Sie in Richtung Bulgarien hineinzoomen. Die Ergebnisse eines zweimaligen Klickens auf die Karte sind in Abbildung 11-3 dargestellt.

Da die Anzahl der Bedienelemente auf ein Minimum beschränkt wurde, gibt es keine Zoom-Out-Schaltflächen. In einer so einfachen Web-Mapping-Anwendung ist die einzige Möglichkeit zum Verkleinern für

Abbildung 11-2. Das grundlegende Beispiel für eine globale Webkarte
Abbildung 11-3. Zoomen Sie auf Bulgarien, indem Sie zweimal auf die Karte klicken

der Benutzer, um in den Webbrowser zurückzukehren. Dies funktioniert tatsächlich einigermaßen intuitiv, da die Benutzer von Webseiten es gewohnt sind, zu vorherigen Seiten zurückzukehren.

Wenn Sie es mit Ihrer Anwendung bis hierher geschafft haben, ist MapServer eingerichtet und läuft gut. Natürlich gibt es viele andere Optionen und Einstellungen, die Sie verwenden können. Einige davon werden im nächsten Abschnitt behandelt, wenn Sie weitere Anpassungen am globalen Kartenbeispiel vornehmen.


Sonntag, 04. Dezember 2005

Datenverfeinerung und Formatübersetzung

Das Ziel dieser speziellen Aufgabe besteht darin, die Quelldaten für die Verwendung auf dem Server vorzubereiten. Die Serverdatenbank benötigt Shape-Dateien als Datenformat, um sie in SVG umzuwandeln, aber die verfügbaren Quelldaten liegen im CAD-DWG-Format vor. Daher ist es wichtig, die Daten zusätzlich zum Filtern der Daten in Shape-Dateien zu übersetzen. Letzteres befasst sich mit der Reduzierung unnötiger Layer, die nicht für die Aufgabe verwendet werden sollen, sich aber noch in den Quelldaten befinden. Die Daten sind ein großer Datensatz, etwa 500 MB, mit mehreren Dateien und jede Datei hat durchschnittlich 100 Schichten und all dies muss bearbeitet werden.

Die Quell-CAD-Daten sind Daten im DWG-Format mit vielen Dateien und Ebenen. Die Daten müssen verfeinert und analysiert werden, um unnötige Dateien und Ebenen zu entfernen. Die DWG-Dateien wurden dann in die Bogenansicht importiert und aus der Bogenansicht als Formdateien exportiert. Die verschiedenen Layer in den Daten wurden in die Bogenansicht importiert: Dazu gehören die Sub-City-Dateien, die Straßendatei und die Datei, die die verschiedenen Kebeles enthält. Sobald sie in Arc Map als Shape-Datei vorliegen, werden sie in einer Karte als verschiedene Ebenen der Karte angezeigt.

Eine andere Möglichkeit wäre, die Daten mit dem FME-Anzug-Übersetzer von dwg in Shape-Dateien zu konvertieren. Der FME-Übersetzer könnte nützlicher sein, wenn es wichtig ist, den Übersetzungsprozess so zu steuern, dass bei der Konvertierung einige Verfeinerungen, Transformationsparameter und Attribut- und Geometriefilterung vorgenommen werden können. Dies ist bei dieser Aufgabe jedoch nicht der Fall, da die Daten nicht so viele Attributdaten haben und diese Bogenansicht vorzugsweise eine bessere Shape-Datei (Behr) als andere Pakete darstellt, da es sich um ein unternehmerisches Format handelt. Die Abbildung zeigt einen Screenshot der Shape-Datei und der Karte von Addis Abeba in Arc-Karte.

Begründung und Ziele

Die Nichtverfügbarkeit der Karte von Addis Abeba im Web ist deutlich sichtbar, wenn man zu den beliebten Web-Kartendienstanbietern wie MapQuest.com oder Google Map geht. Ein einfaches Heranzoomen in Addis Abeba würde mit der Meldung „Wir haben keine Daten auf dieser Ebene“ enden, wie in Abbildung 2 gezeigt.

Eine andere Internetkarte über Äthiopien ist Atlas Ethiopic, die umfangreiche und umfassende geografische Daten ins Web bringt, aber auch hier fehlen die Details, wenn es um die Stadt Addis Abeba geht. Tatsächlich zeigt sie nur die Grenzen der Stadt.

Das Hauptziel dieser Anwendungsentwicklung ist die Entwicklung einer internetbasierten datenbankgestützten interaktiven Kartierungsanwendung basierend auf skalierbaren Vektorgrafiken. Nach Abschluss des Projekts hat die Aufgabe die folgenden Aufgaben erfüllt:

1. SVG-Karte von Addis Abeba
2. Prototypen von Zoom-/Schwenkfunktionen mit dynamischem Datenladen
3. Animiertes Routing der ausgewählten Straßen als Prototyp Prototyp

Das Hauptziel wird die Entwicklung einer SVG-Karte von Addis Abeba sein, die die Grenzen der Hauptstädte und Hauptstraßen zeigt. Die zweite Aufgabe wird in einer ausgewählten Unterstadt und einem ausgewählten Viertel durchgeführt, um die Verwendung der Karte für ihre Benutzer zu zeigen/zu testen. Der andere Prototyp-Testfall besteht darin, ein Typenbeispiel zur Verwendung der SVG-Map für verschiedene Anwendungen zu zeigen. Da es auch zur Verwaltung des Straßenverkehrs verwendet werden kann, wird eine Prototyp-Routenanimation gezeigt.

Das Hauptziel dieser Arbeit ist es daher, die verschiedenen Prototypen von SVG-Kartenbeispielen zu nutzen und diese Werkzeuge zu verwenden, um eine ausgewachsene Internet-Mapping-Site für eine Stadt zu entwickeln, in der Millionen von Menschen leben, unter Verwendung von Open-Source-Servern, Datenbanken, Skripten und Grafiken Technologien.

Methodik

Der erste Schritt bei jeder Aufgabe zur Verbreitung von Geodateninformationen ist die Datenerfassung. Die Daten sollten entweder von Grund auf neu erhoben oder bereits vorhandene Daten zur Verfügung gestellt werden. Die Quelldaten für diese spezielle Aufgabe ist ein 500 MB CAD-Datensatz der Stadt Addis Abeba, der die Informationen zu Straßen, Gebäuden, Landnutzung, Kataster, Vororten und Vierteln enthält, die vom Office for the Revision of Addis Abeba Master Plan 2002 erstellt wurden Wie in Abbildung 2 gezeigt, besteht der erste Schritt darin, diesen großen Datensatz zu analysieren, und Studienschichten sind und werden für die Kartierung der Stadt in dieser Aufgabe nicht benötigt.
Eine der Anforderungen für die SVG-Webkartenerstellung besteht darin, dass die Daten in das ArcView-Shape-Dateiformat übersetzt werden. Für diese Datenübersetzungsaufgabe wird die Feature Manipulation Engine (FME) Professional Suite von Safe Software verwendet, ein Tool zum Extrahieren, Transformieren und Laden von Geodaten. Die FME-Workbench ermöglicht die Feinabstimmung der Daten genau so, wie sie benötigt werden. Es wird verwendet, um CAD-dxf-Formate zu importieren und sie in das ArcView-Formdateiformat zu übersetzen. Die Blöcke im CAD werden in der Shape-Datei in Attribute umgewandelt. Die verschiedenen FME-Workbench-Transformatoren wie Attributfilter, Geometriefilter, Reprojektor, Aggregator usw. können ausgewählt und für die Verwendung in der Übersetzung kombiniert werden. Diese Transformatoren werden beispielsweise verwendet, um die verschiedenen Blockkomponenten in CAD zu aggregieren, das Zielkoordinatensystem festzulegen und die Blöcke herauszufiltern, die für die Shape-Datei nicht erforderlich sind. Der FME Universal Viewer kann dann verwendet werden, um die Daten vor oder nach der Übersetzung anzuzeigen.

Um die Qualität der Daten zu verbessern und vielleicht auch weil ESRI selbst ein gutes Shape-File-Datenformat erstellt, werden die vom FME-Translator erzeugten Shape-File-Daten in ArcView geladen und dann aus ArcView exportiert, um daraus ein ESRI-made zu machen Shape-Datei-Daten. Für die Datenbank wird PostgreSQL/PostGIS verwendet. Andere Spatial-Datenbankpakete wie Oracle Spatial und MySQL können ebenfalls verwendet werden. Aber PostGIS wird gewählt, weil es vollständig ein Open-Source-Paket ist und daher, wenn es effektiv demonstriert wird, für Städte/Unternehmen mit geringem Budget verwendet werden kann, die die Technologie verwenden möchten. PostGIS generiert SVG on-the-fly, während Geodaten in der Datenbank ausgewählt sind. Das Werkzeug zum Laden von Shape-Dateien in PostGIS konvertiert die Shape-Dateien in bekannte Textformate (WKT) und serverseitige Skripterstellung mit PHP zum dynamischen Laden von Daten. Die PostGIS-Datenbank ist in der Lage, Shape-Dateidaten nach erfolgreicher Konvertierung in WKT zu speichern. Aufgrund der enormen Datenmenge müssen einzelne Teile der Daten entsprechend der tatsächlichen Sichtbarkeit des Benutzers und je nach Zoomstufe geladen werden. Mehrere Detailebenen (LOD) werden in Bezug auf verschiedene Datenschichten entwickelt und gespeichert.

Auf der Clientseite würde clientseitiges Scripting unter Verwendung von Java-Skripten verwendet, um die Interaktivität der Benutzeroberfläche zu erhöhen. Zoom- und Panning-Funktionalitäten sind dann zusätzlich zu Animationen möglich. Darüber hinaus werden Daten auf Benutzeranfrage automatisch mithilfe von Ajax-Technologien geladen. Dann wäre es endlich clientseitig möglich, SVG-Maps auszuwählen, mit den Features zu interagieren und sogar Animationen zu erstellen.

Hintergrund- und Literaturübersicht

Im Laufe der Jahre wurden die Entwicklungen im Bereich GIS maßgeblich von den sich schnell entwickelnden Technologien in der IT beeinflusst. Nach der raschen Ausweitung der kostengünstigen Bandbreite im Internet und der Geburt einer neuen Generation von webfähigen Desktop-Computern und mobilen Geräten hat sich GIS von einem zentralisierten GIS, dh Desktop-GIS, zu einem verteilten GIS entwickelt, das einen breiteren Rahmen darstellt, einschließlich Internet-GIS und mobiles GIS, wobei ersteres über das kabelgebundene Internet funktioniert, letzteres über die drahtlosen Kommunikationsnetze. Verteiltes GIS hat tatsächlich das Internet als riesiges Verteilungssystem genutzt, so dass die GIS-Daten und Analysewerkzeuge auf verschiedenen Computern im Internet gespeichert werden können. Benutzer können dann von überall im Internet oder drahtlosen Netzwerken auf diese Daten und Anwendungsprogramme zugreifen, ohne die GIS-Programme tatsächlich auf ihrer Hardware zu installieren, im Gegensatz zu Desktop-GIS-Systemen. Mehrere große räumliche Datenbanken und Analysetools, die im Internet verteilt sind, können dann mithilfe dieser verteilten Systeme potenziell erforscht, abgefragt und extrahiert werden. Verteiltes GIS hat eine breite Palette von Anwendungen in den Bereichen Datenaustausch, Datenverbreitung, Geodatensuche und -abfrage, Online-Datenverarbeitung und standortbasierte Dienste. Da die Aufgabe dieser Anwendungsentwicklungsforschung auf Internet-GIS für die Verbreitung von Geodaten basiert, wird im Folgenden ein wenig mehr auf seine Architektur und technische Grundlage eingegangen.

Internet-GIS ist ein Framework von netzwerkbasierten GIS, das das Internet nutzt, um auf entfernte geografische Informationen und Geoverarbeitungswerkzeuge zuzugreifen (Peng und Tsou, 2004). Es besteht im Wesentlichen aus den vier Komponenten Client, Webserver mit Anwendungsserver, Kartenserver und Datenserver.

In Abbildung 1 dient der Client als Benutzerschnittstelle für die Benutzer zur Interaktion mit den Internet-GIS-Programmen. Es gibt verschiedene Clients, die auf der Clientseite der Architektur verwendet werden können. Ein HTML-basierter Client ist ein Beispiel, aber um die Benutzerfreundlichkeit der Schnittstelle zu erhöhen, verwenden interaktive Clients nach Bedarf andere Skripte wie Dynamic HTML und clientseitige Anwendungen wie Plug-Ins, Java-Applets und ActiveX-Steuerelemente. Der Web- (oder HTTP-)Server empfängt Client-Anfragen, bedient statische Webseiten und ruft Anwendungs-Webserver auf. Depending upon the request, the Web Server could respond by sending existing HTML document /or ready-made images to the client or by sending Java applets/or ActiveX controls to the client or by passing requests to other programs and invoking other programs that could process the queries. Upon passing requests to other programs, the HTTP server needs middlewares that connect it with the Map Server. These middlewares are Application Servers that also manage server transactions, securities and load balance. The Map Server (also called Spatial Server by ESRI) processes client requests and generates results. This is the component of the architecture that enables spatial queries, spatial analysis and generates and delivers maps to the client upon request. The out put of the map server could be a filtered feature data or simple map image. The Data Server serves geospatial and non-spatial data and provides data access and management through SQL.

Geospatial data dissemination and SVGs

Of the variety applications of Distributed GIS currently going on, geospatial data dissemination are said to take the lion’s share. Several organizations make use of internet GIS to disseminate information about land use, traffic information, meteorological information, transport information, city maps, country maps, election maps…etc. Unlike paper maps which have traditionally been used for such services and which are static and passive, web maps are disseminated over the internet for a wider audience. The users can interact, query and select what they need and make analysis unlike paper maps. Several web services are now available that provide spatial information services for free for e.g. Google maps and MapQuest.

There are currently several softwares that are used to develop applications for disseminating geographic information over the internet. Broadly speaking, there are effectively two types of these technologies commercial/proprietary and open source technologies. ESRI’s ArcIMS, Intergraph’s Geomedia Web, MapGuide, MapX and Shockwave Flash (SWF) are commercial packages that require major implementation costs whereas the University of Minnesota Map Server (UMN) and Scalable Vector Graphics (SVG) are examples of open source packages.

Scalable Vector Graphics (SVG) is a powerful and flexible XML-based web standard for describing two dimensional vector graphics (Neumann,2005). It can generate graphics for display on a variety of devices and integrate vector graphics, raster graphics and text. Using scripting languages , it is possible to build interactive graphics applications, including animations. It can be used to display several types of information including quantitative statistics, graphs, maps and technical diagrams. Apart from these web applications, it is used in mobile devices such as SVG Tiny for mobile phones, and SVG Basic for PDA’s and Smart phones. SVG is capable of doing different geometries and supports rich text. Animation can also be implemented using java scripts or other server side scripting languages.

There a few are examples3 that demonstrate the use of SVG for mapping applications. They use open source technologies that enable dynamic data loading as the user zooms/pans on the map. PostgreSQL, which is an SQL compatible open source database and PostGIS, a spatial extension of PostgreSQL, are used in those demos. In addition, PHP web scripting languages (Personal Home Pages) are often used for scripting on the server side in congruence with Apache web server. These examples also demonstrate the possibility of making fully open source SVG based map in terms of the display graphics (SVG), in terms of databases (PostgrSQL/PostGIS), in terms of servers (Apache) and also in terms of scripting languages such as PHP and Java scripts. Proceeding thesis at the Stuttgart university of Applied Sciences already use SVG for visualization purposes5 but without database support and using small amount of data.

One of the most comprehensive and perhaps the only work done on web mapping Ethiopia is Atlas Ethiopic, developed by a researcher in Wagningen University in the Netherlands.4 At the moment, this web map is the most comprehensive and detailed that can be found on the web when it comes to a web map of Ethiopia.
3 Williams, J. and Neuman, A.
5 Worku, D.
4 Kidane, F.

Einführung

Addis Ababa is the capital city of Ethiopia. It was founded in 1886 by Emperor Minilik II of Ethiopia who reigned from 1889 -1909. Impressed by the beauty of the flowering trees of the area, the wife of Minilik II, Empress Taitu is said to have given the name Addis Ababa, which literally means ‘new flower’ in Amharic. The city stretches from 1800 to 3200 meters above sea level, with a population of nearly 3.5 - 4 million. The city grew spontaneously for some time after it was founded and didnot live to see a proper town planning until the Italians invaded Ethiopia and came to Addis Ababa in 1936. Since then, Addis Ababa went through a number of town planning’s some of which had been implimented well and some fairly not. In 1936, a French Planner, and later Italian planners, made their plans for the city. Later, consecutively British and French planners left their fingerprints on the city following a call by the then Emperor. During the time when a socialist regime reigned in Ethiopia in the 1980’s, planners from the socialist block also came to Addis Ababa, for e.g. a Hungarian planner was invited and had made a major contribution on the city. The most significant plan in the city’s history was that made by the Ethio-Italian cooperation Master plan in 1986. The latest in use is a revision of this plan.1

The master plans of the city are often made by the city municipality’s urban planning section and are often limited to paper maps/digital maps in these authorities. But it is in fact required for planning, decision making and management by several authorities and development agents engaged in developing infrastructures for the city or in providing service to the residents. Although it is theoretically possible that the maps of the city can be sold/distributed to the different users, experience shows that such data transfer is not as smooth as it ought to be. Moreover, there is quite often this data-beaurocracy that exists in most countries including well developed ones. Another constraint could be the cost of the data that limits its distribution. Some users may not know that such data exists and thus spend a great deal of resources on data collection that already exists elsewhere and costs much less.

The lack of this harmonized development activities by the different authorities in the city has been witnessed several times as one ‘destroys’ one thing to build some thing else and this has been a major set back in the city’s development and has been the cause of a lot of resources. In order to solve such problems, there must be some sort of media for spatial data sharing amongst the different decision making bodies. Having such a media to disseminate spatial data, for example on the internet, enables a wider body of users to make their decision in harmony with each other leading to smoother and less costly development activities. Building a reliable Spatial Data Infrastructure (SDI) is an ideal solution for the city’s development. In fact, there are some indications of such efforts. For example, the development of a package called Eneramed that stands for the Ethiopian Natural Resources And environMEntal Database, a metadata editor developed with the goal of making Ethiopia’s existing environmental and natural resources more accessible to potential users. This metadata editor aims to enable data sharing amongst water resource, agriculture, environmental protection, mapping, geological survey and meteorological authorities and ministries of the nation.2 This resource is in fact free for use and can be downloaded from the internet. Accurate spatial information and concurrent access to this information is very essential for effective planning, policy and implementation of any urban planning and urban infrastructure implementation. Decisions related to planning, development policies and management can use GIS-based support systems. The use of these support systems can further be broadened by the dissemination of spatial data or use of distributed GIS. The development of a national spatial data infrastructure is a dream come true for the city and the country. But developing a web map of the city would be a good start up for that ideal dream of spatial data infrastructure(SDI).
Although Addis Ababa boasts itself as the capital of Africa hosting the African Union and also a number of other international organizations, it lacks the basic service most big cities in the world take for granted and that is a web map of the city. This is also evidenced by the fact that the major web map service providers like mapQuest and Google maps do not provide a web map of Addis Ababa as they do for other major cities, even at a lower resolution. The Ethiopian Mapping Authority provides thematic and topographic maps of the city at 1:50,000 and a digital map at 1:15,000, the latter being prohibitively expensive for the local market. It is therefore indispensable to devise a way where it would be possible to put a map of Addis Ababa on the web with the minimum possible cost to make it accessible for a larger number of users. For this, SVG, a web standard for displaying two dimensional vector graphics, is selected. The map will be database driven with scripts triggering dynamic data loading as the user interacts with the map. Given the resources used for such application development are mainly open source, such a web map development will solve the problems of many developing cities and towns that aspire to have their spatial data on the web with less expense.
1 Addis Ababa Master Plan Revision Office Report
2 Berhanu, D.

Abstract

Scalable Vector Graphics is a powerful and flexible application language that provides variety of ways to generate two dimensional graphics on the web and different mobile devices. It is an open source technology that can be used with other similarly open technologies such as PostgreSQL/PostGIS for databases, Apache web servers and scripting languages. This integrated open source technology can be used to generate dynamic web maps of cities, in the case of this research, or other applications with budget constraints to invest on commercial packages that need major investment in terms of initial cost, implementation and maintenance. The application development described here uses this open source graphics, database and server technologies to design a database-driven interactive SVG based web map of the city of Addis Ababa, the capital of Ethiopia. Moreover, using scripting languages such as Java scripts and other scripting technologies, the interactivity of the map such as zoom/pan functionalities will be made possible from the client-side and animations can also be implemented on the map as necessary using the scripts. It will be shown that these technologies can be used even for large municipalities.

Keywords: SVG, Open source, Databases, Internet GIS, City map, SDI


Setting up WMS with PostGIS, MapServer and Apache - Geographic Information Systems

PHP MapScript Installation

.NET MapScript Compilation

1. Compiling on Unix

– Introduction
– Obtaining the necessary software
– Anti-Grain Geometry Support
– OGC Support
– Spatial Warehousing
– Compiling
– Installation
明尼苏达大学的地图服务器是一个开放源码和免费可用的地图绘制引擎的网络。由于其开源特性,它可以在各种平台和操作系统上编译。我们将重点讨论如何在类Unix平台上获取、编译和安装MapServer。

INSTALL.CMAKE

mkdir build
cd build
cmake ..
## fix dependency issues
make

以下是一系列的选项,从MapServer的CMakeLists.txt的配置文件中取得的。在选项的描述之后,打开/关闭标志将说明默认情况下是否启用了该选项(在这种情况下,如果找不到依赖项,则cmake步骤将失败)。所有这些都可以通过将“-dwith to xxx=0”或“-dwith to xxx=1”传递到“cmake..”调用来启用或禁用,以覆盖默认选择。

•cairo(svg,pdf)支持:此库需要生成pdf和svg输出。如果在Ubuntu系统上安装了a zre,它可以与aijapt get install-y libcairo2 dev_ a i一起安装。
•KML支持:此渲染器没有外部依赖关系。
•harfbuzz:支持复杂的脚本变形(简化:在字符之间插入连接符的工具)。harfbuzz算法将应用于已确定为非拉丁语的文本字符串(即,harfbuzz导致的速度减慢仅限于实际需要的语言)成形)。需要fribidi。

•cairo SVG Parser支持:with_svgcairo选项是改进SVG支持的建议的一部分。使用此功能需要安装libsvg cairo库,该库位于:http://cairographics.org/snapshots/。您需要编译和安装cairo、libsvg和libsvg cairo。
•SVG支持可以通过未维护的libsvg/libsvg cairo组合或通过librsvg(with_rsvg选项)启用,代价是增加依赖性。如果您的发行版为librsvg提供了一个包,请使用librsvg;如果编译librsvg依赖项的成本太重要,请返回libsvgcairo。

WMS支持
WMS服务器

如果出于某种原因,您不希望得到WMS支持,您可以使用aij-dwith wms=off a i将其强制关闭。
有关使用此功能的详细信息,请参阅WMS服务器。

WFS支持
WFS服务器

如果出于某种原因,你不想得到WFS的支持,你可以使用aij-dwith wfs=off a i强制退出。
有关使用此功能的详细信息,请参阅WFS服务器。

MapServer还可以充当WFS客户机。这实际上意味着,map server从远程服务器的zs wfs输出读取它的zs数据,并将其呈现为地图,就像从shapefile读取数据时一样。

如果出于某种原因,您不想让ZT支持WCS,您可以使用aij-dwith wcs=off a i将其强制关闭。

PostGIS为PostgreSQL对象关系数据库添加了对地理对象的支持。实际上,postgis aijs-耐心地启用了a i PostgreSQL服务器,允许它用作地理信息系统(gis)的后端空间数据库,与esri a zs sde或oracle a zs空间扩展非常相似。Postgis包含在许多a z包装系统中,但如果需要,您也可以自己滚动。

如果出于某种原因您不想获得Postgis支持,您可以使用aij-dwith postgis=off a i将其强制关闭。为了帮助cmake找到Postgis安装,您可以使用cmake_prefix_path选项(例如aij-dcmake_prefix_path=/usr/local/pgsql_a i)。

Oracle空间数据库

3. 编译libcurl。libcurl是一个直接配置/生成/生成安装库。此库仅与其他功能一起使用,因此“aij–with curl config a i won a zt做任何事情,除非类似“aij–with-wmsclient a i”或“aij–with wfsclient a i”。

注意:如果要在访问WMS/WFS服务器时将MAPServer配置为使用SSL,则必须使用_aij–with ssl_a_i选项配置/编译libcurl。有关如何设置此设置的详细信息,请参阅How to set mapserver as a client to access a service over https。

4. 编译/安装可选库。这些可能包括Postgis、Oracle Spatial、Agg、Ming、Pdflib或Mygis。根据需要混合搭配

5. 将mapserver tarball和cd解包到mapserver目录中:

安装
MapServer二进制

mapserver程序本身只包含一个文件,即aijmapserver a i二进制可执行文件。这是一个CGI可执行文件,打算由Web服务器调用和运行。

2. Compiling on Win32
– Introduction
– Compiling
– Set up a Project Directory
– Download MapServer Source Code and Supporting Libraries
– The MapServer source code
– Set Compilation Options
– Compile the Libraries
– Compile MapServer
– Compiling MapServer with PostGIS support
– Common Compiling Errors
– Installation
– Other Helpful Information
– Acknowledgements

There are precompiled Win32 binaries available for the last stable
release and the latest nightly build and they include the most common
options. so you shouldn't have to compile your own executables.

If for some reason you still decide to compile Win32 binaries yourself,
then don't do it unless you really know what you're doing. und
hopefully the rest of this file contains some hints that may help
you. Good Luck!

The easyest way to build Mapserver on Windows on your own is to use the
build-system from http://gisinternals.com/.
GISInternals provide a complete set of sources and dependencies and even
makefiles for the full version of Visual Studio (not Express oder Community).
You don't have to download and compile them all by your own.

If you are not using full version of Visual Studio you can not use the makefiles from GISInternals but you can still use the downloads to make your life easier.

Building with the full version of Visual Studio is easy.
Download the SDK for you version and follow the readme inside the packages.

This Readme will cover the compilation with Visual Studio 2012 Express on
Windows with CMake and the GISInternals-Packages for the following reasons:

- not everybody wants to buy Visual Studio and there is no reason to force
you to buy it just tu build Mapserver on Windows
- CMake is the configuration-system for Linux. Why should you use something
else which needs to be maintainerd?
- as of today, PHP-Mapscript is not suppored for PHP-7. PHP-5.6 is build
with VC11. To make PHP-Mapscript compatible with the downloadable
PHP-Version you need to build with VC11 wich is Visual Studio 2012.
- GISInternals Downloads contain most dependencies. it's way easier

If you want to compile Mapserver with any other version of Visual Studio you
can for sure use this documentation as help but maybe, some things here won't
work for you.

To build Mapserver on Windows with Visual Studio 2012 Express you need
Visual Studio 2012 Express installed.
Install CMake (https://cmake.org/) and add CMake bin-directory to your PATH
environment variable. You can even to this after opening VS2012 x86 Native
Tools Command Prompt by entering:
set PATH=%PATH%"C:Program FilesCMakein"
. if CMake is installed to "C:Program FilesCMake" )

For our first build, we will use stable releases to build mapserver.
Download MSVC 2012 win32 Packages for GDAL-2.1.2 and Mapserver-7.0.2 from http://gisinternals.com/release.php.
We need "Compiled binaries in a single .zip package", "GDAL and MapServer sources" and "Compiled libraries and headers".
Download the MSVC 2012 win32 Developement Kit from http://gisinternals.com/sdk.php.
Extract everything to C:devwork elease-1700-gdal-2-1-2-mapserver-7-0-2.
There should be the directories inside now: bin, doc, gdal, include, lib, regex-0.12, relase-1700, .
After you got this done, feel free to use other packages which fit your needs better.

Download at least Mapserver-7.0.3 or current 7.0-Branch from github
and extract or clone from github to C:devworkmapserver.

After downloading and extracting everything, to build Mapserver, follow this steps:
1. Open VS2012 x86 Native Tools Command Prompt (i'm german, hope it is translated
correctly).
2. Add CMake-bin to your PATH:
set PATH=%PATH%"C:Program FilesCMakein"
3. Create build-Directory:
mkdir C:devworkmapserveruild
cd C:devworkmapserveruild
4. Configure:
cmake .. -G "NMake Makefiles" -DBUILD_SHARED_LIBS=1 -DCMAKE_BUILD_TYPE=Release -Wno-dev
cmake .. -DCMAKE_PREFIX_PATH=C:devwork elease-1700-gdal-2-1-2-mapserver-7-0-2C:devwork elease-1700-gdal-2-1-2-mapserver-7-0-2inC:devwork elease-1700-gdal-2-1-2-mapserver-7-0-2libC:devwork elease-1700-gdal-2-1-2-mapserver-7-0-2include
cmake .. -DREGEX_DIR=C:devwork elease-1700-gdal-2-1-2-mapserver-7-0-2 egex-0.12
cmake .. -DWITH_POSTGIS=0 -DWITH_SOS=1 -DWITH_KML=1
cmake .. -DWITH_CLIENT_WMS=1 -DWITH_CLIENT_WFS=1
cmake .. -DWITH_THREAD_SAFETY=1 -DWITH_FCGI=1
cmake .. -DWITH_CAIRO=1 -DCAIRO_LIBRARY=C:devwork elease-1700-gdal-2-1-2-mapserver-7-0-2libcairo.lib
cmake .. -DWITH_SVGCAIRO=1 -DSVGCAIRO_LIBRARY=C:devwork elease-1700-gdal-2-1-2-mapserver-7-0-2liblibsvg-cairo.lib
cmake .. -DSVG_LIBRARY=1 -DSVG_LIBRARY=C:devwork elease-1700-gdal-2-1-2-mapserver-7-0-2liblibsvg.lib
5. build
nmake

Thats it.
You can use all CMake parameters and options as you are used from CMake to fit mapserver to your needs from here.
Genießen Sie!

To compile the various versions of MapScript (Perl, PHP, etc) first compile
the main mapserver directory and then see the README files in the
mapscript/perl, mapscript/php or mapscript/python directory for specific
instructions.

The following sections descripe how to get mapserver dependencies when not
downloading GISInternals packages.

- MapServer uses the GD library from http://boutell.com/ and the Win32
makefiles are set by default to work with the pre-built GD version 2.0.33
provided by Boutell.com. These predefine "gdwin32" binaries include
freetype2, libpng, libjpeg, libz, and libgif built-in. This is very
convenient to get a mapserver build going quickly.

If you are building GD and it's supporting libraries (libpng, libjpeg,
libgif, and freetype) from source then it is very important to make sure
that you update the -DUSE_GD_* flags and various subcomponent paths in the
nmake.opt. You will also have to take great care to build the various
components in a way that is compatible with MapServer. For instance, if
the various components are statically linked into MapServer you will need
to use the same build options (ie. /MT or /MT) for all components.

Here are some useful pointers:
- The original GD library: http://boutell.com/gd/
- libpng: http://www.libpng.org/pub/png/libpng.html
- zlib: http://www.info-zip.org/pub/infozip/zlib/
- libjpeg: ftp://ftp.uu.net/graphics/jpeg/
- Freetype: http://www.freetype.org/download.html

- MapServer uses the REGEX library which is standard on all the Unix
systems that I know of, but does not come with VC++.
If the MapServer distribution did not include a copy of the REGEX
library, then you can get a copy from:

The default in the nmake.opt is set to compile with GNU
regex-0.12 located in the "regex-0.12" directory.

- If you are planning to compile the PHP3_MAPSCRIPT.DLL module, then it
is important to make sure that the main Makefile.vc creates MAPSERVER.LIB
with the same version of REGEX that PHP uses.
See the notes in the main Makefile.vc about that.

- You can use the Visual Workspace in freetype/lib/arch/win32 to build
the library.

- The Proj.4 (cartographic projection routines) is located at
http://www.remotesensing.org/proj/

Note on the epsg files location and the nad directory :

* there is an environnemnt variable PROJ_LIB_DIR that can be set to locate
the directory where the epsg file is located
* if you build this module, at the top of the makefile (./src/makefile.vc), you
can set the PROJ_LIB variable and this setting will be used to
locate the proj support files.

Notes libcurl : used to support WMS client connection
Mapserver 5.x is using libcurl instead of libwww for WMS client
support.

- the library is located at http://curl.haxx.se/download.html

Quick notes on how to build the library using MSVC++:

- Download and extract the library (at this time it is known to work
with version 7.10.2 or more recent)
- Open the workspace curlib.dsw located under curl-XXX/lib
- Build libcurl.dll. Note that the default active configuraion of the project
is Win32 Debug. You can modify the configuarion to Release version
(Build/Set Active Configuration)

Notes on mapserver's nmake.opt modifications :

- uncomment the flag WMSCLIENT= -DUSE_WMS_LYR
- uncomment and modify according to your installation the flags
related to libcurl :


MapServer教程3

PHP MapScript Installation

.NET MapScript Compilation

1. Compiling on Unix

– Introduction
– Obtaining the necessary software
– Anti-Grain Geometry Support
– OGC Support
– Spatial Warehousing
– Compiling
– Installation
明尼苏达大学的地图服务器是一个开放源码和免费可用的地图绘制引擎的网络。由于其开源特性,它可以在各种平台和操作系统上编译。我们将重点讨论如何在类Unix平台上获取、编译和安装MapServer。

INSTALL.CMAKE

mkdir build
cd build
cmake ..
## fix dependency issues
make

以下是一系列的选项,从MapServer的CMakeLists.txt的配置文件中取得的。在选项的描述之后,打开/关闭标志将说明默认情况下是否启用了该选项(在这种情况下,如果找不到依赖项,则cmake步骤将失败)。所有这些都可以通过将“-dwith to xxxɢ”或“-dwith to xxxɣ”传递到“cmake..”调用来启用或禁用,以覆盖默认选择。

•cairo(svg,pdf)支持:此库需要生成pdf和svg输出。如果在Ubuntu系统上安装了a zre,它可以与aijapt get install-y libcairo2 dev_ a i一起安装。
•KML支持:此渲染器没有外部依赖关系。
•harfbuzz:支持复杂的脚本变形(简化:在字符之间插入连接符的工具)。harfbuzz算法将应用于已确定为非拉丁语的文本字符串(即,harfbuzz导致的速度减慢仅限于实际需要的语言)成形)。需要fribidi。

•cairo SVG Parser支持:with_svgcairo选项是改进SVG支持的建议的一部分。使用此功能需要安装libsvg cairo库,该库位于:http://cairographics.org/snapshots/。您需要编译和安装cairo、libsvg和libsvg cairo。
•SVG支持可以通过未维护的libsvg/libsvg cairo组合或通过librsvg(with_rsvg选项)启用,代价是增加依赖性。如果您的发行版为librsvg提供了一个包,请使用librsvg;如果编译librsvg依赖项的成本太重要,请返回libsvgcairo。

WMS支持
WMS服务器

如果出于某种原因,您不希望得到WMS支持,您可以使用aij-dwith wms=off a i将其强制关闭。
有关使用此功能的详细信息,请参阅WMS服务器。

WFS支持
WFS服务器

如果出于某种原因,你不想得到WFS的支持,你可以使用aij-dwith wfs=off a i强制退出。
有关使用此功能的详细信息,请参阅WFS服务器。

MapServer还可以充当WFS客户机。这实际上意味着,map server从远程服务器的zs wfs输出读取它的zs数据,并将其呈现为地图,就像从shapefile读取数据时一样。

如果出于某种原因,您不想让ZT支持WCS,您可以使用aij-dwith wcs=off a i将其强制关闭。

PostGIS为PostgreSQL对象关系数据库添加了对地理对象的支持。实际上,postgis aijs-耐心地启用了a i PostgreSQL服务器,允许它用作地理信息系统(gis)的后端空间数据库,与esri a zs sde或oracle a zs空间扩展非常相似。Postgis包含在许多a z包装系统中,但如果需要,您也可以自己滚动。

如果出于某种原因您不想获得Postgis支持,您可以使用aij-dwith postgis=off a i将其强制关闭。为了帮助cmake找到Postgis安装,您可以使用cmake_prefix_path选项(例如aij-dcmake_prefix_path=/usr/local/pgsql_a i)。

Oracle空间数据库

3. 编译libcurl。libcurl是一个直接配置/生成/生成安装库。此库仅与其他功能一起使用,因此“aij–with curl config a i won a zt做任何事情,除非类似“aij–with-wmsclient a i”或“aij–with wfsclient a i”。

注意:如果要在访问WMS/WFS服务器时将MAPServer配置为使用SSL,则必须使用_aij–with ssl_a_i选项配置/编译libcurl。有关如何设置此设置的详细信息,请参阅How to set mapserver as a client to access a service over https。

4. 编译/安装可选库。这些可能包括Postgis、Oracle Spatial、Agg、Ming、Pdflib或Mygis。根据需要混合搭配

5. 将mapserver tarball和cd解包到mapserver目录中:

安装
MapServer二进制

mapserver程序本身只包含一个文件,即aijmapserver a i二进制可执行文件。这是一个CGI可执行文件,打算由Web服务器调用和运行。

2. Compiling on Win32
– Introduction
– Compiling
– Set up a Project Directory
– Download MapServer Source Code and Supporting Libraries
– The MapServer source code
– Set Compilation Options
– Compile the Libraries
– Compile MapServer
– Compiling MapServer with PostGIS support
– Common Compiling Errors
– Installation
– Other Helpful Information
– Acknowledgements

There are precompiled Win32 binaries available for the last stable
release and the latest nightly build and they include the most common
options. so you shouldn't have to compile your own executables.

If for some reason you still decide to compile Win32 binaries yourself,
then don't do it unless you really know what you're doing. und
hopefully the rest of this file contains some hints that may help
you. Good Luck!

The easyest way to build Mapserver on Windows on your own is to use the
build-system from http://gisinternals.com/.
GISInternals provide a complete set of sources and dependencies and even
makefiles for the full version of Visual Studio (not Express oder Community).
You don't have to download and compile them all by your own.

If you are not using full version of Visual Studio you can not use the makefiles from GISInternals but you can still use the downloads to make your life easier.

Building with the full version of Visual Studio is easy.
Download the SDK for you version and follow the readme inside the packages.

This Readme will cover the compilation with Visual Studio 2012 Express on
Windows with CMake and the GISInternals-Packages for the following reasons:

- not everybody wants to buy Visual Studio and there is no reason to force
you to buy it just tu build Mapserver on Windows
- CMake is the configuration-system for Linux. Why should you use something
else which needs to be maintainerd?
- as of today, PHP-Mapscript is not suppored for PHP-7. PHP-5.6 is build
with VC11. To make PHP-Mapscript compatible with the downloadable
PHP-Version you need to build with VC11 wich is Visual Studio 2012.
- GISInternals Downloads contain most dependencies. it's way easier

If you want to compile Mapserver with any other version of Visual Studio you
can for sure use this documentation as help but maybe, some things here won't
work for you.

To build Mapserver on Windows with Visual Studio 2012 Express you need
Visual Studio 2012 Express installed.
Install CMake (https://cmake.org/) and add CMake bin-directory to your PATH
environment variable. You can even to this after opening VS2012 x86 Native
Tools Command Prompt by entering:
set PATH=%PATH%"C:Program FilesCMakein"
. if CMake is installed to "C:Program FilesCMake" )

For our first build, we will use stable releases to build mapserver.
Download MSVC 2012 win32 Packages for GDAL-2.1.2 and Mapserver-7.0.2 from http://gisinternals.com/release.php.
We need "Compiled binaries in a single .zip package", "GDAL and MapServer sources" and "Compiled libraries and headers".
Download the MSVC 2012 win32 Developement Kit from http://gisinternals.com/sdk.php.
Extract everything to C:devwork elease-1700-gdal-2-1-2-mapserver-7-0-2.
There should be the directories inside now: bin, doc, gdal, include, lib, regex-0.12, relase-1700, .
After you got this done, feel free to use other packages which fit your needs better.

Download at least Mapserver-7.0.3 or current 7.0-Branch from github
and extract or clone from github to C:devworkmapserver.

After downloading and extracting everything, to build Mapserver, follow this steps:
1. Open VS2012 x86 Native Tools Command Prompt (i'm german, hope it is translated
correctly).
2. Add CMake-bin to your PATH:
set PATH=%PATH%"C:Program FilesCMakein"
3. Create build-Directory:
mkdir C:devworkmapserveruild
cd C:devworkmapserveruild
4. Configure:
cmake .. -G "NMake Makefiles" -DBUILD_SHARED_LIBSɣ -DCMAKE_BUILD_TYPE=Release -Wno-dev
cmake .. -DCMAKE_PREFIX_PATH=C:devwork elease-1700-gdal-2-1-2-mapserver-7-0-2C:devwork elease-1700-gdal-2-1-2-mapserver-7-0-2inC:devwork elease-1700-gdal-2-1-2-mapserver-7-0-2libC:devwork elease-1700-gdal-2-1-2-mapserver-7-0-2include
cmake .. -DREGEX_DIR=C:devwork elease-1700-gdal-2-1-2-mapserver-7-0-2 egex-0.12
cmake .. -DWITH_POSTGISɢ -DWITH_SOSɣ -DWITH_KMLɣ
cmake .. -DWITH_CLIENT_WMSɣ -DWITH_CLIENT_WFSɣ
cmake .. -DWITH_THREAD_SAFETYɣ -DWITH_FCGIɣ
cmake .. -DWITH_CAIROɣ -DCAIRO_LIBRARY=C:devwork elease-1700-gdal-2-1-2-mapserver-7-0-2libcairo.lib
cmake .. -DWITH_SVGCAIROɣ -DSVGCAIRO_LIBRARY=C:devwork elease-1700-gdal-2-1-2-mapserver-7-0-2liblibsvg-cairo.lib
cmake .. -DSVG_LIBRARYɣ -DSVG_LIBRARY=C:devwork elease-1700-gdal-2-1-2-mapserver-7-0-2liblibsvg.lib
5. bauen
nmake

Das ist es.
Sie können alle CMake-Parameter und -Optionen verwenden, wie Sie es von CMake gewohnt sind, um den Mapserver von hier aus an Ihre Bedürfnisse anzupassen.
Genießen Sie!

Um die verschiedenen Versionen von MapScript (Perl, PHP usw.) zu kompilieren, zuerst kompilieren
das Hauptverzeichnis des Mapservers und sehen Sie sich dann die README-Dateien im
mapscript/perl, mapscript/php oder mapscript/python Verzeichnis für bestimmte
Anweisungen.

Die folgenden Abschnitte beschreiben, wie Sie Mapserver-Abhängigkeiten erhalten, wenn dies nicht der Fall ist
Herunterladen von GISInternals-Paketen.

- MapServer verwendet die GD-Bibliothek von http://boutell.com/ und die Win32
Makefiles sind standardmäßig so eingestellt, dass sie mit der vorgefertigten GD-Version 2.0.33 funktionieren
bereitgestellt von Boutell.com. Diese vordefinierten "gdwin32"-Binärdateien enthalten
freetype2, libpng, libjpeg, libz und libgif integriert. Das ist sehr
praktisch, um einen Mapserver-Build schnell zu starten.

Wenn Sie GD erstellen und es unterstützt Bibliotheken (libpng, libjpeg,
libgif und freetype) aus dem Quellcode, dann ist es sehr wichtig sicherzustellen
dass Sie die Flags -DUSE_GD_* und verschiedene Unterkomponentenpfade im
nmake.opt. Sie müssen auch sehr darauf achten, die verschiedenen zu bauen
Komponenten in einer mit MapServer kompatiblen Weise. Zum Beispiel, wenn
die verschiedenen Komponenten sind statisch mit MapServer verknüpft, die Sie benötigen
um dieselben Build-Optionen (dh /MT oder /MT) für alle Komponenten zu verwenden.

Hier sind einige nützliche Hinweise:
- Die ursprüngliche GD-Bibliothek: http://boutell.com/gd/
-libpng: http://www.libpng.org/pub/png/libpng.html
- zlib: http://www.info-zip.org/pub/infozip/zlib/
-libjpeg: ftp://ftp.uu.net/graphics/jpeg/
- Freetype: http://www.freetype.org/download.html

- MapServer verwendet die REGEX-Bibliothek, die auf allen Unix-Standards vorhanden ist
Systeme, die ich kenne, kommt aber nicht mit VC++.
Wenn die MapServer-Distribution keine Kopie des REGEX
Bibliothek, dann erhalten Sie eine Kopie von:

Die Voreinstellung in der nmake.opt ist so eingestellt, dass sie mit GNU kompiliert wird
regex-0.12 befindet sich im Verzeichnis "regex-0.12".

- Wenn Sie planen, das Modul PHP3_MAPSCRIPT.DLL zu kompilieren, dann ist es
ist wichtig, um sicherzustellen, dass das Haupt-Makefile.vc MAPSERVER.LIB erstellt
mit der gleichen Version von REGEX, die PHP verwendet.
Siehe dazu die Hinweise im Haupt-Makefile.vc.

- Sie können den Visual Workspace in freetype/lib/arch/win32 zum Erstellen verwenden
die Bibliothek.

- Das Proj.4 (kartographische Projektionsroutinen) befindet sich bei
http://www.remotesensing.org/proj/

Hinweis zum Speicherort der EPSG-Dateien und zum nad-Verzeichnis:

* es gibt eine Umgebungsvariable PROJ_LIB_DIR, die so eingestellt werden kann, dass sie lokalisiert wird
das Verzeichnis, in dem sich die epsg-Datei befindet
* Wenn Sie dieses Modul erstellen, oben im Makefile (./src/makefile.vc), Sie
kann die Variable PROJ_LIB setzen und diese Einstellung wird verwendet, um
Suchen Sie die Projektunterstützungsdateien.

Notes libcurl : wird verwendet, um die WMS-Client-Verbindung zu unterstützen
Mapserver 5.x verwendet libcurl anstelle von libwww für den WMS-Client
Unterstützung.

- die Bibliothek befindet sich unter http://curl.haxx.se/download.html

Kurze Hinweise zum Erstellen der Bibliothek mit MSVC++:

- Laden Sie die Bibliothek herunter und extrahieren Sie sie (zu diesem Zeitpunkt ist bekannt, dass sie funktioniert .)
mit Version 7.10.2 oder neuer)
- Öffnen Sie den Arbeitsbereich curlib.dsw unter curl-XXX/lib
- Erstellen Sie libcurl.dll. Beachten Sie, dass die standardmäßig aktive Konfiguration des Projekts
ist Win32-Debuggen. Sie können die Konfiguration auf Release-Version ändern
(Aktive Konfiguration erstellen/setzen)

Hinweise zu den nmake.opt-Änderungen des Mapservers:

- Kommentiere die Flagge WMSCLIENT= -DUSE_WMS_LYR
- Kommentieren und ändern Sie die Flags entsprechend Ihrer Installation
verwandt mit libcurl:


Schau das Video: Erstellen eines webbasierten Geoinformationssystems MapServer u0026 Mapbender3