Projeção tipo olho de peixe


12

Preciso de uma projeção especial para fins de apresentação eficaz em um pôster. Gostaria de apresentar a área de estudo (República Tcheca) em um contexto de toda a Europa, de forma que a República Tcheca ocupe a maior área (como 70%) no centro, e o resto da Europa esteja à sua volta, mas ridiculamente pequeno. Ou seja, como distorção maciça a favor da República Tcheca, como uma lente olho de peixe, quando você as coloca perto de algum objeto e elas a ampliam enormemente em comparação com o ambiente.

Existe alguma projeção que eu possa usar para esse fim no Quantum GIS? EPSG ou a fórmula padrão (que pode ser usada no QGIS) é bem-vinda.


1
Você pode fazer isso com um cartograma de distância ou área . Não conheço nenhuma solução QGIS. Você também pode fazer isso através de uma simples transformação personalizada das coordenadas, se souber como programar essas coisas. Nenhuma projeção padrão criará esse mapa para você, devido às distorções extremas envolvidas.
whuber

1
Isso pode ser feito, mas você precisa ser inteligente. Iniciando nas coordenadas projetadas e depois projetando-as com uma projeção que usa um esferóide menor, é possível fazer com que uma pequena parte do mundo pareça ser a maior parte de um hemisfério. Reprojetar as coordenadas resultantes com praticamente qualquer projeção adequada para esse hemisfério seria suficiente. O que você ganha em termos de não ter que codificar quaisquer transformações de coordenadas deve ser equilibrado contra (a) ter que fazer muita experimentação de tentativa e erro e (b) ter controle mínimo sobre a distorção nas bordas.
whuber

4
Eu usaria a rota do cartograma. Ferramentas simples com implementação pronta. Basta fazer o valor para o representante tcheco. muito maior que o resto da Europa: scapetoad.choros.ch
HeikkiVesanto

1
Se você não estiver limitado por rasters nesse mapa, o caminho a seguir é definitivamente exportar para SVG e usar o Inkspace ou outro editor de gráficos vetoriais para fazer o efeito da lupa. Se você trabalha com vetores, não haverá problemas de pixel feios. +1 para a República Tcheca :)
Miro

1
Aqui está um tutorial para o CorelDraw: youtube.com/watch?v=YE9hu1g20Gc , no Inkscape você deve obter um desempenho
Miro

Respostas:


6

Embora não seja olho de peixe, você pode fazer esse estilo de mapa como um cartograma.

Os benefícios disso são que existem ferramentas prontas para o trabalho e funcionarão com um conjunto robusto de conjuntos de dados.

Apenas faça o valor para a República Tcheca muito maior que o resto da Europa, ajustando os valores para atender às necessidades.

Uma ótima ferramenta para isso é: ScapeToad

insira a descrição da imagem aqui


Obrigado Vesanto, é exatamente isso que eu precisava! :-) Ferramenta pronta para uso e fácil de usar! Eu finalmente usei isso. E parece-me muito com um olho de peixe :-)
Tomas

A única coisa a notar é que era muito, muito lento, então eu tive que escolher as configurações mais lentas e até diminuir o número de células da grade manualmente .. mas parece ótimo. A única coisa que lamento é que não será fácil fazer isso com rasters.
Tomas

1
você pode acelerar as coisas usando qgis para simplificar as geometrias, ou usar um shapefile resolução mais baixa (como a 50m ou 110m da Natural Terra)
Steven Kay

8

Você pode tentar uma das Magnifying Glassprojeções de Snyder encontradas no http://www.csiss.org/map-projections/Azimuthal.html n. Os 32 a 36.

Eles são baseados nesta publicação: https://pubs.er.usgs.gov/publication/70014498

Não tenho certeza se existe um recurso online com as fórmulas.

O Mapa Logarítmico da Hägerstrand também pode atender às suas necessidades: http://www.ncgia.ucsb.edu/projects/tobler/Projections/sld105.htm

Ou uma projeção azimutal de raiz quadrada: http://www.ncgia.ucsb.edu/projects/tobler/Projections/sld109.htm

As referências podem ser encontradas em http://www.cartoperspectives.org/index.php/journal/article/download/cp59-tobler/307 e em "Small-Scale Map Projection Design", de Frank Canters (disponível nos livros do Google).


