aspose.info
TH

GML - รูปแบบไฟล์ภาษามาร์กอัปภูมิศาสตร์

อัปเดตเมื่อ

ไฟล์ GML คืออะไร??

GML ย่อมาจาก Geography Markup Language ที่อิงตามข้อกำหนด XML ที่พัฒนาโดย Open Geospatial Consortium (OGC) รูปแบบนี้ใช้เพื่อจัดเก็บคุณสมบัติข้อมูลทางภูมิศาสตร์สำหรับการแลกเปลี่ยนระหว่างรูปแบบไฟล์ต่างๆ ทำหน้าที่เป็นภาษาแบบจำลองสำหรับระบบทางภูมิศาสตร์ ตลอดจนรูปแบบการแลกเปลี่ยนแบบเปิดสำหรับธุรกรรมทางภูมิศาสตร์บนอินเทอร์เน็ต

รูปแบบไฟล์ GML

เช่นเดียวกับไวยากรณ์ที่ใช้ XML ส่วนใหญ่ ไวยากรณ์มีสองส่วน ได้แก่ สคีมาที่อธิบายเอกสารและเอกสารอินสแตนซ์ที่มีข้อมูลจริง มีการอธิบายเอกสาร GML โดยใช้ GML Schema ซึ่งช่วยให้ผู้ใช้และนักพัฒนาสามารถอธิบายชุดข้อมูลทางภูมิศาสตร์ทั่วไปที่มีจุด เส้น และรูปหลายเหลี่ยม การใช้สคีมาของแอปพลิเคชัน ผู้ใช้สามารถอ้างถึงถนน ทางหลวง และสะพานแทนจุด เส้น และรูปหลายเหลี่ยม

เป็นที่น่าสังเกตว่าไม่ควรตีความ GML เพื่อเป็นตัวแทนของข้อมูลเชิงพื้นที่บนแผนที่ การแสดงเนื้อหา GML นั้นแตกต่างจากจุดประสงค์ของการสร้าง GML กล่าวโดยย่อ GML นั้นคล้ายกับ XML ตรงที่ใช้สำหรับเก็บเนื้อหาเชิงพื้นที่ที่แอปพลิเคชันแผนที่สามารถใช้เพื่อการแสดงผลเท่านั้น

การสร้างเนื้อหาใน GML

GML แสดงข้อมูลเชิงพื้นที่โดยใช้คุณลักษณะที่เป็นรายการคุณสมบัติและรูปทรงเรขาคณิต พร็อพเพอร์ตี้มีชื่อ ประเภท และคำอธิบายค่า รูปทรงเรขาคณิตประกอบด้วยโครงสร้างรูปทรงเรขาคณิตพื้นฐาน เช่น:

  • คะแนน
  • เส้น
  • เส้นโค้ง
  • พื้นผิวและ
  • รูปหลายเหลี่ยม

GML เวอร์ชันในอนาคตได้รับการวางแผนให้รองรับรูปทรงเรขาคณิต 3 มิติ ตลอดจนความสัมพันธ์เชิงทอพอโลยีระหว่างคุณลักษณะต่างๆ

การเข้ารหัส GML ช่วยให้สามารถใช้งานคุณสมบัติที่ค่อนข้างซับซ้อนได้แล้ว ตัวอย่างเช่น คุณสมบัติสามารถประกอบด้วยคุณสมบัติอื่นๆ คุณลักษณะเดียวเช่นสนามบินอาจประกอบด้วยคุณลักษณะอื่นๆ เช่น ทางแท็กซี่ ทางวิ่ง ทางแขวน และอาคารผู้โดยสารทางอากาศ รูปทรงเรขาคณิตของคุณลักษณะทางภูมิศาสตร์สามารถประกอบด้วยองค์ประกอบทางเรขาคณิตมากมาย คุณลักษณะที่ซับซ้อนทางเรขาคณิตสามารถประกอบด้วยประเภทเรขาคณิตต่างๆ ผสมกัน ซึ่งรวมถึงจุด สตริงเส้น และรูปหลายเหลี่ยม

ตัวอย่าง

GML 1.0 และ 2.0 เข้ารหัสวัตถุ Polygon, Points และ LineString ดังนี้:

<gml:Polygon>
         <gml:outerBoundaryIs>
                 <gml:LinearRing>
                         <gml:coordinates>0,0 100,0 100,100 0,100 0,0</gml:coordinates>
                 </gml:LinearRing>
        </gml:outerBoundaryIs>
     </gml:Polygon>
     <gml:Point>
        <gml:coordinates>100,200</gml:coordinates>
     </gml:Point>
     <gml:LineString>
        <gml:coordinates>100,200 150,300</gml:coordinates>
     </gml:LineString>

อ้างอิง

ดูเพิ่มเติม