Imprimir E Descarregar Mapas Bing E Google

28 de Setembro, 2015

O problema

O plugin OpenLayers do QGIS permite acrescentar nos projectos camadas de fontes tais como Bing e Google: as camadas acrescentadas desta forma são obviamente muito úteis mas este datasources possuem algumas desvantagens:

  • nos layouts de impressão, uma vez que os mesmos forem exportados para PDF/imagem (ou impressos em papel) há um desvio entre as imagens e as features raster/vectoriais presentes no projecto
  • este camadas não podem ser usadas como input para operações de geoprocessamento ou analise
  • não se pode definir a transparência geral assim como nenhuma outra propriedade das camadas (visibilidade baseada em escala, transparência de pixeis com valor especifico, etc.)
Desvio provocado pelo plugin OpenLayers

A solucão

O primeiro link é o datasource para as imagens Bing Maps/Virtual Earth e pode ser usado directamente. O segundo link é o datasource para camadas Google. Este ficheiro deverá ser editado com um editor de texto para: 1) mudar o CRS de 900913 para 3857, 2) escolher a camada Google que se pretende visualizar. Por exemplo o ficheiro deverá ser editado da seguinte forma para visualizar as imagens de satélite/aéreas:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
<GDAL_WMS>

<!-- Data is subject to term of use detailed at http://code.google.com/intl/nl/apis/maps/terms.html and
     http://www.google.com/intl/en_ALL/help/terms_maps.html -->

    <Service name="TMS">
        <!-- <ServerUrl>http://mt.google.com/vt/lyrs=m&amp;x=${x}&amp;y=${y}&amp;z=${z}</ServerUrl>--> <!-- Map -->
        <ServerUrl>http://mt.google.com/vt/lyrs=s&amp;x=${x}&amp;y=${y}&amp;z=${z}</ServerUrl> <!-- Satellite -->
        <!-- <ServerUrl>http://mt.google.com/vt/lyrs=y&amp;x=${x}&amp;y=${y}&amp;z=${z}</ServerUrl> --> <!-- Hybrid -->
        <!-- <ServerUrl>http://mt.google.com/vt/lyrs=t&amp;x=${x}&amp;y=${y}&amp;z=${z}</ServerUrl> --> <!-- Terrain -->
        <!-- <ServerUrl>http://mt.google.com/vt/lyrs=p&amp;x=${x}&amp;y=${y}&amp;z=${z}</ServerUrl> --> <!-- Terrain, Streets and Water  -->
    </Service>
    <DataWindow>
        <UpperLeftX>-20037508.34</UpperLeftX>
        <UpperLeftY>20037508.34</UpperLeftY>
        <LowerRightX>20037508.34</LowerRightX>
        <LowerRightY>-20037508.34</LowerRightY>
        <TileLevel>20</TileLevel>
        <TileCountX>1</TileCountX>
        <TileCountY>1</TileCountY>
        <YOrigin>top</YOrigin>
    </DataWindow>
    <Projection>EPSG:3857</Projection>
    <BlockSizeX>256</BlockSizeX>
    <BlockSizeY>256</BlockSizeY>
    <BandsCount>3</BandsCount>
    <MaxConnections>5</MaxConnections>
    <Cache />
</GDAL_WMS>

As camadas acrescentadas desta forma são rasters WMS, sendo portanto possível: visualizar a escalas arbitrarias, reprojectar, mudar transparência, configurar a visibilidade baseada em escalas, etc.

O mais importante é que estas camadas não irão criar problemas de desvios quando usadas no print composer do QGIS.

Problema resolvido usando os datasource WMS da biblioteca GDAL

Notas:

  • o sistema de coordenadas deste camadas é o com código EPSG 3857, ou seja Google Mercator
  • a resolução deste camadas é respectivamente: Google Satellite: 15cm , Bing Aerial: 30cm
  • o QGIS permite fazer a operação save as (“gravar como”) também para camadas rasters. Isso significa que é possível gravar localmente (sob forma de ficheiros GeoTIFF) mapas com imagens Google/Bing (gravar localmente desta forma áreas grandes com resolução elevada irá significar tempos de processamento muito compridos).
  • ler com atenção as condições de uso deste provedores de dados. O autor e o grupo QGIS-PT não se responsabilizam para o uso impróprio deste mapas
  • para mais informações: http://www.gdal.org/frmt_wms.html
Operação save as rasters no QGIS


Categorias: Bing, GDAL, Google, QGIS, WMS


Blog desenvolvido com Octopress