Pixel vs Koordinaten
Wenn ich an Rasterkarten denke, denke ich zuerst an Satellitenbilder. Fast jedes Pixel in einem detaillierten Satellitenbild eines Stadtgebiets kann eindeutige Informationen enthalten. Eine einzelne Kachel in einer Webkarte (normalerweise eine Variante von Mercator, die lose als " Spherical Mercator " oder " Web Mercator " bezeichnet wird und von Google , Bing , Yahoo, OSM und ESRI unterstützt wird) hat normalerweise 256 x 256 = 65.536 Pixel Zoomstufe hat Kacheln (2 ^ Zoom * 2 ^ Zoom) . Wenn ich an Vektor denke, denke ich an Polygone und Linien. In einer Formdatei, in der die Zonierungsgrenzen eines gesamten Stadtbereichs (möglicherweise Millionen von Raster-Kacheln) aufgeführt sind, sind beispielsweise möglicherweise nur 65.000 Vektorformen enthalten.
Genaue Skalierung
Es hört sich so an, als ob Sie (und wahrscheinlich die meisten Leser) bereits den offensichtlichsten Unterschied zwischen rasterfesten Pixeln und Vektoren (Koordinatenkarten) kennen. Vektorzeichnungen (und Karten) können mit einem höheren Grad an Genauigkeit skaliert werden als Pixel, da Vektordaten Koordinatenmuster (Punkte, Polygone, Linien usw.) enthalten, die mit einfachen Formeln in unterschiedlichen Auflösungen relativ zueinander gerendert werden können, während die Pixelgröße in der Regel a verwendet Glättungsalgorithmus , der zu Bildartefakten führt.
Bildkomprimierung versus Strukturkomprimierung
In der Praxis können die meisten Bilder mit nicht 100% eindeutigen Pixeln in kleinere Datenpakete komprimiert werden, und viele Vektordateien enthalten übermäßige Details, die bei vielen Zoomstufen mit geringen Details nicht benötigt werden. Die Bildkomprimierung ist ein bekannter und sehr effizienter Prozess, und fast jede Codierungsbibliothek hat Klassen eingebaut, um diese Arbeit zu erledigen. Vektorkoordinatenkomprimierung oder "Geometrievereinfachung" ist etwas seltener (da GIS im Allgemeinen etwas seltener ist als die allgemeine Bildbearbeitung). Nach meiner Erfahrung werden Sie fast 0 Zeit damit verbringen, über die Bildkomprimierung nachzudenken (einfach aus- oder einschalten), und erheblich mehr Zeit damit, über die räumliche Komprimierung nachzudenken. Schauen Sie sich den Douglas Peucker-Algorithmus an, um Beispiele zu finden, oder spielen Sie einfach mit QGIS und einige Census Boundary Files.
Client-Server-seitiges Rendern
Letztendlich wird alles, was auf einem Computer angezeigt wird, mit einer bestimmten Auflösung (z. B. Zoomstufe) in Pixel auf dem Bildschirm gerendert. Häufig (insbesondere im Web) besteht die Herausforderung darin, diese Pixel so effizient wie möglich vor den Benutzern zu platzieren. Die Formdateien der US-amerikanischen Census Tract & Block-Gruppesind besonders interessant, weil sie sich direkt über der Grenze von Vektordatensätzen befinden, die zu groß sind, um in einem Webbrowser als Vektordaten gerendert zu werden. Im Gegensatz dazu können US Counties in modernen Browsern kaum als Vektordownload gerendert werden. Während eine Vektorformdatei der US-Volkszählungsblockgruppe mit Sicherheit kleiner wäre als ein Raster-Kachelsatz, der so gerendert wird, dass er die gesamten USA mit mehreren Zoomstufen abdeckt, ist die Blockgruppenformdatei zu groß (nahe 1 GB), als dass ein Webbrowser sie bei Bedarf herunterladen könnte. Selbst wenn der Webbrowser die Datei schnell herunterladen könnte, sind die meisten Webbrowser (auch wenn sie Flash verwenden) beim Rendern einer großen Anzahl von Formen recht langsam. Wenn Sie also große Vektordatensätze anzeigen möchten, ist es oft besser, diese in komprimierte Bilder für die Übertragung an den Webbrowser zu übersetzen.
Einige praktische Beispiele
Ich habe vor ein paar Tagen eine ähnliche Frage zum Rendern großer Datensätze in Google Maps beantwortet. Die Frage und eine detaillierte Analyse der "Best Practice", wie sie heute von der NY Times und anderen verwendet wird, finden Sie hier .
Vor ein paar Jahren haben wir uns entschlossen, vom clientseitigen Vektor-Rendering mit hohem Flash-Aufkommen zum serverseitigen Vektor-Rendering überzugehen, das komprimierte Bildkacheln für reines HTML und JavaScript liefert. Wir haben eine Karte Galerie mit mehreren Versionen von HTML + Raster (Server generieren Fliesen) und Flash - + Vector (Client - Seite schweres Rendering).