Antworten:
Diese Frage wurde in Community-Wiki konvertiert und durch Wiki gesperrt, da es sich um ein Beispiel für eine Frage handelt, die nach einer Liste von Antworten sucht und so beliebt zu sein scheint, dass sie vor dem Schließen geschützt ist. Dies sollte als Sonderfall behandelt werden und nicht als die Art von Frage angesehen werden, die auf dieser oder einer anderen Stack Exchange-Site empfohlen wird. Wenn Sie jedoch mehr Inhalt dazu beitragen möchten, können Sie dies tun, indem Sie diese Antwort bearbeiten .
Sie können zwischen Lösungen mit oder ohne Kartenserverkomponente wählen. Serverlösungen unterstützen natürlich mehr Daten und anspruchsvollere Anwendungen.
Wenn Sie wissen, dass QGIS einmalige Visualisierungen von Daten erstellen möchte, empfehle ich QGIS2Leaf oder Export to OpenLayers 3 , beides Plugins für QGIS, mit denen Sie Layer in eine Webkarte exportieren können. Update (basierend auf Tom Chadwins Kommentar): qgis2leaf und qgis-ol3 wurden jetzt in qgis2web zusammengeführt .
Eine Mittelwegoption ist QGIS Cloud , eine gehostete QGIS-Serveroption: Sie bereiten das Projekt nur lokal vor und veröffentlichen es dann im Web, wo Sie es in einem vorgefertigten Viewer finden. Sie haben kostenlose Konten bis zu einer bestimmten Datengröße. Sie brauchen also keinen eigenen Server, wenn das ein Problem für Sie ist.
Wenn Sie Ihren eigenen Open-Source-Server betreiben möchten , können Sie mit dieser Einführung in Geoserver aus FOSS4G aus dem letzten Jahr beginnen: http://workshops.opengeo.org/geoserver-intro/ . Es handelt sich in der Regel um Geoserver, PostGIS und OpenLayers. Die Anlaufkosten sind Ihre Arbeitszeit plus Hosting.
Es ist schwierig, die Zeit bis zur Bereitstellung abzuschätzen, ohne Ihre Anwendungsfälle zu kennen.
GeoGATE
Link ist GeoGATE genial mit PostGIS & Geoserver und enthält Hunderte von vorgefertigten Tools , die Sie über ein benutzerfreundliches Bedienfeld mit Ihren Daten konfigurieren können
Penn State hat eine Open Web Mapping- Klasse. Es sollte ausreichen, Ihnen beizubringen, wie das Web-Mapping funktioniert und welche Technologien dabei zum Einsatz kommen. Die meisten, wenn nicht sogar alle in der Klasse verwendeten Tools sind kostenlos, sodass die Kosten kein Problem darstellen sollten. Hier ist das Inhaltsverzeichnis:
Lektion 0: Orientierung
Lektion 1: Einführung in Open Web Mapping
Lektion 2: Webkartenserver (WMS)
Lektion 3: Web Feature Server (WFS)
Lektion 4: Extensible Markup Language (XML)
Lektion 5: Erweiterte Webkartenserver
Lektion 6: Geografische Auszeichnungssprache (GML)
Lektion 7: WFS überarbeitet
Lektion 8: Erstellen einer Web Mapping-Anwendung
Lektion 9: Erstellen eines Thin Custom Web Mapping-Clients
Habe Spaß :)
Google Fusion Tables sieht mit Mapping und räumlichen Abfragen vielversprechend aus
Profis: einfach einzurichten
Nachteile: Alle Ihre Daten befinden sich auf Google-Servern (gut oder schlecht?)
http://sites.google.com/site/fusiontablestalks/stories
Hinweis: Viele Medien- / Nachrichtenunternehmen verwenden es - Beispiel einer Zeitung von Guardian UK http://www.guardian.co.uk/environment/datablog/interactive/2011/mar/07/carbon-emissions-public-buildings-map
Es gibt jetzt einen netten Fusion-Assistenten , mit dem Sie die Einrichtung beschleunigen können. Http://gmaps-samples.googlecode.com/svn/trunk/fusiontables/fusiontableslayer_builder.html
Beispiele: http://www.latimes.com/news/local/la-me-us-congress-census-map,0,4500533.htmlstory
Eines der besten: http://tinyurl.com/England-Deprivation-Mapped
Es gibt so viele Möglichkeiten und viele gute Antworten. Zwei meiner Lieblingsoptionen, die hier noch nicht aufgeführt sind, sind CartoDB und MapBox . Beide bieten webbasiertes Hosting und Visualisierung von Daten sowie einige sehr ausgefallene Tools. Die Preise beginnen bei KOSTENLOS.
Sie profitieren von einer Desktop-Software, mit der Sie Ihre Daten einrichten können. ArcMap und Quantum GIS sind beide eine gute Wahl für den Desktop-Teil.
Ich würde sagen, die Stärke von MapBox besteht darin, schöne Webkarten mit wirklich tollen, benutzerfreundlichen Vorlagen und einsatzbereiten Elementen der Benutzeroberfläche zu erstellen . MapBox benötigt ein Desktop-Programm namens TileMill (ebenfalls kostenlos), das eine CSS-ähnliche Stiloberfläche verwendet.
Die Stärke von CartoDB ist, dass es seine PostGIS- Wurzeln über eine SQL-API verfügbar macht .
Beide können einzeln oder in Kombination mit anderen Javascript-Zuordnungsbibliotheken (z. B. Leaflet , Google Maps , OpenLayers ) verwendet werden.
Unabhängig davon, für welche Plattform Sie sich entscheiden, um in das Web-Mapping einzusteigen, werden Sie mit Sicherheit vom Erlernen von Javascript profitieren. Die Codecademy ist ein großartiger Startpunkt (auch KOSTENLOS !!).
Ich habe auch gerade an einer Konferenz teilgenommen, bei der OpenGeo Suite vorgestellt wurde , ein Stapel von OpenLayers, GeoServer, GeoExt und PostGIS. Sie bieten sowohl die "Enterprise Edition" (kostenpflichtige Version mit Support) als auch die " Community Edition " (kostenlose Version) an. (Update) OpenGeo Suite ist jetzt Boundless Suite.
Ein weiteres Paket, das auf der Konferenz gezeigt wurde , war GeoMoose , ein Stapel aus MapServer und OpenLayers.
Sie können die OSGEO Live-DVD herunterladen , die Sie in einer Umgebung mit virtuellen Maschinen ausführen können, wenn Sie während des Testvorgangs nicht einige Dinge auf Ihrem Computer installieren möchten. Es wird mit einer Reihe verschiedener Open-Source-GIS-Softwarepakete einschließlich Web-Mapping-Tools geliefert.
Bearbeiten
Aufgrund der Beliebtheit dieser Frage und Antwort werde ich einige Inhalte in diesem Beitrag bearbeiten, da sich Anbieter und APIs in den letzten Monaten geändert haben.
Die API-Auswahl hängt vom Umfang und Zweck Ihres Projekts ab, ganz zu schweigen von Ihrem Budget, wenn Sie bestimmte Funktionen nutzen möchten. Die andere wichtige Einschränkung ist Ihre Erfahrung in der Webentwicklung und welche Sprache Sie bevorzugen oder für die Sie sich interessieren.
Ich denke, die beste Möglichkeit, Ihre Frage zu beantworten, besteht darin, eine schöne Liste der APIs bereitzustellen, die Ihnen zur Verfügung stehen. Hier sind drei, die mir einfallen. Das sind keineswegs alle!
ArcGIS
APIs:
Vorteile:
Nachteile:
Zusammenfassung:
ArcGIS hat viel zu bieten für Web-GIS-Produkte und verfügt über zahlreiche Ressourcen, die Sie dabei unterstützen. Seien Sie sich nur der potenziellen Kosten bewusst, die Ihnen entstehen, wenn Sie Ihre eigenen Daten veröffentlichen möchten.
APIs:
Vorteile:
Nachteile:
Zusammenfassung:
Google hat einen starken Namen auf dem Markt und ziemlich zuverlässige Onlinedienste. Vergewissern Sie sich nur, dass Sie die Vor- und Nachteile ihrer Verwendung verstehen, damit Sie nicht auf legale Zehen treten. Die neue Seite "Preise und Pläne" ist in dieser Hinsicht sehr hilfreich.
Open Source
APIs (alle JavaScript-basiert):
Vorteile:
Nachteile:
Zusammenfassung:
Open Source ist wirklich eine großartige Option für alle, die das Wasser von Web GIS testen möchten. Mit Änderungen und Verbesserungen, die jeden Tag in der Community vorgenommen werden, kann Open Source die kostengünstige Möglichkeit sein, auf Ihre räumlichen Bedürfnisse einzugehen.
Wie gesagt, dies sind nicht alle Möglichkeiten, die Sie haben, aber zumindest gibt es jetzt einen Beitrag mit Links für Sie und andere, mit denen Sie sich mit einigen der wichtigsten Akteure in der Web-GIS-Welt vertraut machen können.
Offenbar haben Sie die Open Source-Antworten in der obigen Frage erhalten. Wenn Ihr Unternehmen das Budget hat, kann ESRI eine sehr gute Option sein. Zur Verdeutlichung können die Webmapping-APIs an und für sich kostenlos verwendet werden. Das Back-End von ArcGIS Server und SDE kostet Sie jedoch Geld. Außerdem wird Desktop-Software benötigt, um Karten-Services für die Web-Mapping-Anwendung zu erstellen. Wenn Sie bereits Zugriff auf diese Ressourcen haben oder diese erwerben können, würde ich auf jeden Fall empfehlen, sich mit ESRI-Lösungen zu befassen.
Ein Vorteil hierbei ist, dass Sie in einer Vielzahl von Sprachen codieren können. Es gibt ESRI-spezifische APIs für Flex und Silverlight:
Flex: http://help.arcgis.com/de/webapi/flex/index.html Silverlight: http://help.arcgis.com/de/webapi/silverlight/index.html
Derzeit scheint sich der Trend in der Webprogrammierung von Lösungen, die Plugins erfordern und herstellerspezifisch sind (siehe oben), zu mehr Open Source- und standardbasierten Frameworks zu entfernen. ESRI hat dies mit der Javascript API abgedeckt:
Javascript: http://help.arcgis.com/en/webapi/javascript/arcgis/
Wenn Sie sich diese API-Websites ansehen, ist die Dokumentation sehr gut. Darüber hinaus stehen Foren für Community-Hilfe zu bestimmten Problemen zur Verfügung. Die technische Unterstützung durch ESRI ist ebenfalls sehr gut. Wenn Sie bereits über diese Anwendungen verfügen oder über das Budget verfügen, ist dies ein hervorragender Weg, wenn sich die oben genannten Open-Source-Lösungen nicht lohnen.
Wenn Sie einfach einen Prototyp für eine Machbarkeitsstudie erstellen möchten, um Ihrem Chef zu zeigen, was ich vor ungefähr einem Jahr tun musste, dann würde ich Geoserver für das Backend empfehlen, da es über eine benutzerfreundliche Weboberfläche verfügt, die von einigen unterstützt wird einfache Shapefiles. Für das Frontend ist OpenLayers eine fantastische Wahl mit vielen Beispielen auf der Website. Ich bin in keiner Weise ein Web-Programmierer, aber ich fand das Kopieren / Einfügen / Ändern der Javascript-Beispiele ein Kinderspiel. Ich habe all dies in eine VirtualBox-VM gesteckt, um alles an einem Ort zu haben und meine normale Entwicklungsumgebung nicht zu beschädigen, indem ich die Pakete aus dem UbuntuGIS-Repository verwende.
Für die Produktion gibt es eine Menge Dinge, die von Ihrem Anwendungsfall abhängen. Für mich habe ich mich schließlich für Mapserver entschieden, weil es nicht so aufgebläht ist wie Geoserver und als Fast-CGI-Prozess auf einem LightTPD-Webserver ausgeführt wird. Wir brauchten WFS-T (das Geoserver von Anfang an unterstützt), Mapserver jedoch nicht. Deshalb haben wir Winzlinge verwendet. Wir bedienen auch WCS (Coverages), die von Mapserver unterstützt werden, und wir möchten Rasdaman für die WCS-T-Unterstützung integrieren. Dies alles wird durch eine PostGIS-Datenbank gesichert.
Ich würde empfehlen, Ihre Anwendung in Back-, Middle- und Front-Ends zu unterteilen und die Vor- und Nachteile der einzelnen Software-Komponenten zu lesen. Möglicherweise gibt es nur wenige Lösungen für jede Schicht, aber das nimmt kombinatorisch zu.
Ich glaube, dass ESRI Produkte herstellt, die dazu in der Lage sind, aber das wird kosten. Wenn Ihre Zeit knapp ist, ist die kommerzielle Route vielleicht das Richtige, aber die Open-Source-Route weist in einige sehr aufregende Richtungen und ich vermute, dass sie irgendwann alles übertreffen wird, was sich ESRI einfallen lässt. Aber dann bin ich ein voreingenommener FOSS Fanboi :)
Für die von Ihnen vorgeschlagenen Funktionen würde ich mir den einfachsten und am einfachsten zu installierenden Stack ansehen, der Ihren Anforderungen entspricht. Die Software sagt "Sie können schnell, leistungsstark oder billig haben. Wählen Sie zwei." trifft hier definitiv zu
Wenn Sie nur einfache Abfragen durchführen möchten, z. B. das Identifizieren von Funktionen, ist die Leistung von PostGIS wahrscheinlich zu hoch. Es ist viel einfacher, Shapefiles als Datenspeicher direkt in GeoServer hochzuladen.
OpenLayers ist wieder einmal großartig und bietet viele Funktionen, wie die Unterstützung anderer Koordinatensysteme als WGS84 und Web Mercator. Wenn Sie diese Funktionen jedoch nicht nutzen möchten, würde ich mir Leaflet anschauen , meiner Erfahrung nach hat es viel weniger steile Lernkurve für neue Benutzer.
Auch wenn Sie keine Anforderung haben, die besagt, dass Sie die App auf Ihrem eigenen Server hosten müssen, können Sie sich einige der gehosteten Optionen ansehen, da Sie von der Zeit Ihrer Investition viel mehr zurückerhalten. Mit MangoMap oder GeoCommons erhalten Sie wahrscheinlich eine überlegene Karte für Ihre Benutzer, ohne eine einzige Codezeile schreiben zu müssen.
Wenn Sie in diesem Projekt Code schreiben möchten, können Sie sich auch CartoDB und MapBox ansehen . Wenn Sie mehr über all diese gehosteten Plattformen erfahren möchten, habe ich ein kostenloses eBook zu diesem Thema geschrieben, das alle Details enthält, die Sie zur Auswahl eines benötigen.
Offenlegung : Ich bin der Gründer von MangoMap
Es gibt viele Möglichkeiten, um mit der Entwicklung einer Webkarte zu beginnen.
Wenn Sie Erfahrung als Webentwickler haben, sollten Sie zunächst die verschiedenen verfügbaren Dienste untersuchen, mit denen Sie eine Karte im Web veröffentlichen können. Auf dieser Website werden noch weitere Fragen beantwortet, die Ihnen wertvolle Einblicke in die Unterschiede zwischen den verfügbaren Plattformen geben.
Wenn Sie neu anfangen und sich nicht auf eine bestimmte Plattform festlegen möchten, richten Sie sich nach Ihren Geschäftsanforderungen. Wie werden Sie Ihre Daten auf die Karte zeichnen? Wie werden die Daten aktualisiert? Wer wird diese Seite nutzen? Was werden sie damit machen? Wenn Sie diese Entscheidungen frühzeitig treffen, können Sie die Teile zusammenstellen oder Entscheidungen treffen, die die Expansion in Richtung eines Ziels unterstützen.
Was die Kosten angeht ... Ich ziehe es vor, ein modernes Sprichwort auszuleihen: "Gut, schnell, billig. Wählen Sie zwei." Es wird formal als das Projektmanagement-Dreieck definiert , das das Gleichgewicht zwischen Kosten, Planung und Umfang beschreibt, um Qualität zu erzielen.
Auch ich habe vor kurzem die Web-Mapping-Reise nach vielen Jahren mehr auf der Datenbankseite der Dinge begonnen.
Was mir wirklich geholfen hat, war das Erlernen grundlegender Programmierprinzipien mit MapBasic für MapInfo (oder ich nehme an, Python für die esri-Menge), was mir wirklich geholfen hat, zu verstehen, wie Computer "denken".
Von da an war CodeAcademy ein Glücksfall. Es ist eine sehr unterhaltsame und intuitive Art, Programmieren zu lernen. Es kann Sie von "Hello World" -Beispielen bis hin zu voll funktionsfähigen und interaktiven Programmen führen. Die Lernkurve verläuft schrittweise und es ist klar, dass einige Leute mit diesem Zeug begabt sind und andere (wie ich) nicht.
Der zweite Ratschlag wäre, GeoServer zu installieren und die Demo-Anfragen zu lesen, um zu sehen, wie Webservices strukturiert sind und wie sie funktionieren. Schauen Sie sich die Ebenenvorschau an, um zu sehen, wie Javascript und HTML zusammenarbeiten. Sie können diesen Ebenenvorschau-Code buchstäblich kopieren (Seitenquelle anzeigen), ihn irgendwo speichern und mit dem Basteln beginnen.
W3-Schulen - enthält interaktive Beispiele, mit denen Sie spielen und sich an Ihren neuen Code anpassen können. Wenn Sie sich für JavaScript entscheiden, ist JS Fiddle auch sehr gut.
Wenn Sie ein Java-Programmierer sind, schauen Sie sich Geomajas an .
Es gibt einen Maven-Archetyp, mit dem Sie in wenigen Minuten loslegen können ( siehe hier ). Sie können dann zusätzliche Ebenen usw. hinzufügen.
Sie können OpenLayers für die Clientseite verwenden. Es ist stabil, einfach und enthält unzählige Beispiele zur Verwendung eines WFS (in Ihrem Fall zur Verbindung mit PostgreSQL) usw. Geoserver, OSM verwendet es zum Rendern.
Sie können sich auch GeoExt ansehen, das das extJS- Widget zum Erstellen von Karten bereitstellt . Wieder verwendet Geoext OpenLayers zum Rendern von Karten.
Es gibt auch ein PHP-basiertes Framework, das MapServer (OpenLayers unterstützt bereits) wie GeoMoose , CartoWeb usw. verwendet.
Ich stimme für OpenLayers, da Sie sich für das gesamte Design der Webseite entscheiden können, im Gegensatz zu PHP-Framework, das auf MapScript-Bindungen mit einer Standardvorlage ausgeführt wird, und ich fand es nicht einfach, eine so große Codebasis zu verwalten.
Drei Fähigkeiten, die für die meisten Webentwicklungen erforderlich sind, einschließlich Web-Mapping, sind HTML, CSS und Javascript. Ressourcen zum Erlernen dieser Sprachen sind reichlich vorhanden. Das Thema, wo Sie lernen sollen, wie Sie Web-Mapping-Anwendungen entwickeln, wird in der Frage zum GIS-Stapelaustausch ziemlich gut behandelt .
Eine Ressource, die Sie bei der Entwicklung von Web-Mapping-Anwendungen heranziehen sollten, wenn Sie nur über begrenzte Programmiererfahrung verfügen, ist Mapbox . Sie können Webkarten ohne Codierung erstellen, obwohl es meiner Meinung nach schwierig wäre, eine Webkarte so kompliziert und interaktiv wie die in Ihrem Beispiel verwendete zu erstellen, ohne eine Skriptsprache wie Javascript oder Python zu verwenden.
Ich benutze leafletjs und finde es sehr einfach. Es basiert auf Javascript und kann Funktionen mithilfe verschiedener Datenquellen zeichnen. Grundsätzlich fügen Sie den Kartencode in eine HTML-Datei ein und zeigen die Datei an. Ich kann keine anderen APIs kommentieren, aber ich denke, dass Google genauso einfach ist wie Openlayers.
Es gibt auch Dienste wie MapBox, bei denen Sie die HTML-Datei nicht hosten müssen, sondern nur Ihre Daten hochladen müssen.
Ich denke, der einfachste Weg, um mit qgis + qgis2leaflet Plugin zu gehen. Sie können in qgis bearbeiten, was immer Sie möchten, als es in eine Broschüre zu exportieren und auf Ihren Webserver hochzuladen. Oder wenn Sie den interessanteren Weg wählen als:
Anstelle des Geoexplorers würde ich Javascript verwenden, da es besser aussieht und flüssiger läuft ... aber nehmen Sie sich etwas Zeit, um Code zu kopieren / zusammenzufügen. Hier ist ein Beispiel: http://gis.xyz
Es ist wichtig zu erwähnen, dass Web-Gis ein weites Feld ist und bereits eine Menge Arbeit in mehreren Projekten und Bibliotheken geleistet wurde, um bei diesen Bemühungen zu helfen. Wir müssen also sehen, ob es etwas gibt, das Sie wiederverwenden können, anstatt von vorne zu beginnen.
Die schlechte Nachricht ist, dass es in PHP keine populäre Bibliothek / Anwendung für Web-Mapping gibt. Die gute Nachricht ist, dass Sie möglicherweise keine brauchen.
Ich würde empfehlen, dass Sie zuerst versuchen, WebMapping zu verstehen und die bereits vorhandenen Projekte und Bibliotheken zu verstehen. Hierzu können Sie sich auf folgende Fragen beziehen:
Sobald Sie die verfügbaren Optionen verstanden haben, sollten Sie Ihre Anforderungen klären. Wenn Sie Ihre Frage betrachten, haben Sie sehr grundlegende Anforderungen: Pakete auf der Karte anzeigen Für Abfragen zulassen, Attribute für die Pakete abrufen und sie dem Benutzer anzeigen, entweder als Ergebnis einer Abfrage oder wenn der Benutzer darauf klickt.
Diese Art von Arbeit ist mit Google Maps möglich, ich würde sie jedoch nicht empfehlen, da die Google Maps-API bei großen Datenmengen ein Problem darstellt.
Ich würde stattdessen vorschlagen, dass Sie sich für eine Geoserver / OpenLayers-Lösung entscheiden, vorausgesetzt, Sie können mit JavaScript arbeiten. Möglicherweise benötigen Sie nicht einmal einen PHP-Code, wenn alle Ihre Daten in den Attributen der Funktionen enthalten sind.
Eine gute Alternative zu OpenLayers, der beliebten Javascript-Bibliothek für Web-Mapping, ist Leaflet .
Ich verwende Leaflet mit GeoServer, um ein paar schöne Karten zu erstellen, darunter auch einige Interaktionsmöglichkeiten. Es erfordert benutzerdefinierte Codierung, aber nicht viel, und es ist viel einfacher zu verwenden als OpenLayers.
Bevor Sie sich für Leaflet und OpenLayers entscheiden, sollten Sie sich die kommende Version ansehen, die eine aufgeräumte API und eine bessere Dokumentation verspricht:
OpenLayers 3 ist eine umfassende Überarbeitung der Bibliothek, die auf die neuesten HTML5- und CSS3-Funktionen abzielt. Die Bibliothek wird weiterhin Projektionen, Standardprotokolle und Bearbeitungsfunktionen von OpenLayers 2.x unterstützen. Die neue Version der Bibliothek konzentriert sich auf Leistungsverbesserungen, leichtere Builds, schönere visuelle Komponenten, eine verbesserte API und mehr. Einige der wichtigsten Highlights sind:
- - - - - - 8 <- - - - - -Eine neue Codebasis: Dies bietet die Möglichkeit, einige der "klobigen" Vorgehensweisen in OpenLayers zu bereinigen. Das Team wird auch neue API-Designs erstellen, die für alle zugänglich sind.
Hochwertige Dokumentation: Die neue Version wird auch eine Dokumentation mit aktuellen Beispielen und Standarddesigns in OpenLayers 3.0 enthalten. Das Hervorheben eines Toolkits ist mehr als der eigentliche Code.
Ich würde mit Google Maps API beginnen . Es ist kostenlos und einfach zu bearbeiten. Es verwendet Javascript, das über eine Reihe guter Ressourcen erlernt werden kann. Ich würde Codecademy empfehlen, wenn Sie neu bei JS sind.
Es gibt viele kostenlose Datenquellen, die auf verschiedene Arten in Google Maps integriert werden können (KML, Datenbank, GeoRSS usw.). Die meisten Bundesstaaten und viele Universitäten haben kostenlose Datenspeicher, die in Ihre Karte integriert werden können.
Eine meiner Lieblingsseiten für Google Maps-Beispiele ist Google Maps Mania . Es gibt großartige Kartenbeispiele, die zeigen, was in dieser API möglich ist.
GeoPHP könnte einen Blick wert sein.
GeoPHP ist eine native Open-Source-PHP-Bibliothek für Geometrieoperationen. Es ist vollständig in PHP geschrieben und kann daher auf gemeinsam genutzten Hosts ausgeführt werden. Es kann eine Vielzahl von Formaten lesen und schreiben: WKT (einschließlich EWKT), WKB (einschließlich EWKB), GeoJSON, KML, GPX, GeoRSS. Es funktioniert mit allen Simple-Feature-Geometrien (Point, LineString, Polygon, GeometryCollection usw.) und kann zum Abrufen von Schwerpunkten, Begrenzungsrahmen, Flächen und einer Vielzahl anderer nützlicher Informationen verwendet werden.
Und Sie können mit der GEOS-Erweiterung noch einen Schritt weiter gehen (vorausgesetzt, Sie haben Administratorrechte für die Installation von GEOS).
Mit GEOS erhalten Sie alle openGIS-Funktionen in PHP wie Union, IsWithin, Touches usw. Dies bedeutet, dass Anwendungen einen nützlichen "Kernsatz" von Geometrieoperationen erhalten, die in allen Umgebungen funktionieren, und einen "erweiterten Satz" von Vorgänge für Umgebungen, in denen GEOS installiert ist.
Nun, ein benutzerdefiniertes PHP-Skript könnte eine robustere (und einfachere) Lösung sein. Denn räumliche Daten sind nur Zeilen in einer Datenbank und können wie gewohnt abgefragt werden. Keine Notwendigkeit für schwere Server-GIS-Software und / oder schreckliche OGC-Filtersyntax. Wenn ich in Ihrer Haut stecke , würde ich die Daten in einer PostgreSQL-Datenbank mit der Erweiterung PostGIS speichern, ein PHP-Back-End schreiben, um die Datenbank abzufragen und Daten im GeoJSON-Format abzurufen (siehe folgende Übersicht ), und eine Front-End-Webanwendung basierend auf OpenLayers - es ist flexibler als das Google Maps API, aber Sie können trotzdem Google Base Maps verwenden, wenn Sie möchten.
Informationen zur Auswahl finden Sie unter Alternativen zur ArcGIS Online-Frage und unter Welche Bücher, Zeitschriften und elektronischen Ressourcen sind für die Erweiterung des Wissens über geografische Informationen am wertvollsten? Frage für Lernressourcen.
Zu den Web-Mapping-Kosten gehören Hosting (für eine Website bezahlen) und Server-Speicherplatz (wenn Sie Mapping-Services verwenden, sehen Sie sich die Preise für MapBox und CartoDB pro Monat an). Letztendlich wird es sehr wichtig sein, die Webentwicklung zu kennen, um Ihre Karte zu erstellen.
Nun, es gibt ein paar Zuordnungsbibliotheken, die Sie verwenden können.
Die erste (und wahrscheinlich bekannteste) ist die Google Maps-API . Ich denke jedoch, dass dies ziemlich komplex sein kann, wenn Sie mit Web-Mapping noch relativ wenig vertraut sind.
Ich würde vorschlagen, einen Blick auf Leaflet.js oder Mapbox.js zu werfen . Mapbox.js wurde mit Blick auf Leaflet erstellt und Mapbox bietet einige großartige Tutorials zu verschiedenen Aufgaben, die Sie mit Mapbox.js ausführen können. Die Broschüre enthält auch einige Beispiele und Ressourcen .
Hier finden Sie spezifische Links zu Beispielen, die Ihnen helfen sollen, die richtige Richtung einzuschlagen.
Wenn Sie eine Karte benötigen, auf die Sie auf ein Land klicken, und ein Bild eingeblendet wird, können Sie sich das Mapbox-Beispiel zum Verknüpfen mit externen Daten ansehen
Sie erfahren, wie der Code in JSFiddle für das Projekt interagiert
Wenn Sie mehr Dokumentation über MapBox benötigen , können Sie eine Lese ihrer nehmen MapBox Guides oder tauchen Sie in den Code ein bisschen mehr die Verwendung von Beispielabschnitt
Ich bin ein neuer Webmapper und wurde auf Scott Murrays Datenvisualisierung für das Web verwiesen . Sein eBook kann hier gelesen werden: http://chimera.labs.oreilly.com/books/1230000000345/ kostenlos. Es ist für "Nicht-Kodierer", äußerst informativ und hat viele praktische Beispiele.
Sie können UMN Map Server verwenden. Dort können Sie PHP-Skripte (sogenannte Map-Skripte) verwenden. Dies basiert auf dem Apache-Server. Wenn Sie eine Datenbank benötigen, können Sie entweder MySQL mit räumlichen Erweiterungen oder PostgreSQL mit postGIS verwenden.