Mais

OpenStreetMaps: o que são! Pixel_width! e! pixel_height! nas consultas

OpenStreetMaps: o que são! Pixel_width! e! pixel_height! nas consultas


O repositório Github contendo o estilo CartoCSS para o conjunto de dados OpenStreetMaps também define consultas para as diferentes camadas (consulte este arquivo).

Um exemplo de tal consulta é

SELECT caminho, "natural", hidrovia, uso da terra, nome, way_area / NULLIF (! Pixel_width! :: real *! Pixel_height! :: real, 0) AS way_pixels FROM planet_osm_polygon WHERE (hidrovia IN ('dock', 'riverbank', 'canal') OU landuse IN ('reservatório', 'bacia') OU "natural" IN ('água', 'geleira')) E a construção É NULL E way_area> 0,01 *! pixel_width! :: real *! pixel_height! :: real ORDER BY z_order, way_area DESC

A execução desta consulta em meu banco de dados local falha com

ERRO: a coluna "pixel_width" não existe LINHA 7: way_area / NULLIF (! Pixel_width! :: real *! Pixel_heigh…

como mensagem de erro. Este é o Ubuntu, ondepsql --versionsaídas

psql (PostgreSQL) 9.3.10

Alguém tem ideia do que sãopixel_widthepixel_heightvalores são, e o que preciso fazer com meu banco de dados PostGIS local para executar essas consultas? As etapas no OpenStreetMap Wiki não listam nada de especial.

A correspondência mais próxima que encontrei é a ST_PixelWidthfunção, mas isso é para rasters, e a sintaxe usada nos exemplos não corresponde à sintaxe usada no OSM. Então, obviamente, não é isso


Você pode precisar mudar para o Mapnik 2.1.0 se quiser usar este estilo. Consulte https://github.com/mapnik/mapnik/wiki/PostGIS#other-tokens.

Neste ponto, o tamanho de um caminho em relação ao pixel é calculado e o caminho será descartado se for muito pequeno. Veja também https://github.com/mapbox/osm-bright/issues/72 para uma sugestão sobre o estilo OSM Bright e como ele pode ser substituído.


Assista o vídeo: Video sobre Geontecnologias Livres: Openlayers e OpenStreetMaps