Более

Визуализируйте все дороги одинаковой ширины в Mapnik


Есть ли простой способ визуализировать все дороги и тропы одинаковой ширины в Mapnik? На изображении ниже все линии имеют одинаковую ширину, но поскольку на многих более крупных дорогах много полос или параллельных дорог, которые (почти) перекрываются, они кажутся толще.

Моим источником Mapnik является база данных PostGIS с данными OSM.

Любые идеи?


Взгляните на Skeletron, инструмент Python для объединения смежных линий.

(Между прочим, я пришел сюда по вашему запросу в #osm IRC, но было бы вежливо, если бы вы подождали там чуть более 30 секунд, чтобы узнать, есть ли у кого-нибудь ответ на ваш вопрос!)


Вы можете определить разную ширину линии в mapnik с помощью фильтра, например.

 ([type] = 'автомагистраль')   ([тип] = 'основной') 

Для создания более сложных файлов mapnik я обычно использую Tilemill, потому что я считаю CartoCSS более удобочитаемым и хорошо документированным. Для получения дополнительной информации обратитесь к руководству по стилизации линий и справочнику CartoCSS.

Примером оформления дорожных линий может быть:

#roads {[type = 'motorway'] {ширина линии: .5; цвет линии: # 168; } [type = 'primary'] {ширина линии: 1; цвет линии: # 168; } [type = 'secondary'] {ширина линии: 1; цвет линии: # 168; } [тип = 'жилой'] {ширина линии: 1; цвет линии: # 168; }}

После создания карты в Tilemill вы можете экспортировать стиль как Mapnik XML, который затем можно использовать в своем приложении.