Saya memiliki beberapa ratus bentuk ( polygon
s dan multipolygon
s) masing-masing terdiri dari puluhan ribu poin yang saya coba masuk ke SQL 2008.
Sayangnya, bentuk yang saya coba impor adalah "tangan kanan" (perimeter masing-masing ditarik searah jarum jam di sekitar titik-titik di dalamnya). SQL server mengasumsikan bentuk "kidal" (anti-searah jarum jam di sekitar interior), setidaknya untuk geography
jenis. Ini berarti bahwa SQL mengasumsikan bahwa saya mencoba untuk memilih seluruh bumi kecuali untuk bentuk saya. Beberapa orang menggambarkan ini sebagai bentuk "luar-dalam".
Dari MSDN , yang dengan putus asa tidak mengatakan orientasi dering mana yang harus digunakan:
Jika kita menggunakan
geography
tipe data untuk menyimpan instance spasial, kita harus menentukan orientasi cincin dan secara akurat menggambarkan lokasi instance.
Jika Anda menggunakan orientasi dering yang salah di SQL 2008, itu macet dengan kesalahan berikut (penekanan tambang):
Kesalahan .NET Framework terjadi selama eksekusi rutin yang ditentukan pengguna atau "geografi" agregat: Microsoft.SqlServer.Types.GLArgumentException: 24205: Input yang ditentukan tidak mewakili instance geografi yang valid karena melebihi satu belahan bumi. Setiap instance geografi harus masuk dalam satu belahan bumi. Alasan umum untuk kesalahan ini adalah poligon memiliki orientasi dering yang salah.
Mengimpor bentuk sebagai geometry
ganti geography
berfungsi dengan baik, tapi saya ingin menggunakannya geography
jika saya bisa.
Di SQL 2012, tampaknya cukup sepele untuk memperbaiki masalah ini, tapi saya terikat pada 2008.
Bagaimana saya harus mengubah bentuk?