Pt:Camada de tile padrão

From OpenStreetMap Wiki
Jump to navigation Jump to search
 Open bug tracker
Camada padrão de renderização
OpenStreetMap Carto,osm-carto
Baclaran, Paranaque and Pasay Rotunda, Pasay
Baclaran, Paranaque and Pasay Rotunda, Pasay
Autor: Andy Allan e outros contribuidores GitHub
Slippy map: www.openstreetmap.org
Usage policy: operations.osmfoundation.org/policies/tiles/
Tiles license: CC-BY-SA 2.0
Style website: gravitystorm/openstreetmap-carto GitHub
Style license: CC0 1.0 GitHub
Versão: 4.20 releases (2019-02-15)

A Camada de renderização padrão é a tile layer padrão em inicial do OpenStreetMap. É frequentemente referido pelo nome da folha de estilo "OpenStreetMap Carto GitHub"[1] (ou osm-carto para abreviar).

Relatórios de bugs (por exemplo, problemas de renderização de classes de objetos específicos) podem ser gerados there GitHub (needs a login with a GitHub account).

Desenvolvimento de servidores do OSM

Página principal com a camada padrão de tile

Os servidores do OSM usam o estilo do OpenStreetMap Carto desde agosto de 2013. Estatísticas OSM tileserver de geração disponíveis, e você pode ler mais sobre isso em processo de renderização de quadros.

Os ladrilhos de zoom baixo e médio (z0-z12) geralmente são re-renderizados somente quando uma nova versão do OSM Carto está sendo implantada e no primeiro domingo de cada mês [2].As mudanças no esquema do banco de dados não devem ser solicitadas com mais freqüência do que 1-2 vezes por ano (provavelmente combinadas com a versão mais recente PostgreSQL). Se estiver usando a camada Padrão dos servidores de tiles openstreetmap.org em outros aplicativos, você deve seguir a Política de uso de camadas.

Chave do mapa

Como esse estilo é rico em recursos, a chave curta do mapa incluída na página inicial do OSM.org é muito limitada. Veja Standard tile layer/Key e suas subpáginas para a versão de legenda mais completa e atualizada:

Artigo principal: SymbolsTab
Artigo principal: LinesTab
Artigo principal: AreasTab

Grandes mudanças

Comparação entre o OSM Carto 2017 e versão antiga (Londres, no nível de zoom 10)
  • 2012 - Importando a versão XML para o CartoCSS (início do OSM Carto)
  • 2013 - Implantação de servidores de tiles OSM
  • 2014 - Reescrito o código dos edifícios
  • 2015 - Mudança de estilo de estrada, ícones SVG
  • 2016 - Melhor renderização de placenames
  • 2017 - Cor da água, melhorias no zoom médio, alteração do esquema do banco de dados
  • 2018 - Processamento de tags de escritório e assistência médica, novas categorias de cores de POI

Detalhes técnicos

Design

O estilo é projetado como um mapa de propósito geral do mundo, por exemplo:

  • objetos especiais (como marcas de mar ou detalhes ferroviários) não serão renderizados
  • os rótulos são renderizados com um valor name=* (o que ele contém para um determinado objeto), por isso não está exibindo nomes em inglês em todo o mundo
  • não há símbolos específicos do país (como por exemplo, escudos de estrada ou sinais de metrô), todos eles têm uma aparência uniforme

Enquanto o OpenStreetMap Carto tenta mostrar muitos objetos diferentes, não é possível renderizar tudo armazenado em um banco de dados, então a seleção de opt-in é feita.

Situações de uso GitHub para alguns níveis de zoom são definidos.

Mapnik e CartoCSS

Os blocos cartográficos do OpenStreetMap são renderizados usando o kit de ferramentas Mapnik. Dito isto, OpenStreetMap Carto e Mapnik não são a mesma coisa! O Mapnik é uma biblioteca de renderização de mapas usada para muitas folhas de estilo de mapas (incluindo o OpenStreetMap Carto).

O CartoCSS é usado para pré-processar a folha de estilo no formato XML do Mapnik (desde agosto de 2013).

Ordem de renderização

Neste caso, a área residencial superior é maior que a área de floresta e a área residencial inferior é menor que a área de floresta

