Renderowanie niestandardowego stylu OpenStreetMaps (ląd = biały, woda = czarny): czy potrzebuję do tego specjalnego komputera?

10

EDYCJA: Moim celem nie jest używanie OpenStreetMap ani chmury stworzonej w chmurze jako mapy internetowej. Opisałem dokładnie to, czego chcę („pełny, zrasteryzowany zestaw płytek dla całego świata przy powiększeniu = 10 (około 68 gigapikseli, woda = czarny, ląd = biały, bez etykiet”). Chciałem tylko użyć cloudmade.com link jako przykład ilustrujący to, dla czego fotografuję. (W tej chwili styl w chmurze to tylko 90% drogi.) Potrzebuję kafelków offline. Potrzebuję obrazu (68 Gpix), który opisałem jako maskę w większym zadaniu mapy rastrowej dla niestandardowej mapy tworzę przy użyciu danych NASA i USGS.


Jako ilustracja

Stworzyłem własny styl, który pokazuje, czego chcę:

(Żadnych etykiet, żadnych dróg, żadnych cech z wyjątkiem wszystkich elementów wodnych (rzek, jezior, oceanów, jak to nazywasz) jako czarnych z lądem o jednolitej bieli i przyjemnym antyaliasingiem wartości Mapnika pomiędzy nimi.)


Czego naprawdę chcę

Chciałbym mieć pełny, zrasteryzowany zestaw płytek dla całego świata przy powiększeniu = 10 (około 68 gigapikseli).

Rozważyłem pobranie i zainstalowanie Planet.osm (skompresowany 11 GB) i uruchomienie Mapnika (przez kilka dni / tygodni?), Aby uzyskać te dane. Wygląda jednak na to, że Planet.osm zajmie 100 GB, a może nawet 1 TB po zbudowaniu bazy danych i indeksu. Nie mam tego rodzaju miejsca na dysku na moim laptopie, a ponieważ nie potrzebuję pełnego zestawu danych, czy istnieje mniejszy podzbiór danych, który mógłbym pobrać (mówi tutaj, że dane wielokąta mają tylko 700 MB)? Właściwie z tego, co mogę powiedzieć, dane podwoiły się w ciągu ostatniego roku, więc potrzebowałbym potężnej maszyny, aby sobie z tym poradzić.

Czy istnieje łatwiejszy, bezpośredni sposób na zestawienie tych kafelków (poziom 10, czarno-biały, po prostu lądowanie na wodzie), czy po prostu potrzebuję do tego specjalnego komputera?

Jared Updike
źródło
ta mapa chmur wygląda naprawdę ładnie. Proste, ale miłe. Biało-czarny z jasnoniebieskim działa naprawdę dobrze.
Nathan W
Kontynuacja (z kilkoma wstępnymi udanymi wynikami z naturalearthdata.com): gis.stackexchange.com/questions/1917/…
Jared Updike

Odpowiedzi:

7

Czy mam użyć OSM? lub czy podobny, ale mniejszy wektorowy zestaw danych będzie dla Ciebie odpowiedni? Jeśli tak, weź pod uwagę Naturalną Ziemię ( http://naturalearthdata.com ), która ma ładne wybrzeże w skali 1: 10M, obszar lądu, ocean, rzekę i jezioro. Następnie możesz użyć GeoServer lub MapServer lokalnie (lub na zdalnym serwerze), aby utworzyć kafelki na dowolnej głębokości, jakiej potrzebujesz, za pomocą dowolnej pamięci podręcznej kafelków (TileCache, GeoWebCache itp.)

Z twojego pytania nie jest nawet dla mnie jasne, że potrzebujesz kafelków - jeśli wszystko, czego chcesz, to maska, prawdopodobnie możesz to zrobić za pomocą GRASS - v.toRaster () (tak myślę).

Ian Turton
źródło
Myślę, że masz na myśli naturalearthdata.com
Jared Updike
masz rację - naprawiłem to.
Ian Turton
4

Nie musisz pobierać całego zestawu danych.

Możesz po prostu pobrać pliki wielokątów z

http://downloads.cloudmade.com/

lub

Nieco bardziej aktualne (31/08/2010) http://download.geofabrik.de/osm/

brudny hack (niezalecany)

Domyślny kafelek (256 x 256 pikseli)

http://b.tile.cloudmade.com/BC9A493B41014CAABB98F0471D759707/ 1 /256/15/17599/10746.png

Zwróć uwagę na 1 = StyleID, więc jeśli zastąpisz styl swoim identyfikatorem

http://maps.cloudmade.com/?styleId= 22688 #

http://b.tile.cloudmade.com/BC9A493B41014CAABB98F0471D759707/ 22688 /256/15/17599/10746.png otrzymujesz kafelek 256x256px w formacie png ze swoim stylem. Do pobrania wszystkich wymaganych można użyć skryptu.

Chociaż chciałbym zapisać się na klucz Web Lite API i po prostu użyć API do osadzenia w ramce iframe. (zgodnie z zaleceniami chmury)

źródło: http://developers.cloudmade.com/projects/tiles/documents

Mapperz
źródło
3

Nie rozumiem, dlaczego Mapperz uważa, że ​​używanie udokumentowanego API to „brudny hack”, ale w każdym razie - możesz go używać bez ograniczeń, aby pobrać wszystkie potrzebne kafelki. Będzie to zdecydowanie łatwiejsze niż:

  • pobierz dane
  • zainstaluj i skonfiguruj Mapnik
  • napisz XML w stylu Mapnika
  • spróbuj uruchomić wygenerować_tiles.py
  • zdecydowanie napotykają niejasne problemy z którymkolwiek z tych kroków

Odpowiedź na pytanie OP brzmi: po prostu napisz skrypt, który użyje API HTTP CloudMade do pobrania kafelków.

EDYCJA: Jeśli naprawdę chcesz wykonać renderowanie samodzielnie, sugeruję, aby zacząć od przeczytania instalacji Mapnika i przewodników XML . Aby wygenerować kafelki, musisz użyć tego narzędzia z repozytorium OpenStreetMap.

W przypadku jakichkolwiek pytań dotyczących Mapnika możesz skorzystać z listy mailingowej użytkowników mapnik lub odwiedzić kanał IRC #mapnik na FreeNode.

mishok13
źródło
2
Warunki: cloudmade.com/terms_conditions Musisz używać interfejsu API zamiast bezpośredniego „skrobania kafelków”. Te same warunki dotyczą interfejsu API Map Google. Ważne: Skrobanie obrazów kafelków z serwerów Google z jakiegokolwiek powodu jest niezgodne z warunkami usługi i nie jest zalecane.
Mapperz
Myślę, że fajnie byłoby skonfigurować Mapnika i wrzucić do niego Planet.osm, ale wygląda na to, że mój obecny komputer / dysk twardy są nieodpowiednie. Ale pozostanę na mojej liście opcji. Po zastanowieniu może być możliwe, aby ktoś z Planet.osm został już zaimportowany do Mapnika, aby wykonać zrzut OSM tylko potrzebnych warstw (wody / ziemi). Powinienem przynajmniej zapytać na kanale IRC. To może być owocne.
Jared Updike,
3

Jeśli wszystko, czego potrzebujesz, to wybrzeża, można je mieć za jedyne 260 MB: http://hypercube.telascience.org/~kleptog/

Popieram sugestię Naturalnej Ziemi powyżej; znajdziesz go lepiej wyglądającego i szybszego renderowania dla niższych poziomów. Musisz tylko niepokoić się samym OSM przy powiększeniach 8 i wyższych, lub mniej więcej (spróbuj kilku testów, aby zobaczyć)

Michał Migurski
źródło
Czy to ma słodką wodę? (Jeziora, zbiorniki retencyjne, rzeki?) Mogę obliczyć własną linię brzegową na podstawie zbiorów danych wysokości 50 m / 500 m SRTM. Naprawdę miałem nadzieję, że zrasteryzowane kafelki z całą wodą (świeżą i solą) będą razem, ponieważ to będzie działać równomiernie w mojej obecnej (niestandardowej) konfiguracji. Styl, który pokazałem w chmurze, jest w odległości kilku centymetrów od doskonałości, ale tak nie jest - nie jest naprawdę czarno-biały (nie jestem pewien, jak to naprawić) iz jakiegoś powodu istnieją tu i tam losowe etykiety, których tak naprawdę nie chcę i nie mogę wymyślić, jak usunąć.
Jared Updike,