Визуализация пользовательского стиля OpenStreetMaps (земля = белый, вода = черный): нужен ли мне выделенный компьютер для этого?

10

РЕДАКТИРОВАТЬ: Моя цель не использовать OpenStreetMap или Cloudmade в качестве веб-карты. Я описал именно то, что хочу («полный растеризованный набор плиток для всего мира при увеличении масштаба = 10 (около 68 гигапикселей, вода = черный, земля = белый, без меток»). Я имел в виду только использование cloudmade.com Ссылка в качестве примера, чтобы проиллюстрировать, для чего я снимаю. (Как это, стиль облачного производства - только 90% пути.) Мне нужны плитки в автономном режиме. Мне нужно изображение (68 Gpix), которое я описал как маску в увеличенной задаче растровой карты для пользовательской карты я строю с использованием данных НАСА и USGS.


Как иллюстрация

Я сделал собственный стиль, который показывает, что я хочу:

(Без меток, без дорог, без каких-либо объектов, за исключением всех водных объектов (рек, озер, океанов, вы называете это) черным цветом, а земля - ​​чисто белым, а между ними - красивым сглаживанием значений Mapnik.)


Что я действительно хочу

Я хотел бы получить полный растеризованный набор плиток для всего мира при увеличении масштаба = 10 (около 68 гигапикселей).

Я подумал о загрузке и установке Planet.osm (сжатый 11 ГБ) и запуске Mapnik (в течение дней / недель?), Чтобы получить эти данные. Тем не менее, Planet.osm выглядит так, как будто для построения базы данных и индекса потребуется 100 ГБ или, может быть, даже 1 ТБ. У меня нет такого дискового пространства на моем ноутбуке, и, поскольку мне не нужен полный набор данных, есть ли меньшее подмножество данных, которые я мог бы загрузить ( здесь говорится, что данные многоугольника составляют всего 700 МБ)? На самом деле, насколько я могу судить, за последний год объем данных удвоился, поэтому мне понадобится мощная машина, чтобы справиться с этим.

Есть ли более простой и прямой способ получить эти плитки (уровень 10, черно-белые, просто приземлиться на воду) в пакетном режиме или мне вообще нужен специальный компьютер для этого?

Джаред Апдайк
источник
эта облачная карта выглядит действительно красиво. Просто, но приятно. Белый на черном с голубым работает очень хорошо.
Натан,
Продолжение (с некоторыми предварительными успешными результатами от naturalearthdata.com): gis.stackexchange.com/questions/1917/…
Джаред Апдайк

Ответы:

7

Вы должны использовать OSM? или подобный, но меньший набор векторных данных будет работать для вас? Если это так, рассмотрите Natural Earth ( http://naturalearthdata.com ), которая имеет прекрасную береговую линию масштаба 1: 10M, площадь суши, океан, реку и озерный слой. Затем вы можете использовать GeoServer или MapServer локально (или на удаленном сервере) для создания ваших плиток на любой глубине с любым из обычных кэшей плиток (TileCache, GeoWebCache и т. Д.)

Из вашего вопроса мне даже не ясно, что вам нужны плитки - если все, что вам нужно, это маска, то вы, вероятно, можете сделать это, используя GRASS - v.toRaster () (я думаю).

Ян Тертон
источник
Я думаю, что вы имеете в виду naturalearthdata.com
Джаред Апдайк
Вы правы - я исправил это.
Ян Тертон
4

Вам не нужно загружать весь набор данных.

Вы можете просто скачать файлы полигонов с

http://downloads.cloudmade.com/

или

Чуть более актуально (31/08/2010) http://download.geofabrik.de/osm/

грязный хак (не рекомендуется)

Плитка по умолчанию (256x256px)

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

Обратите внимание на 1 = StyleID, так что если вы замените стиль своим ID

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

http://b.tile.cloudmade.com/BC9A493B41014CAABB98F0471D759707/ 22688 /256/15/17599/10746.png вы получаете плитку 256x256 пикселей в формате png со своим стилем. Сценарий может быть использован для загрузки всего необходимого.

Хотя я бы подписался на ключ API web lite и просто использовал API для вставки в iframe. (как рекомендует cloudmade)

источник: http://developers.cloudmade.com/projects/tiles/documents

Mapperz
источник
3

Я не понимаю, почему Mapperz считает, что использование документированного API - это «грязный хак», но в любом случае - вы можете использовать его свободно и без ограничений, чтобы загрузить все нужные вам плитки. Это будет определенно легче сделать, чем:

  • скачать данные
  • установить и настроить Mapnik
  • написать в стиле Mapnik XML
  • попробуйте запустить generate_tiles.py
  • наиболее определенно столкнуться с непонятными проблемами с любым из этих шагов

Итак, ответ на вопрос OP: просто напишите скрипт, который будет использовать HTTP API CloudMade для загрузки плиток.

РЕДАКТИРОВАТЬ: Если вы на самом деле хотите сделать рендеринг самостоятельно, тогда я предлагаю вам начать с прочтения руководства по установке Mapnik и XML . Для генерации плиток вам нужно использовать эту утилиту из репозитория OpenStreetMap.

По любым вопросам, связанным с Mapnik, вы можете использовать список рассылки mapnik-users или посетить IRC-канал #mapnik на FreeNode.

mishok13
источник
2
Условия использования: cloudmade.com/terms_conditions Вы должны использовать API, а не прямое « удаление фрагментов». К API Карт Google применяются те же условия. Важно: удаление изображений фрагментов с серверов Google по любой причине противоречит условиям обслуживания и не рекомендуется.
Mapperz
Я думаю, было бы неплохо настроить Mapnik и добавить туда Planet.osm, но, похоже, мой нынешний компьютер / жесткий диск неадекватен. Но я буду держать это в моем списке вариантов. Подумав еще раз, возможно, можно будет заставить кого-то с Planet.osm, уже импортированного в Mapnik, сделать OSM-дамп только тех слоев (вода / земля), которые мне нужны. Я должен по крайней мере спросить на канале IRC. Это может быть плодотворно.
Джаред Апдайк
3

Если все, что вам нужно, это береговые линии, их можно взять всего за 260 МБ: http://hypercube.telascience.org/~kleptog/

Я поддерживаю предложение Естественной Земли выше; Вы найдете его более привлекательным и быстрым для рендеринга на более низких уровнях. Вам нужно только позаботиться о самом OSM в масштабах 8 и выше, или около того (попробуйте несколько тестов, чтобы увидеть)

Михал Мигурски
источник
Есть ли здесь пресная вода? (Озера, реки, реки?) Я могу рассчитать свою собственную береговую линию из наборов данных высот 50 м / 500 м SRTM. По правде говоря, я надеялся собрать растеризованные плитки всей воды (пресной и соленой), потому что это будет работать равномерно в моей текущей (пользовательской) настройке. Стиль Cloudmade, который я продемонстрировал, находится в нескольких дюймах от совершенства, но это не так - он не совсем черно-белый (не уверен, как это исправить), и по какой-то причине здесь и там есть случайные ярлыки, которые я действительно не хочу и не могу понять, как удалить.
Джаред Апдайк