Esse estilo tem várias camadas. Por exemplo, os nomes dos cursos de água são processados por vias navegáveis, as lojas são renderizadas em edifícios, os túneis são executados em edifícios, as estradas são renderizadas sobre a cobertura da terra, etc.

A questão restante é como os objetos são renderizados dentro da camada. Para alguns casos, as colisões não são permitidas e os objetos que cobrem o objeto já renderizado de determinada camada não são renderizados. Isso é feito, por exemplo, para cidades, onde os rótulos para menor que colidiriam com o rótulo para um maior não são renderizados.

As áreas de cobertura de terra são ordenadas por área, com as menores mais tarde e as colisões são permitidas. Isso significa que, para uma determinada camada, áreas menores cobrirão maiores.

Por exemplo, pequena área de landuse=park será renderizada em landuse=residential.

Há também uma camada de sobreposição separada contendo, por exemplo, símbolos de árvore para a cobertura da floresta, que é renderizada sobre o preenchimento da cobertura de terra.

  • área coberta por pequeno landuse=forest e grande landuse=residential
    • o preenchimento de floresta será processado em preenchimento residencial e será coberto, e a sobreposição de floresta será renderizada posteriormente
  • área coberta por grande landuse=forest e pequeno landuse=residential
    • o preenchimento residencial será processado sobre o preenchimento da floresta e será coberto, depois será sobreposto

Database

O OpenStreetMap Carto usa como seu banco de dados padrão PostgreSQL com PostGIS extensão geoespacial e é chamado de "gis". É derivado do [[Database|OSM , mas não armazena o conjunto de dados completo - apenas os elementos relacionados à renderização estão disponíveis. Desde a v4.0.0, o OpenStreetMap Carto usa o PostgreSQL hstore (conteúdo do tipo de extensão) e isso é pré-processado por a lua script GitHub pela ferramenta osm2pgsql.

Estrutura do código

A configuração geral do projeto está incluída no project.mml GitHub (YAML). Existem as chamadas "camadas", que incluem principalmente instruções SQL selecionando os objetos, enquanto o estilo real é feito em vários arquivos MSS.

O código de estradas é muito complexo e é parcialmente gerado pelos scripts auxiliares.

Ícones e padrões

Os ícones são imagens vetoriais alinhadas por pixel (SVG), geralmente baseadas em matriz de 14 px. Enquanto a maioria deles é monocromática e sua cor de renderização é definida nos arquivos MSS, alguns dos ícones têm mais de uma cor e são definidos no próprio arquivo de vetor nesses casos. Meios-tons podem ser usados.

Alguns padrões também são feitos como imagens vetoriais, mas se eles ainda são imagens rasterizadas (PNG), eles são derivados de elementos vetoriais e o processo é documentado GitHub, por isso, deve ser fácil migrar para um formato vetorial quando possível.

Fontes

A fonte Noto é usada, se possível, com DejaVu Sans, Hanazono e Unifont usados como fallbacks.

Fontes externas

O estilo depende em parte de alguns arquivos de dados externos provenientes de Natureza Terrestre e repositório de dados OSM pré-processados OpenStreetMapData. Eles podem ser atualizados com um script Python (scripts/get-shapefiles.py GitHub ou manualmente.

O litoral de renderização no openstreetmap.org é descrito aqui: Coastline#Rendering_in_Standard_tile_layer_on_openstreetmap.org.

Instalando e contribuindo

Você pode configurar uma cópia das folhas de estilo de renderização do CartStreet do OpenStreetMap para você mesmo. Para obter mais informações técnicas, incluindo instruções de configuração, consulte gravitystorm/openstreetmap-carto GitHub no GitHub:

Se você ainda não sabe por onde começar, basta pedir a ajuda (por exemplo, nos comentários do ticket).

Desenvolvedores mais experientes também são muito bem-vindos. Algumas tarefas complexas que precisam de atenção são:

Forks e implantações independentes

Além da implantação do OSM.org, o osm-carto está sendo usado para diferentes serviços independentes, como OSM Japan ou Geofabrik Maps.

O OpenStreetMap Carto é usado como base para outros forks de renderização de estilo de mapa, especialmente:

Há também um projeto separado chamado OpenGeofiction (OGF), que usa ferramentas OSM - incluindo osm-carto como estilo padrão - para criar mapas de lugares fictícios.

Links externos

Geral:

Histórico:

Blogs:

Debates:

Notas de Rodapé