Dezembro de 2010
Objetivo
Este tutorial apresenta alguns novos elementos KML introduzidos com o Google Earth 6.0 e como eles podem ser usados para criar cartografia complexa para seus LineStyles. Os elementos que você vai conhecer são <gx:physicalWidth>, <gx:outerColor>, <gx:outerWidth> e <gx:drawOrder>.
Introdução
Antes do lançamento do Google Earth 6.0, era difícil definir estilos cartográficos complexos para LineStrings. Por exemplo, se você quisesse criar um estilo para uma rua em que o centro da LineString tivesse uma cor diferente das bordas, teria que desenhar duas LineStrings separadas com larguras diferentes. 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 via terá um estilo simples. Em seguida, adicione uma calçada. Por fim, você vai adicionar um viaduto.
Uma via básica
O primeiro elemento de interesse é <gx:physicalWidth>, que permite definir a largura de uma LineString em metros, em vez de pixels. No caso do nosso exemplo de via, isso significa que você pode definir a largura da via para corresponder às imagens subjacentes, não importa a altitude de que o usuário final vê a via. À medida que você ganha altitude, a estrada diminui em pixels, criando um efeito em que só é possível ver a LineString quando o zoom está bem próximo. Isso pode ser útil se você não quiser enfatizar vias pequenas de longe ou se quiser garantir que sua cartografia corresponda às imagens de satélite em todos os momentos.
<?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 mudar a altitude da câmera no Google Earth, observe como ela corresponde à largura das imagens subjacentes em todos os momentos.
Como adicionar calçadas
Agora você pode adicionar os elementos <gx:outerColor> e <gx:outerWidth> adicionando um verde claro às bordas da via para indicar as calçadas. Defina 25% do total de pixels da via como 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>
Como a largura da via foi definida como 12 metros, o valor de 0,25 para outerWidth significa que 3 metros dessa largura serão definidos como um verde mais claro (cerca de 1,5 metro em cada lado da via).
Um viaduto
Agora que você tem uma via básica, é hora de criar um viaduto. Ele será de cor laranja-claro com uma linha mediana 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 em cima da via. Se você estivesse criando um cruzamento de rodovias mais complexo (ou qualquer cartografia que exigisse mais de duas LineStrings sobrepostas), basta adicionar um valor maior ao <gx:drawOrder> para o que você quer renderizar na parte de cima.
<?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 da ordem de renderização, permite criar uma cartografia de linhas complexa que não era possível antes. Seja para construir um viaduto ou um projeto de arte abstrata, divirta-se com essas regras de estilo!