Jak zbudować serwer kafelków z danych Openstreetmap dla początkujących?


11

Jestem początkującym w GIS i rozwijam aplikację Java, która potrzebuje mapy. (Mapa dotyczyłaby tylko jednego miasta na Filipinach.) Badałam różne sposoby, aby to zrobić i odkryłam, że będę potrzebować serwera kafelków, aby umieścić mapę, ponieważ muszę mieć do niej dostęp bez połączenie z Internetem. Jestem początkującym i większość samouczków, które widziałem, były skomplikowane i mam kroki, których jeszcze nie wiem, jak to zrobić. Czy ktoś zna jakieś samouczki lub może pomóc mi rozpocząć tworzenie serwera kafelków, biorąc pod uwagę, że jestem w tym początkujący?


Czy to musi być w Javie?
RK

Odpowiedzi:


9

Istnieje bardzo dobra strona internetowa dla początkujących na temat świata OpenStreetMap skoncentrowana na osobach pochodzących z innych usług mapowania, które mogą pasować do twojego pytania: http://switch2osm.org/serving-tiles/

Ale jeśli chcesz utworzyć kafelki, które będą udostępniane offline, coś takiego jak http://www.maptiler.org/, ale koncentruje się na danych rastrowych.

Gdybym musiał to zrobić, prawdopodobnie rzuciłbym okiem na TileMill, aby stworzyć projekt i utworzyć plik MBTiles, a następnie przekonwertować go na strukturę pliku TMS, która będzie używana przez OpenLayers lub Leaflet w trybie offline.

Tak, to dość skomplikowane i wiele nowych (ale ekscytujących!) Rzeczy, przepraszam.


Witam, dziękuję za odpowiedź. Jeśli pobrałem wszystkie kafelki, których potrzebuję, jak mogę ich użyć do mapowania w mojej aplikacji Java? Przepraszam, jestem w tym początkujący. Mapa będzie tylko offline. Użyłem biblioteki Geotools do umieszczenia mapy w mojej aplikacji Java, ale składa się ona tylko z plików kształtów. Właśnie dlatego pomyślałem o serwerze kafelkowym, ale offline.
meebee,

Nie mam pojęcia, czy w GeoTools jest sterownik dla struktury TMS, opublikowałbym nowe pytanie z bardziej precyzyjnym opisem, aby ludzie mogli lepiej cię wskazać.
Jorge Sanz,

4

Dla jednego miasta Tilemill i Tile Drawer to dwie świetne opcje: http://switch2osm.org/serving-tiles/using-an-all-in-one-solution/

Tilemill otrzyma plik „.mbtiles”, bazę danych SQLite3, która zawiera wszystkie wyrenderowane kafelki. Musisz także opracować niestandardowy arkusz stylów dla danych.

Szuflada kafelków zrobi dla ciebie zasadniczo wszystko, w wyniku czego powstanie serwer EC2, którego możesz użyć do rzeczywistego renderowania kafelków. Jeśli wpiszesz ssh na tym serwerze i uruchomisz plik tilestache-seed.py dla swojego obszaru, możesz uzyskać katalog pełen wstępnie renderowanych obrazów kafelków, które można skopiować w dowolne miejsce.


2

Ponieważ jesteś początkujący, sugeruję korzystanie z pakietu OpenGeo. Pochodzi z GeoServer (serwer map) i PostGIS (przestrzenna baza danych). Jest to zintegrowany pakiet, więc nie musisz się martwić o integrację. Sugeruję, abyś najpierw wykonał samouczki, a gdy będziesz wystarczająco pewny siebie, wypróbuj własne dane lub dane OSM . Ma moduł ładujący pliki kształtów, więc nie powinno być zbyt trudne. Powodzenia :)


2

Jeśli dobrze rozumiem, chcesz umieścić kafelki na tym samym komputerze, na którym będzie działać aplikacja Java. W takim przypadku tak naprawdę nie potrzebujesz serwera sieci Web z kafelkami, wystarczy przygotować HTML mapy internetowej i umieścić ją na dysku lokalnym razem z kafelkami mapy. Następnie możesz uzyskać do niego dostęp za pomocą schematu URI pliku .

Jednym z dość łatwych sposobów generowania kafelków byłoby wykonanie „ Samouczka Maperitive: Mapa pieszych wędrówek w dziesięciu prostych krokach ”.


Witam, dziękuję za odpowiedź. Jeśli pobrałem wszystkie kafelki, których potrzebuję, jak mogę ich użyć do mapowania w mojej aplikacji Java? Przepraszam, jestem w tym początkujący. Mapa będzie tylko offline. Użyłem biblioteki Geotools do umieszczenia mapy w mojej aplikacji Java, ale składa się ona tylko z plików kształtów. Właśnie dlatego pomyślałem o serwerze kafelkowym, ale offline.
meebee

Nie mogę ci dużo pomóc w Javie, a to bardzo zależy od tego, co musisz zrobić z mapą. Możesz rzucić okiem na kod źródłowy JOSM, jest to aplikacja do mapowania OSM typu open source napisana w Javie.
Igor Brejc,
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.