Obrigado Andrej! Tudo isso parece muito interessante! Mas sem as fórmulas ou epsgs ou qualquer outra forma fácil como usá-los eu não será capaz de usá-lo :-(
Tomas

1
Não haverá código EPSG (nenhuma pesquisa de óleo será feita com esses mapas!), Mas você pode procurar pelas publicações.
Andrej

7

Aqui está um pseudo-olho de peixe feito no Postgres / Postgis. Eu usei o plugin QChainage para criar 1000 pontos ao longo da fronteira de cada país. Os pontos foram reprojetados em torno da ilha nula (0,0) usando o logaritmo da distância, mas com o azimute preservado.

insira a descrição da imagem aqui

Usei Plat Caree para torná-lo circular, pois o wgs84 dá uma aparência mais elipsóide.

select
    st_asewkt(
        st_endpoint(
            st_scale(
                st_rotate(
                    st_makeline(
                        st_setsrid(st_makepoint(0,0),4326),
                        st_setsrid(st_makepoint(0,1),4326)
                    ),
                    st_azimuth(
                        st_setsrid(
                            st_makepoint(0,0),
                            4326
                        )
                        ,
                        ST_translate(geom,-15.0,-50.0)
                    ) 
                ),
                -(1.0+(7.0*log(ST_Distance(st_setsrid(st_makepoint(0,0),4326),ST_translate(geom,-15.0,-50.0))))),
                (1.0+(7.0*log(ST_Distance(st_setsrid(st_makepoint(0,0),4326),ST_translate(geom,-15.0,-50.0)))))

            )   
        )
    ) as pt

from
    qqq3lines

interessante, obrigado Steven! Pode ser feito mais para que o representante tcheco seja ainda maior em comparação com o resto?
Tomas

@tomas sim ... você precisa ajustar as constantes que usei no st_scale () .. tente aumentar o 1.0 para o 2.0 e diminuir o 7.0 para algo menor.
21415 Steven

1

O D3 possui um plug-in de distorção olho -de- peixe , que eu encontrei no Google "svg fisheye transform" do Google. Pode ser útil para a sua situação. Basicamente, estou sugerindo a conversão de alguns de seus shapefiles para SVG (ou GeoJSON?), Tornando seu mapa usando a cada vez mais popular biblioteca D3.js.

Meu pensamento era: eu sabia que as geometrias dos limites do país podiam ser convertidas em tipos de vetores SVG e suspeitava que, como SVG, poderia haver abordagens mais adequadas para implementar a transformação de olho de peixe que você deseja.

Concordo com os outros comentadores de que o software de ilustração / gráfico é mais apropriado ao seu cenário e, como o D3 trabalha com alguns formatos de dados comuns (SVG e GeoJSON), ele pode fornecer uma solução para você.


obrigado, mas o D3 não é uma biblioteca para programadores e criadores da web? Possivelmente, preciso de um programa que crie uma imagem única para mim, possivelmente sem a necessidade de programação.
Tomas

@ Tomas, justo o suficiente. Porém, como sua pergunta é simplesmente intitulada "Projeção tipo olho de peixe", ela terá uma forte classificação no Google para pesquisas semelhantes, que com o tempo provavelmente incluirão alguns desenvolvedores. Eventualmente, essa resposta pode ser útil para outra pessoa.
elrobis

0

Acho que você precisará de uma distorção extrema para que a República Tcheca fique assim. Existe uma técnica fotográfica de "projeção estereográfica" bastante popular, às vezes usada na fotografia de panorama, para criar "mundos do globo" que podem funcionar se você usar o resultado como sobreposição na Europa. (Não considere isso uma resposta, pois isso é puramente hipotético e nunca tentei com um mapa) Além disso, isso seria mais um projeto de edição de gráficos / fotos, porque você provavelmente precisaria fotografar seu mapa impresso ou possivelmente exportá-lo do GIS para uma imagem de alta resolução, copie e recorte uma série de imagens em torno de um ponto central (centralizado em uma área uniforme no meio com sobreposição suficiente) para que elas possam ser usadas como entrada na função de panorama. Depois de ter a "projeção estereográfica"

Obviamente, você precisará adicionar etiquetas após o fato no Illustrator, Corel Draw ou importando a imagem final como varredura de volta ao GIS e criando alguns gráficos / anotações.

Google "panorama de projeção estereográfica" para ver exemplos.

Aqui está um exemplo de tutorial: http://www.photographymad.com/pages/view/little-planet-photos-5-simple-steps-to-making-panorama-worlds

insira a descrição da imagem aqui

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.