srsName ของ "EPSG: 4326" เป็นไปตามข้อกำหนดเฉพาะใน GML 3.1 / 3.2 หรือไม่


11

บางครั้งฉันเห็นsrsName="EPSG:4326"ในเอกสาร GML (เช่นhttps://postgis.net/docs/ST_GeomFromGML.htmlถึงแม้ว่าแหล่งข้อมูลเฉพาะของฉันจะไม่เปิดเผยต่อสาธารณะ) เจตนา (ยกเว้นบางทีสำหรับลำดับแกนที่ไม่สำคัญที่นี่) มีความชัดเจนและอาจทำงานร่วมกันข้ามระบบต่าง ๆ ได้ แต่ฉันสงสัยว่าเป็นไปตามข้อกำหนดจริงหรือไม่

ฉันได้ดูนโยบายการตั้งชื่อ OGCและOGC URNแล้วและพวกเขาใช้urn:ogc:def:crs:EPSG:\d{4,5}แบบฟอร์ม (เช่นจะเป็นurn:ogc:def:crs:EPSG:4326)

โปรไฟล์ GML Point (OGC 05-029r4) ใช้srsName="urn:ogc:def:crs:EPSG:6.6:4326"ในตัวอย่างและต้องการให้เป็น "รู้จักกันดี" ฉันไม่เห็นอะไรในนั้นที่จริงไม่รวมใด ๆsrsNameแม้ว่า

ข้อกำหนดเฉพาะของsrsName="EPSG:abcd"แบบฟอร์ม (โดยเฉพาะsrsName="EPSG:4326") สอดคล้องกับองค์ประกอบ GML 3.1 หรือ 3.2 (โดยเฉพาะอย่างยิ่งสำหรับโปรไฟล์โปรไฟล์) หรือไม่


1
ปฏิเสธการเพิ่มแท็ก postgis - คำถามไม่ได้เกี่ยวกับ postgis (หรือการนำไปใช้อื่น ๆ ) แต่จะเกี่ยวกับข้อมูลจำเพาะ
BradHards

คำตอบ:


10

ใช่srsName="EPSG:abcd"เป็นไปตามมาตรฐาน GML-3 แต่เฉพาะในบริบทของแอปพลิเคชันที่EPSG:abcdชี้ไปที่คำจำกัดความ CRS ในฐานะที่เป็นของปี 2013 OGC ปฏิบัติที่ดีที่สุด ( เอกสารที่นี่ ) คือการใช้ http ยูริในรูปแบบhttp://www.opengis.net/def/crs/EPSG/0/4326

ข้อมูลจำเพาะ GML-3.0.0 ( OCG 02-023r4 ) ส่วน v.2 หน้า xiv ระบุนามแฝง CRSs เป็น kosher:

ใน GML เราพบว่ามันสะดวกสำหรับวัตถุที่ถูกระบุว่าสามารถพกพา“ ชื่อ” หลายชื่อ - เช่นป้ายกำกับที่ได้รับมอบหมายจากหน่วยงานภายนอกหรือที่ใช้กันทั่วไปสำหรับวัตถุ สิ่งเหล่านี้อาจแตกต่างจากกันโดยการสังเกต "codeSpace" สำหรับชื่อซึ่งช่วยให้ผู้ใช้ข้อมูลสามารถเลือกชื่อที่เหมาะสมสำหรับพวกเขา

ข้อมูลจำเพาะ GML-3.2.1 ( OGC 03-105r1 ) ส่วน 10.1.3.2 หน้า 56 พูดว่า:

โดยทั่วไปแล้วแอ็ตทริบิวต์ srsName [of type = "anyuri"] ชี้ไปที่อินสแตนซ์ CRS ของ gml: AbstractCoordinateReferenceSystem (ดู 12.2.3) สำหรับการอ้างอิงที่รู้จักกันดีไม่จำเป็นว่าคำอธิบาย CRS จะมีอยู่ในตำแหน่งที่ URI ชี้ไป

ในขณะที่ไม่มีคำจำกัดความที่ชัดเจนของ "ที่รู้จักกันดี" ในข้อกำหนด GML-3 โดยใช้OGC 05-029r4 (ส่วนที่ 4 หน้า 8) คำจำกัดความของ "ที่รู้จักกันดี" เป็น "ไม่ต้องการความละเอียด" ตราบใดที่ แอปพลิเคชันสามารถระบุ CRS จาก URI ภายในคุณอาจบอกว่า CRS เป็น "ที่รู้จักกันดี" ดังนั้นการใช้ GML-3.1 & 3.2 ของระบบที่ค่อนข้างซับซ้อนในการชี้ไปยัง CRS ตามชื่อนั้นสามารถตีความได้ว่า CRS นั้นเป็นที่รู้จักกันดีและEPSG:abcdเป็นสิ่งที่ถูกต้องสมบูรณ์ หากคุณต้องการสำรวจวิธีการที่แน่นอนที่ GML ชี้ไปที่ CRS ผ่าน srsName โปรดดูที่ ReferenceSystems.xsd ในhttp://schemas.opengis.net/gml/3.1.0/base/และhttp: //schemas.opengis .net / GML / 3.2.1 /

เป็นที่น่าสังเกตว่าหลังจากการตีพิมพ์เอกสารข้อมูลสีขาว "OGC Identifiers-the Case for HTTP URIs" ( OGC 10-124r1 ) ออกมาในปี 2010 เอกสารข้อกำหนด OGC เปลี่ยนไปเป็นมาตรฐานมากขึ้นหรือน้อยลง


คุณพูดได้ไหมว่าทำไมคุณถึงคิดว่า "EPSG: ####" เป็น URN จากtools.ietf.org/html/rfc8141#section-2มันจะต้องเริ่มต้นด้วยurn:รูปแบบ URI ที่ลงทะเบียนอย่างน้อย นอกจากนี้ฉันไม่ได้รับสิ่งที่คุณคิดว่าจะทำกับ geoserver (ซึ่งฉันค่อนข้างคุ้นเคย)
BradHards

ใช่ความผิดพลาดของฉัน EPSG: #### ไม่ใช่ URN ฉันให้เอกสาร WFS ของ geoserver เนื่องจากทั้งคู่ให้ตัวอย่างของรูปแบบ srsName ที่ถูกต้อง แต่คุณพูดถูกนอกประเด็น ฉันแก้ไขทั้งสองชิ้นแล้ว
Steven Kalt

ตกลงแล้วทำไมมันถึงเป็น URI ที่ถูกต้อง ฉันไม่เห็นว่า "EPSG" เป็นรูปแบบที่ลงทะเบียนไว้ (ไม่ใช่ในรูปแบบตัวพิมพ์เล็ก) นอกจากนี้ในขณะที่ schema บอกanyURIว่าอาจไม่เพียงพอที่จะเป็นไปตามข้อกำหนด spec (เช่น spec มีข้อกำหนดอื่น ๆ ซึ่งใช้ได้กับ schema เป็นเพียงหนึ่ง)
BradHards

3
มีคำจำกัดความของ anyURI ที่ไม่รวมรูปแบบของแต่ละคน? epsg เชิงไวยากรณ์: รหัสอาจเป็น URI ไม่มีกฎสำหรับตัวอักษรตัวพิมพ์ใหญ่หรือเล็กใน rfc3986 ประเภท anyURI สำหรับ srsName ไม่ใช่ Geotools เฉพาะ กำหนดไว้ใน OGC 07-036 "มาตรฐานการเข้ารหัสOpenGIS®ภาษาภูมิศาสตร์มาร์กอัป (GML)" บทที่ 10.1.3.2 SRSReferenceGroup
Andreas W. Bartels

มันอาจไม่ใช่ URI ที่ถูกต้อง แต่เป็นไปตามข้อกำหนดเฉพาะหากเป็นที่รู้จัก ดูOGC 07-036 GML V3.2.1ส่วน 10.1.3.2: " โดยทั่วไปแอตทริบิวต์ srsName ชี้ไปที่อินสแตนซ์ CRS ของ gml: AbstractCoordinateReferenceSystem (ดู 12.2.3) สำหรับการอ้างอิงที่รู้จักกันดีไม่จำเป็นต้องมีคำอธิบาย CRS ที่ตำแหน่งนั้น URI ชี้ไปที่ "
Steven Kalt
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.