Pracuję nad aplikacją, która przekształca GeoJSON w mapę OpenLayers.
Chodzi o to, aby nie pobierać obrazów PNG z usług zewnętrznych (OSM lub Bing), ale mieć informacje geograficzne w pliku GeoJSON i renderować je w czasie rzeczywistym. Z moich badań wydaje się, że technologia ta jest nazywana 'vector tile'
. Obejrzałem niektóre strony internetowe facetów, takie jak
http://openstreetmap.us/~migurski/vector-datasource/
i
http://mike.teczno.com/notes/postgreslessness-mapnik-vectiles.html (same chłopak).
Jego praca wydaje się być tym, co chcę osiągnąć, ale tak naprawdę nie rozumiem, jak to działa.
Z mojego zrozumienia, ponieważ używam OpenLayers, klient pobiera dane map w formacie GeoJSON i przenosi je do wektorów za pomocą parsera GeoJSON OpenLayers. Ale nie rozumiem tylko terminów używanych w tej technologii.
Na swoim blogu opisał, że będzie serwer, który zapewnia dane o nazwie 'MapNik Vector Tile'
format. Jaka jest różnica między kafelkiem wektora a GeoJSON? czy oznacza to po prostu kafelki GeoJSON, które odpowiadają obwiedni? Czy to nowy typ obrazu?
Jeśli spojrzysz na jego przykład, możesz zauważyć, że etykiety na drogach są wyrównane z obrysami dróg. Próbowałem zrobić to samo w OpenLayers, zmieniając kod Renderera w OpenLayers, ale mogę tylko obracać etykiety, ale nie zmuszać ich do zginania wzdłuż dróg (np. Gdy drogi mają narożniki, mapa wyświetla etykiety w kształcie litery „L”. * * + bardzo dobrze renderowane!
Wygląda na to, że Mike (autor bloga) korzysta z innej mapy oprócz OpenLayers, ale nie mogę zrozumieć, jak to zrobił. Jest tyle pytań, które należy zadać, ale najpierw chciałbym zrozumieć powyższe.
źródło
Odpowiedzi:
Pomysł przesyłania danych wektorowych zamiast obrazów i renderowania ich po stronie klienta nie jest nowy. Robi to już wiele narzędzi / projektów. Patrz na przykład tej wtyczki z ulotki , polymap , a także projekt cartagen . Deweloper OpenLayer próbuje wprowadzić go w (długo oczekiwanej) wersji 3.0 . Każda z tych inicjatyw wykorzystuje własny format kafelków wektorowych (w tym mapnik) - standard z pewnością powinien pojawić się w przyszłości.
Jeśli interesują Cię zasady i odpowiednia literatura, powinieneś rzucić okiem na ten znakomity artykuł (tak, sam się promuję :-):
Gaffuri, J., 2012. W kierunku mapowania sieci z danymi wektorowymi. W: Xiao, N., Kwan, M.-P., Goodchild, MF, Shekhar, S. (Red.), Geographic Information Science. Vol. 7478 notatek z wykładów z informatyki. Springer Berlin Heidelberg, Berlin, Heidelberg, Ch. 7, s. 87–101.
Darmowa wersja tego artykułu jest dostępna tutaj . Podsumowując: Efektywne mapowanie wektorowe wektorów = inteligentny format danych i stylów + generalizacja zależna od powiększenia + (kafelkowanie LUB indeksowanie przestrzenne). Przypadek użycia jest tutaj widoczny .
źródło
Rozumiem, że wektorowy format kafelków służy do zasilania modułu renderującego kafelki, takiego jak Mapnik lub TileMill, zamiast korzystania z bazy danych, takiej jak postgresql.
Geometrie nie są renderowane w czasie rzeczywistym przez aplikację kliencką taką jak OpenLayers, jeszcze nie, ale jest to interesujący obszar badań :-)
źródło