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?

meebee
źródło
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.

Jorge Sanz
źródło
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.

Michał Migurski
źródło
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 :)

RK
źródło
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 ”.

Igor Brejc
źródło
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,