เป็นไปได้ที่จะปฏิเสธข้อมูลพื้นที่โดยใช้ SQL Server หรือไม่


19

SQL Server ใช้ SRID เมื่อสร้างข้อมูลเชิงพื้นที่ แต่มันเป็นไปได้ที่จะดึงข้อมูลด้วย SRID อื่นที่แปลพิกัดหรือไม่

ตัวอย่างเช่นสมมติว่าฉันมีรูปหลายเหลี่ยมเชิงพื้นที่โดยใช้ SRID 4258 แต่ฉันต้องการใช้ร่วมกับข้อมูลที่มีอยู่แล้วที่มี SRID ของ 4326 - มีการแปลงในตัวหรือฉันต้องจัดการสิ่งนี้ แปลงตัวเอง?

วิธี SQL-MM ซึ่งการดำเนินการ PostGIS ST_Transformเป็น ฉันจะทำเช่นนั้นใน SQL Server ได้อย่างไร


โปรดดูคำตอบของฉันที่นี่: stackoverflow.com/questions/52618277/…
mohsen hs

คำตอบ:


18

เลขที่

การแปลง - ความสามารถในการแปลงจากการอ้างอิงเชิงพื้นที่หนึ่งไปยังอีก: ไม่จำเป็นต้องใช้เครื่องมือของบุคคลที่สาม, เรขาคณิตสามารถใช้ SRID ใด ๆ ระหว่าง 0 และ 999999 Spatial Tools ฟรี CLR add-on ให้การสนับสนุนการแปลง จำกัด

ที่มา: http://www.bostongis.com/PrinterFriendly.aspx?content_name=sqlserver2008r2_oracle11gr2_postgis15_compare


9

ไม่ใช่ตามค่าเริ่มต้น แต่ให้ตรวจสอบSQL Server Spatial Tools ที่พัฒนาโดย MSDN บน GitHub ฟังก์ชั่นการแปลงเลียนแบบโดยเฉพาะ


+1 ฉันพบว่าเครื่องมือเหล่านี้เป็นส่วนสำคัญของ SQL Server
Kirk Kuykendall

6

ตัวอย่างการคัดออกจาก EPSG: 2193 ถึง EPSG: 3857

c:\OSGeo4W64\bin\ogr2ogr.exe ^
 -f "MSSQLSpatial"^
 "MSSQL:server=DestServerName;database=DestDbName;trusted_connection=yes"^
 "MSSQL:server=SourceServerName;database=SourceDbName;trusted_connection=yes"^
 -sql "SELECT [Id], [Shape].STAsText() Shape FROM [SourceDbName].[dbo].[SourceTableName]"^
 -nln "DestTableName"^
 -overwrite^
 -s_srs EPSG:2193^
 -t_srs EPSG:3857

หลังจากนี้ดำเนินการแบบสอบถาม SQL

update  [DestDbName].[dbo].[DestTableName]
set     [ogr_geometry] =  geometry::STGeomFromText([shape], 3857)

0

ฉันมีปัญหาที่คล้ายกันและแก้ไขโดย. Net ฉันพัฒนา dll ใน C # แล้วกำหนดเป็นฟังก์ชัน CLR ใน MSSQL เมื่อใดก็ตามที่ฉันเรียกใช้ฟังก์ชั่นนี้การแปลงจะทำเพื่อฉัน โปรดดูวิธีการที่กองมากเกิน และ/programming/52618277/how-do-spatial-reproject-in-sql-server

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