ธันวาคม 2010
วัตถุประสงค์
บทแนะนํานี้จะแนะนําให้คุณรู้จักกับองค์ประกอบ KML ใหม่ 2-3 อย่างซึ่งมาพร้อมกับ Google Earth 6.0 และวิธีใช้องค์ประกอบเหล่านั้นในการสร้างรถเข็นที่ซับซ้อนสําหรับ LineStyles องค์ประกอบที่จะเรียนรู้คือ <gx:physicalWidth>
, <gx:outerColor>
, <gx:outerWidth>
และ <gx:drawOrder>
บทนำ
ก่อนการเปิดตัว Google Earth 6.0 คุณถูกจํากัดความสามารถในการกําหนดรูปแบบการ์ตูนที่ซับซ้อนสําหรับ LineStrings เช่น หากคุณต้องการสร้างสไตล์สําหรับถนน โดยที่กึ่งกลางของ LineString มีสีต่างจากขอบ คุณจะต้องวาดทั้ง 2 สตริงที่มีความกว้างต่างกัน และคุณไม่สามารถรับประกันลําดับการวาดของถนนได้
ตัวอย่างต่อไปนี้แสดงให้เห็นถึงการสร้างถนน อย่างแรก ถนนเส้นนี้มีสไตล์เรียบง่าย จากนั้นคุณจะเพิ่มทางเท้า สุดท้าย คุณจะต้องเพิ่มทางหลวงพิเศษ
ถนนแบบพื้นฐาน
องค์ประกอบที่สนใจอย่างแรกคือ <gx:physicalWidth>
ซึ่งช่วยให้คุณตั้งค่าความกว้างของบรรทัดเป็นเมตรเป็นพิกเซลแทนพิกเซลได้ ในกรณีของตัวอย่างถนนของเรา ซึ่งหมายความว่าคุณสามารถกําหนดความกว้างของถนนให้ตรงกับภาพต้นฉบับ ไม่ว่าผู้ใช้ปลายทางจะดูถนนจากระดับใด เมื่อคุณได้ระดับความสูง ถนนจะลดลงเป็นพิกเซล ทําให้เกิดเอฟเฟกต์ที่คุณจะเห็นเฉพาะ 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 Earth จะเห็นว่าระดับความสูงนั้นตรงกับความกว้างของภาพที่สําคัญตลอดเวลา
การเพิ่มทางเท้า
ตอนนี้คุณสามารถเพิ่มในองค์ประกอบ <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 เมตร ค่า .25 สําหรับความกว้างภายนอกหมายความว่าความกว้าง 3 เมตรจะได้รับการตั้งค่าเป็นสีเขียวที่สว่างขึ้น (ประมาณ 1.5 เมตรในแต่ละด้านของถนน)
สะพานทางหลวง
เมื่อมีถนนพื้นฐานแล้ว ก็ถึงเวลาขับผ่านทางหลวงพิเศษ ส่วนนี้จะเป็นสีส้มอ่อนที่มีเส้นค่ามัธยฐานสีส้มเข้ม การเพิ่มกุญแจที่นี่คือการใส่ <gx:drawOrder>
เท่ากับ 1 (ค่าเริ่มต้นคือ 0) ใน <LineSring>
เพื่อให้มั่นใจว่าทางหลวงจะแสดงอยู่บนเส้นทางถนน หากคุณกําลังสร้างการสับเปลี่ยนระหว่างทางหลวงที่ซับซ้อนมากขึ้น (หรือรถเข็นที่ต้องมี LineString มากกว่า 2 รายการที่ทับซ้อนกัน) คุณสามารถเพิ่มค่าที่สูงกว่าให้กับ <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>
ขั้นตอนถัดไปคือ
ความสามารถในการอธิบายแผนภูมิเส้นบรรทัดเดียวที่มีหลายสี ร่วมกับการควบคุมลําดับการแสดงผลจะช่วยให้คุณสร้างแผนภูมิเส้นที่มีความซับซ้อนซึ่งก่อนหน้านี้ยังไม่เคยทําได้ ไม่ว่าจะสร้างสะพานลอยทางหลวงหรือโครงการศิลปะนามธรรม ก็ได้อย่างเพลิดเพลินด้วยกฎการจัดรูปแบบเหล่านี้