Mais

MapProxy e o antimeridiano

MapProxy e o antimeridiano


Estou usando o MapProxy para usar o serviço de mapa de mosaico (TMS) da minha empresa como um serviço de mapa da web (WMS) para consumo por clientes GIS de desktop. Uma das grandes vantagens é poder adicionar projeções adicionais à configuração YAML e renderizá-las em tempo real; Tive sucesso ao adicionar suporte para projeções polares estereográficas da Antártica e do Ártico.

Na verdade, o único problema que resta é que MapProxy não funciona bem com o antimeridiano. Quando uma imagem é solicitada que consiste em ladrilhos de cada lado do antimeridiano, independentemente da projeção, em vez de solicitar os ladrilhos que confinam com o antimeridiano e costurá-los, parece solicitar o mapa inteiro em uma "volta ao redor" e, em seguida, apertar todas essas informações em uma pequena parte do mapa ao redor do antimeridiano. Uma imagem provavelmente pode explicar melhor:

Ignore o fato de que a Nova Zelândia está de cabeça para baixo, é apenas uma projeção polar. Se eu aumentar o zoom, a região de "mancha" ficará menor em termos de distribuição geográfica, mas permanecerá aproximadamente do mesmo tamanho na minha tela. O oposto se aplica se eu diminuir o zoom; na verdade, com um nível de zoom fora da imagem, metade da Nova Zelândia é afetada pela mancha. O mesmo se aplica ao hemisfério norte, no estreito de Bering e, de fato, ao longo do antimeridiano em todas as projeções que tentei.

Tentei alterar meu arquivo YAML de configuração das seguintes maneiras, sem realmente esperar que eles resolvessem o problema, mas tentei mesmo assim:

  • Alterar a caixa delimitadora das grades de (por exemplo)[-180,45,180,89]para[-179,45,179,89](Prefiro perder um intervalo pequeno do que ter um intervalo maior anulado pela mancha da imagem). Tentei fazer isso com as projeções não padrão que estava usando, além de substituir a grade baseGLOBAL_MERCATORpropriedade da caixa delimitadora.
  • Alterando ameta_bufferemeta_sizepara 0, caso o buffer estivesse causando isso de alguma forma.

Alguém mais encontrou esse problema e tem uma solução ou uma solução alternativa?

EDIT: Estou usando MapProxy v1.8.0


O comportamento anti-meridiano é Indefinido no MapProxy agora (1.8). Para a maioria dos usuários, isso não é um problema e, portanto, ninguém investiu tempo ou dinheiro para trabalhar nisso. Eu sei que isso não é bom para pessoas "da extremidade do mundo" e espero que isso mude no futuro.


Assista o vídeo: antimeridiano