เปลี่ยนรูปหลายเหลี่ยม“ ถนัดมือ” สำหรับ SQL 2008 (เรียงลำดับรูปหลายเหลี่ยมกลับด้าน)
ฉันมีสองสามร้อยรูปร่าง ( polygons และmultipolygons) แต่ละประกอบด้วยจุดนับหมื่นที่ฉันพยายามเข้าสู่ SQL 2008 น่าเสียดายที่รูปร่างที่ฉันพยายามนำเข้านั้นเป็น "ถนัดขวา" (เส้นรอบวงของแต่ละอันนั้นถูกลากตามเข็มนาฬิกาไปรอบ ๆ จุดที่มี) เซิร์ฟเวอร์ SQL สันนิษฐานว่าเป็นรูปร่าง "ถนัดซ้าย" (ทวนเข็มนาฬิการอบด้านใน) อย่างน้อยสำหรับgeographyประเภท ซึ่งหมายความว่า SQL ถือว่าฉันพยายามเลือกทั้งโลกยกเว้นรูปร่างของฉัน บางคนอธิบายว่านี่เป็นรูปร่าง "ด้านในออก" จากMSDNซึ่งน่าผิดหวังไม่ได้บอกว่าจะใช้การวางแหวนแบบใด: ถ้าเราใช้geographyชนิดข้อมูลเพื่อเก็บอินสแตนซ์อวกาศเราจะต้องระบุการวางแนวของวงแหวนและอธิบายตำแหน่งของอินสแตนซ์ได้อย่างถูกต้อง หากคุณใช้การวางแนววงแหวนที่ไม่ถูกต้องใน SQL 2008 จะเกิดปัญหากับข้อผิดพลาดต่อไปนี้ ข้อผิดพลาด. NET Framework เกิดขึ้นระหว่างการดำเนินการตามขั้นตอนที่ผู้ใช้กำหนดเองหรือ "ภูมิศาสตร์" รวม: Microsoft.SqlServer.Types.GLArgumentException: 24205: อินพุตที่ระบุไม่ได้แสดงอินสแตนซ์ภูมิศาสตร์ที่ถูกต้องเพราะเกินซีกโลกเดียว ตัวอย่างภูมิศาสตร์แต่ละอันต้องอยู่ในซีกโลกเดียว สาเหตุทั่วไปสำหรับข้อผิดพลาดนี้คือรูปหลายเหลี่ยมที่มีการวางแนววงแหวนที่ไม่ถูกต้อง การนำเข้ารูปทรงgeometryแทนการใช้geographyงานได้ดี แต่ฉันต้องการใช้geographyถ้าทำได้ ใน SQL 2012 ดูเหมือนว่าจะไม่สำคัญพอที่จะแก้ไขปัญหานี้ แต่ฉันผูกติดกับปี 2008 ฉันจะแปลงรูปร่างได้อย่างไร