Dezembro de 2010
Objetivo
Este tutorial apresenta alguns novos elementos KML apresentados com o Google Earth 6.0 e como eles podem ser usados para criar uma cartografia complexa para seus LineStyles. Você vai aprender sobre os elementos <gx:physicalWidth>
, <gx:outerColor>
, <gx:outerWidth>
e <gx:drawOrder>
.
Introdução
Antes do lançamento do Google Earth 6.0, a capacidade de definir estilos cartográficos complexos para LineStrings era limitada. Por exemplo, se você quisesse criar um estilo para uma estrada em que o centro de LineString tinha uma cor diferente das bordas, precisaria desenhar duas LineStrings separadas com larguras diferentes e, mesmo assim, não seria possível garantir a ordem em que elas seriam desenhadas.
Os exemplos a seguir mostram como criar uma via. Primeiro, a estrada terá um estilo simples. Em seguida, adicione uma calçada. Por fim, você adicionará um viaduto rodoviário.
Uma via básica
O primeiro elemento é <gx:physicalWidth>
, que permite definir a largura de uma LineString em metros em vez de pixels. No nosso caso de estrada, isso significa que você pode definir a largura da estrada de acordo com as imagens, não importando a altitude de que o usuário final visualiza a estrada. Conforme você ganha altitude, a via diminui em pixels, criando um efeito em que só é possível ver a LineString quando o zoom está muito próximo. Isso pode ser útil se você não quer enfatizar pequenas vias de distância ou se quer que sua cartografia sempre corresponda às imagens de satélite.
<?xml version="1.0" encoding="UTF-8"?> <kml xmlns="http://www.opengis.net/kml/2.2" xmlns:gx="http://www.google.com/kml/ext/2.2" xmlns:kml="http://www.opengis.net/kml/2.2" xmlns:atom="http://www.w3.org/2005/Atom"> <Document> <name>Road Styling</name> <Style id="street"> <LineStyle> <color>ff235523</color> <gx:physicalWidth>12</gx:physicalWidth> </LineStyle> </Style> <Placemark> <styleUrl>#street</styleUrl> <LineString> <coordinates> -122.2442883478408,37.4347536724074,0 -122.2417741446485,37.43594997501623,0 -122.2414951359056,37.43611878445952,0 </coordinates> </LineString> </Placemark> </Document> </kml>Ao alterar a altitude da câmera no Google Earth, observe como ela se aproxima da largura das imagens em todos os momentos.
Adicionar calçadas
Agora é possível adicionar os elementos <gx:outerColor>
e <gx:outerWidth>
adicionando um verde-claro às bordas da via para representar as calçadas. Defina 25% do total de pixels da estrada em cinza-claro.
<?xml version="1.0" encoding="UTF-8"?> <kml xmlns="http://www.opengis.net/kml/2.2" xmlns:gx="http://www.google.com/kml/ext/2.2" xmlns:kml="http://www.opengis.net/kml/2.2" xmlns:atom="http://www.w3.org/2005/Atom"> <Document> <name>Road Styling</name> <Style id="street_sidewalk"> <LineStyle> <color>ff235523</color> <gx:physicalWidth>12</gx:physicalWidth> <gx:outerColor>ff55ff55</gx:outerColor> <gx:outerWidth>0.25</gx:outerWidth> </LineStyle> </Style> <Placemark> <styleUrl>#street_sidewalk</styleUrl> <LineString> <coordinates> -122.2442883478408,37.4347536724074,0 -122.2417741446485,37.43594997501623,0 -122.2414951359056,37.43611878445952,0 </coordinates> </LineString> </Placemark> </Document> </kml>Já que a largura da estrada foi definida para 12 metros, o valor de 0,25 para a outerWidth significa que 3 metros dessa largura serão definidos para um verde mais claro (cerca de 1,5 metro em cada lado da estrada).
Um viaduto
Agora que você tem uma via básica, é hora de atravessar uma via superior. A opção vai ser laranja-claro com uma linha média laranja-escuro. A principal adição aqui é incluir um <gx:drawOrder>
de 1 (o padrão é 0) no <LineSring>
para garantir que a rodovia seja renderizada sobre a via. Se você estiver criando uma alternância de rodovia mais complexa (ou qualquer tipografia que exija mais de duas LineStrings sobrepostas), basta adicionar um valor mais alto ao <gx:drawOrder>
para qualquer que você queira renderizar na parte superior.
<?xml version="1.0" encoding="UTF-8"?> <kml xmlns="http://www.opengis.net/kml/2.2" xmlns:gx="http://www.google.com/kml/ext/2.2" xmlns:kml="http://www.opengis.net/kml/2.2" xmlns:atom="http://www.w3.org/2005/Atom"> <Document> <name>Road Styling</name> <Style id="street_sidewalk"> <LineStyle> <color>ff235523</color> <gx:physicalWidth>10</gx:physicalWidth> <gx:outerColor>ff55ff55</gx:outerColor> <gx:outerWidth>0.25</gx:outerWidth> </LineStyle> </Style> <Style id="highway"> <LineStyle> <color>cc1447ff</color> <gx:physicalWidth>20</gx:physicalWidth> <gx:outerColor>cc1473ff</gx:outerColor> <gx:outerWidth>0.75</gx:outerWidth> </LineStyle> </Style> <Placemark> <styleUrl>#street_sidewalk</styleUrl> <LineString> <coordinates> -122.2442883478408,37.4347536724074,0 -122.2417741446485,37.43594997501623,0 -122.2414951359056,37.43611878445952,0 </coordinates> </LineString> </Placemark> <Placemark> <styleUrl>#highway</styleUrl> <LineString> <gx:drawOrder>1</gx:drawOrder> <coordinates> -122.2442692500139,37.43634904345254,0 -122.2415928723012,37.43416417520744,0 </coordinates> </LineString> </Placemark> </Document> </kml>
A seguir
A capacidade de descrever uma única LineString com várias cores, combinada com o controle sobre a ordem de renderização, permite criar uma cartografia de linha complexa que não era possível anteriormente. Seja criando um viaduto ou um projeto de arte abstrata, divirta-se com essas regras de estilo.