2010년 12월
목표
이 튜토리얼에서는 Google 어스 6.0에 도입된 몇 가지 새로운 KML 요소와 이를 사용하여 LineStyle의 복잡한 지도 제작을 만드는 방법을 소개합니다. <gx:physicalWidth>, <gx:outerColor>, <gx:outerWidth>, <gx:drawOrder>에 대해 알아봅니다.
소개
Google 어스 6.0이 출시되기 전에는 LineString의 복잡한 지도 제작 스타일을 정의하는 기능이 제한되었습니다. 예를 들어 LineString의 중앙이 가장자리와 다른 색상인 도로 스타일을 만들려면 너비가 다른 두 개의 별도 LineString을 그려야 하며, 이 경우에도 그리는 순서를 보장할 수 없습니다.
다음 예에서는 도로를 만드는 과정을 안내합니다. 먼저 도로의 스타일이 단순해집니다. 그런 다음 인도를 추가합니다. 마지막으로 고속도로 육교를 추가합니다.
기본 도로
관심을 끄는 첫 번째 요소는 <gx:physicalWidth>입니다. 이를 사용하면 LineString의 너비를 픽셀이 아닌 미터로 설정할 수 있습니다. 도로 예시의 경우 최종 사용자가 도로를 보는 고도와 관계없이 기본 이미지와 일치하도록 도로의 너비를 설정할 수 있습니다. 고도가 높아지면 도로의 픽셀이 줄어들어 가까이 확대했을 때만 LineString이 표시되는 효과가 나타납니다. 이 옵션은 멀리서 작은 도로를 강조하고 싶지 않거나 지도 제작이 항상 위성 이미지와 일치하도록 하려는 경우에 유용할 수 있습니다.
<?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>
Google 어스에서 카메라 고도를 변경할 때 항상 기본 이미지의 너비와 얼마나 일치하는지 확인하세요.
보도 추가
이제 도로 가장자리에 밝은 녹색을 추가하여 인도를 나타냄으로써 <gx:outerColor> 및 <gx:outerWidth> 요소를 추가할 수 있습니다. 도로의 총 픽셀 중 25% 를 밝은 회색으로 설정합니다.
<?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>
도로의 너비가 12미터로 설정되었으므로 outerWidth의 값 .25는 너비의 3미터가 더 밝은 녹색으로 설정됨을 의미합니다 (도로의 각 측면에 약 1.5미터).
고속도로 육교
이제 기본 도로가 있으니 고속도로 고가도로를 만들어 보겠습니다. 이 그래프는 연한 주황색으로 표시되고 중앙선은 더 어두운 주황색으로 표시됩니다. 여기서 중요한 점은 고속도로가 도로 위에 렌더링되도록 <LineSring>에 <gx:drawOrder> 1 (기본값은 0)을 포함하는 것입니다. 더 복잡한 고속도로 인터체인지 (또는 두 개 이상의 중첩된 LineString이 필요한 지도 제작)를 빌드하는 경우 상단에 렌더링하려는 항목의 <gx:drawOrder>에 더 높은 값을 추가하면 됩니다.
<?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>
다음 단계
여러 색상으로 단일 LineString을 설명하는 기능과 렌더링 순서를 제어하는 기능을 결합하면 이전에는 불가능했던 복잡한 선형 지도 제작을 만들 수 있습니다. 고속도로 육교를 건설하든 추상 미술 프로젝트를 진행하든 이 스타일 지정 규칙을 사용해 보세요.