Print
Details: Category: Programação | Published: 21 January 2016 | Hits: 26286

Para criar um polígono precisamos conhecer a área a ser delimitada precisamos de coordenadas; se possuirmos as coordenadas que definirão o contorno do polígono o trabalho fica mais fácil; no nosso caso como não dispomos das coordenadas criar remos o perímetro da área a ser delimitada e então iremos obter as coordenadas. Para saber como criar um arquivo para exibição de maps com a API V3 do Google Maps acesse o artigo Criando um mapa de polígono com a API V3 do Google Maps

Uma boa alternativa para desenhar um polígono e obter as coordenadas é o Google My Maps; com sua conta do Google/Gmail basta acessar a ferramenta e editar os mapas criados por você.

 Ao acessar o MyMaps você pode editar um mapa seu previamente criado ou criar um novo para a tarefa em questão.

Uma vez aberto o mapa basta clicar no topo na ferramenta “Draw a line” para desenhar uma linha, se esta linha formar um trajeto tal que o final dela termine no mesmo ponto de início teremos formado um polígono, ou uma área delimitada.

Com a ferramenta de desenho de linha selecionada basta desenhar o polígono desejado. Uma dica, como muitas vezes a área do polígono é extensa e precisamos nos mover melo mapa e dar zoom, o clique do mouse não pode ser utilizado para mover o mapa, pois cada clique com o mouse corresponde a um ponto do polígono a ser marcado;  assim sendo, utilize o mouse apenas para marcar os pontos do polígono, e o scrool para definir o zoom, a movimentação pelo mapa deve ser feita apenas pelas setas do teclado.

Ao terminar de desenhar a área do polígono clique o ponto final exatamente sobre o ponto inicial do traçado da linha do polígono.

Uma vez havendo se certificado de que o polígono foi desenhado com exatidão, o próximo passo é exportar os dados das coordenadas do polígono.

Para isso iremos exportar os dados do layer que nos interessa, no nosso caso desenhamos o polígono nomeado como Untilited Layer.  Agora iremos até o menu de opções da janela de informações nos três pontinhos de opções e selecionarmos a opção Export do KML.

o.

Ao terminar de desenhar a área do polígono clique o ponto final exatamente sobre o ponto inicial do traçado da linha do polígono.

Feito isso iremos marcar a caixa de seleção “Export to a .KML file instead of .KMZ (does not include custom icons)”

Este opção ira gerar um arquivo XML editável e compreensível; mas como os dados são muitos na maioria das vezes, o ideal é transformá-los em tabela para melhor trata-los e operacionaliza-los.

Para isto recomento a ferramenta Kml2x onde é possível fazer o upload do arquivo kml e exportá-lo para um modo de dados tratável; eu optei por exportar para o formato “TAB”.

Para iniciar a conversão abra a ferramenta online, clique em “Upload File: KML/KMZ” e selecione seu arquivo originalmente exportado do MyMaps.

Clique em aceitar:

Visualize seus dados como na janela demonstrada abaixo, e no nosso caso, selecione as opções polygon, pois desejamos exportar apenas os polígonos, lembrando que nosso KML pode conter tanto polígonos como pontos e traçados.

Selecione o tipo de dado de saída/exportação no lado direito e clique em “Export”. Uma nova janela irá se abrir com os dados selecionados.

Neste caso copiamos os dados e colamos em uma tabela em Excel.

Como nossos dados são coordenadas, o Excel tenta a atribuir um tipo de dados para nossos valores, o que acaba por modificar a formatação dos dados; para evitar isso, antes de colarmos os dados, selecionamos todas as células do Excel e definimos todas como sendo do tipo TEXTO, após isso podemos colar nossos dados.

Para efeito de exemplo iremos colocar apenas os primeiros dados da nossa sequencia de coordenadas e então colocaremos em nosso código fonte para utilizar a API do Google Maps.

Selecionamos nossos dados e colamos em nosso código fonte.

Note que trazemos de nossa tabela apenas as coordenadas, mas as mesmas precisam ser indentadas dentro de uma função de geocoding do Google.

O padrão desta função para cada ponto é: new google.maps.LatLng(latitude, longitude),

Então devemos para cada par coordenada latitude/longitude acrescentar a formatação que falta ou seja a chamada da função que é “new google.maps.LatLng(” uma virgula entre os valores da latitude e longitude e ao final o fichamento do par latitude/longitude com parênteses. É importante lembrar que após fechar a função “new google.maps.LatLng” se ela for seguida de uma nova função, após o parênteses deverá haver uma vírgula separando as funções, sendo que na ultima linha isto não ocorre, informando assim com a ausência de vírgula o fim da cadeia de coordenadas do polígono em questão.

O formato final da codificação fica como na imagem que se segue:

Feito isso podemos abrir nosso arquivo html com nosso mapa e verificar nosso polígono.