Was bedeutet eine mit Vektoren gekachelte Karte?


11

Ich arbeite an einer Anwendung, die GeoJSON in die OpenLayers-Karte rendert.

Die Idee ist, keine PNG-Bilder von externen Diensten (OSM oder Bing) herunterzuladen, sondern Geoinformationen in der GeoJSON-Datei zu haben und diese in Echtzeit zu rendern. Aus meiner Forschung scheint diese Technologie genannt zu werden 'vector tile'. Ich habe mir einige der Websites der Jungs angesehen, wie http://openstreetmap.us/~migurski/vector-datasource/ und http://mike.teczno.com/notes/postgreslessness-mapnik-vectiles.html (dasselbe Kerl).

Seine Arbeit scheint das zu sein, was ich erreichen möchte, aber ich verstehe nicht wirklich, wie es funktioniert.

Nach meinem Verständnis ruft ein Client, da ich OpenLayers verwende, Kartendaten im GeoJSON-Format ab und überträgt sie mit dem GeoJSON-Parser von OpenLayers in Vektoren. Aber es sind nur die Begriffe, die in dieser Technologie verwendet werden, die ich nicht verstehe.

In seinem Blog beschrieb er, dass es einen Server geben wird, der Daten bereitstellt, die als 'MapNik Vector Tile'Format bezeichnet werden. Was ist der Unterschied zwischen Vektorkachel und GeoJSON? bedeutet es einfach gekacheltes GeoJSON, das dem Begrenzungsrahmen entspricht? Oder ist es ein neuer Bildtyp?

Wenn Sie sich sein Beispiel ansehen, können Sie beobachten, dass die Beschriftungen auf Straßen mit den Strichen der Straßen ausgerichtet sind. Ich habe versucht, dasselbe auf OpenLayers zu tun, indem ich den Renderer-Code in OpenLayers geändert habe, aber ich kann nur Beschriftungen drehen, aber nicht dazu bringen, sie entlang der Straßen zu biegen (z. B. wenn Straßen Ecken haben, zeigt die Karte Beschriftungen in L-Form an. * * + sehr gut gerendert!

Es sieht so aus, als ob Mike (der Autor des Blogs) neben OpenLayers eine andere Karte verwendet, aber ich kann nicht herausfinden, wie er es gemacht hat. Es gibt so viele Fragen zu stellen, aber ich möchte die oben genannten zuerst verstehen.


Ich habe Probleme, das Ziel Ihrer Frage zu verstehen. Möchten Sie wissen, was Vektorkacheln im Allgemeinen sind? Oder möchten Sie wissen, welche Arten von Vektorkacheln Sie verwenden sollten, warum Sie sie verwenden sollten und welches Format für Sie am besten geeignet ist?
Devdatta Tengshe

@DevdattaTengshe Letztendlich möchte ich wissen, wie ich eine Vektorkachelkarte in OpenLayers implementieren kann. Aus meiner Forschung geht jedoch hervor, dass diese Technologie experimentell ist. Aber ich frage mich, was sich zwischen gekachelten geoJSON und MVT oder anderen Arten von Vektorkacheln unterscheidet. Was sind Vektorkacheln? Gibt es ein Format für Vektoren? oder ist es nur ein Begriff? hilf mir, ich bin sehr verwirrt :(
Eugene Yu

Antworten:


5

Die Idee, Vektordaten anstelle von Bildern zu übertragen und auf der Clientseite zu rendern, ist nicht neu. Es gibt bereits viele Tools / Projekte, die dies tun. Siehe zum Beispiel dieses Plugin mit Faltblatt , Polymap und auch das Cartagen-Projekt . OpenLayer-Entwickler versuchen, es in der (lang erwarteten) Version 3.0 einzuführen . Jede dieser Initiativen verwendet ein eigenes Vektor-Kachel-Format (einschließlich des Mapnik-Formats) - ein Standard sollte sicherlich in Zukunft entstehen.

Wenn Sie sich für die Prinzipien und relevante Literatur interessieren, sollten Sie sich dieses hervorragende Papier ansehen (ja, ich mache Eigenwerbung :-):

Gaffuri, J., 2012. Auf dem Weg zum Web-Mapping mit Vektordaten. In: Xiao, N., Kwan, M.-P., Goodchild, MF, Shekhar, S. (Hrsg.), Geographic Information Science. Vol. 7478 von Lecture Notes in Computer Science. Springer Berlin Heidelberg, Berlin, Heidelberg, Kap. 7, S. 87-101.

Eine kostenlose Version des Papiers finden Sie hier . Um es zusammenzufassen: Effizientes Vektor-Web-Mapping = intelligentes Format für Daten und Stile + zoomabhängige Verallgemeinerung + (Kacheln ODER räumliche Indizierung). Ein Anwendungsfall ist hier sichtbar .


1

Soweit ich weiß, wird das Vektor-Kachelformat verwendet, um einen Kachel-Renderer wie Mapnik oder TileMill zu füttern, anstatt eine Datenbank wie postgresql zu verwenden.

Die Geometrien werden von einer Web-Client-App wie OpenLayers noch nicht in Echtzeit gerendert, aber es ist ein interessantes Forschungsgebiet :-)


UTFGrid ist ein Vektor-Kachelformat, das OpenLayers im Browser unterstützt. Bitte sehen Sie dieses Beispiel: openlayers.org/dev/examples/utfgrid.html
Devdatta Tengshe

1
Hier besteht keine Beziehung zu UTFGrid.
Laurent Jégou

2
Hängt von Ihrer Definition von Vektorkacheln ab. Siehe dies: gis.stackexchange.com/questions/15240/… und wiki.openstreetmap.org/wiki/Vector_tiles
Devdatta Tengshe

1
Oh ich verstehe. Es gibt jedoch eine Technologie namens Vektor-Kacheln, mit der die Clientseite diese Vektoren rendern kann, indem sie nur geoJSON und nicht die tatsächlichen PNGs übergibt. Dies scheint im Moment sehr experimentell zu sein, aber ich glaube, dass dies bald populär werden wird.
Eugene Yu
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.