ฉันกำลังทำโครงการดาราศาสตร์ ฉันต้องการมีข้อมูลเกี่ยวกับภาพของเราที่จัดเก็บในฐานข้อมูลที่เปิดใช้งานเชิงพื้นที่ ฉันคิดว่านี่น่าจะเป็นกรณีพิเศษที่ง่ายมากสำหรับฟังก์ชั่น GIS เพราะท้องฟ้าสามารถรับการรักษาได้อย่างสมบูรณ์แบบทรงกลมและไม่ต้องการการรักษารูปไข่เหมือนผิวโลก น่าเสียดายที่ฉันยังไม่พบวิธีการทำเช่นนี้และฉันได้หลบเหมืองด้วยฟังก์ชั่นเชิงพื้นที่ที่ใช้โลกรูปไข่ (ค่อนข้างฟังก์ชั่นใด ๆ ที่ส่งกลับเมตรแทนองศาอาจใช้การคำนวณรูปไข่โชคดีที่ฟังก์ชั่น PostGIS จำนวนมากที่ฉันต้องการดูเหมือนจะมีการใช้งานที่ไม่สมบูรณ์ซึ่งเอกสารระบุอย่างชัดเจนว่าผลลัพธ์ที่ส่งคืนเป็นรูปทรงกลม ellipsoid แต่อาจเปลี่ยนแปลงได้ในอนาคตซึ่งเป็นสาเหตุของความกังวล)
ความเป็นมา: ฉันกำลังใช้ PostgreSQL กับพิกัด PostGIS และ WGS 84 (SRID = 4326) งานนี้ค่อนข้างดี ฉันกำลังสร้าง POLYGON ที่ปิดจากทางด้านขวาและการลดลงของมุมทั้งสี่ของภาพ ฉันมีภาพจำนวนมาก (10k หรือมากกว่า) ครอบคลุมพื้นที่ขนาดใหญ่ของท้องฟ้า ภาพแต่ละภาพมีขนาดประมาณ 1 องศา จากชุดของภาพเหล่านี้ฉันกำลังทำโมเสกจากชุดย่อยของ 15 ถึง 30 ภาพ กระเบื้องโมเสคแต่ละอันมีขนาดประมาณ 1.5 องศา
ปัจจุบันฉันกำลังจัดเก็บภูมิศาสตร์ของโมเสสเป็น MULTIPOLYGON ซึ่งประกอบด้วย POLYGONS ทั้งหมดที่สอดคล้องกับภาพแต่ละภาพที่เข้าไปในโมเสก [ทางออกที่ดีกว่าคือการสร้าง POLYGON เพียงอันเดียวที่อธิบายขอบเขตของการรวมกันของรูปหลายเหลี่ยมแต่ละอัน ฉันไม่รู้ว่าสิ่งนี้สามารถทำได้ในรูปทรงกลมพิกัด (กล่าวคือประเภทภูมิศาสตร์) นี่ก็เป็นคำตอบที่น่าสนใจสำหรับฉันเช่นกัน] เส้นวันที่และเสาท้องฟ้าอาจรวมอยู่ในภาพในชุดข้อมูลดังนั้นฉันจึงหลีกเลี่ยงการฉายภาพเพื่อให้ได้พิกัดระนาบเท่าที่จะทำได้
ฉันควรใช้ระบบพิกัดใดสำหรับพิกัดท้องฟ้าที่มีฟังก์ชั่น PostGIS
ฉันดูที่ http://spatialreference.org/ แล้วแต่ยังไม่พบอะไรเลย Google เปิดใช้งานเพียงเล็กน้อย ฉันนิ่งงัน โดยทั่วไปฉันต้องการให้แน่ใจว่าหากฟังก์ชั่นคืนค่าเมตรเป็นระยะทางมันเป็นเมตรตามวงกลมขนาดใหญ่บนทรงกลม
โดยทั่วไปคำแนะนำในการใช้พิกัดท้องฟ้าในฐานข้อมูลเชิงพื้นที่ก็น่าจะได้รับการชื่นชมเช่นกัน
ฉันมีข้อผิดพลาดโดยเลือก PostGIS หรือไม่
มีตัวเลือกทางการค้าที่เหนือกว่าหรือไม่?
ทางเลือก FOSS?
ฉันใช้ PostGIS 1.5.2 ฉันยังไม่ได้ลอง PostGIS 2.0 ฉันอยากรู้ว่าฟังก์ชัน ST_CoveredBy ทำงานกับ POLYGON และ MULTIPOLYGON ของภูมิศาสตร์ประเภทไหน หากใครใช้ 2.0 คุณช่วยบอกฉันได้ไหมว่าคุณได้รับข้อผิดพลาดเช่นนี้:
mydb=# select ST_CoveredBy(ST_GeographyFromText('MULTIPOLYGON(( (10.37795 -69.57926,8.9498 -69.54875,9.0178 -69.21643,10.4242 -69.24648,10.37795 -69.57926),(10.42436 -69.24618,9.01774 -69.2162, 9.08363 -68.88389,10.46914 -68.91344,10.42436 -69.24618)))'),ST_GeographyFromText('POLYGON((10.46915 -68.91315,9.08371 -68.88364,9.14755 -68.5513,10.5125 -68.58038,10.46915 -68.91315))'));
ERROR: geography_covers: only POLYGON and POINT types are currently supported
CONTEXT: SQL function "st_coveredby" statement 1
ฉันได้ลอง PostGIS 2.0 แล้ว ฟังก์ชั่นนี้ยังใช้งานได้เฉพาะกับจุดและรูปหลายเหลี่ยมเท่านั้นไม่ใช่รูปร่างทั่วไป