ฉันจะรับ SRID จากฟิลด์เรขาคณิตได้อย่างไร


16

ฟังก์ชั่นสำหรับรับ SRID จากฟิลด์เรขาคณิตคืออะไร

ฉันได้แทรก shapefile ลงในตาราง SQL Server ด้วยฟิลด์ Geometry ที่กำหนดไว้ ฉันรู้ว่าการฉายภาพของ shapefile คือ Swreff99_1800 (EPSG: 3011)

ตอนนี้คำถามของฉันคือฉันจะรับ SRID นี้ได้อย่างไร: 3011 โดยใช้วิธี OGC ของฟิลด์เรขาคณิต


ฉันไม่ชัดเจนว่าคุณต้องการอะไร คุณต้องการคำจำกัดความของ SRID 3011 จาก SQL Server หรือไม่? ดูเหมือนว่าคุณได้แทรกข้อมูลด้วยชุด SRID ที่เหมาะสมแล้วใช่ไหม
ชาดคูเปอร์

คำตอบ:


31

นี่คือสิ่งที่คุณกำลังมองหา?

select distinct SP_GEOMETRY.STSrid from dbo.MYTABLE

นี่จะให้ตารางกับ SRID อื่นที่ใช้ในตาราง dbo.MYTABLE


ขอบคุณ !. คำถามที่สองของฉันคือ SRID 3011 ไม่ได้กำหนดไว้ในตาราง sys.spatial_reference_systems และฉันต้องแปลงเรขาคณิตจาก SRID 3011 เป็น SRID 4326 แล้วฉันต้องทำอย่างไร?
user1899

1
เท่าที่ฉันรู้ SQL Server 2008 ไม่สามารถแปลงข้อมูลรูปทรงเรขาคณิตของคุณในระบบพิกัดที่แตกต่างกันได้ถึง 14 แบบซึ่งจะเห็นข้อมูลรูปทรงเรขาคณิตทั้งหมดที่เก็บไว้ในระบบพิกัดทางคณิตศาสตร์
Peter HorsbøllMøller

4

หลังจากลองใช้วิธีข้างต้นโดยไม่มีโชคฉันลองวิธีด้านล่างนี้:

select [geomColumnName].STSrid
from [schema].[tableName]

สิ่งนี้จะให้ค่า SRID สำหรับระเบียนทั้งหมดในตาราง ฉันจะสมมติว่าเนื่องจากระเบียนทั้งหมดควรมี SRID ที่เหมือนกันว่าถ้าคุณต้องการเพียงรับค่าสำหรับหนึ่งระเบียนมันจะบอก SRID ให้กับตารางทั้งหมด:

select top 1 [geomColumnName].STSrid
from [schema].[tableName]

ฉันสงสัยว่าคุณใช้ MS SQL Server รุ่นใดและหากมีการเปลี่ยนแปลงใด ๆ ในรุ่นภายหลังที่จะทำให้การใช้ Distinct ไม่รองรับ หรือเป็นเพียงแค่ชื่อคอลัมน์เรขาคณิตของคุณไม่ใช่ SP_GEOMETRY ฉันได้เห็นบางกรณีที่เรขาคณิตถูกเก็บไว้กับ SRID ที่แตกต่างกันแม้ว่าพวกเขาจะอ้างถึงระบบพิกัดที่คล้ายกัน
Peter HorsbøllMøller

1
@ PeterHorsbøllMøllerมองดูสิ่งนี้อีกครั้งฉันไม่เห็นว่าการใช้ SP_GEOMETRY ของเขาอ้างถึงชื่อคอลัมน์รูปทรงเรขาคณิตดังนั้นคำตอบของฉันเกือบจะเหมือนกับคำตอบที่ยอมรับ ...
DPSSpatial

0

ฉันเชื่อว่าหมายเลขที่คุณต้องการใช้ ณ จุดนี้คือ srid 4619 หรือ srid 4977 คือเซิร์ฟเวอร์ SQL

สิ่งเหล่านี้เทียบเท่ากับ EPSG 3011

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.