Menghitung Centroid semua daratan di Bumi menggunakan SQL Server Spatial?


8

Saya ingin menemukan titik pusat dari semua tanah di bumi.

Yang saya coba sampai sekarang adalah mengunduh shapefile dari semua negara dan bagian kutub bumi. Kemudian saya mengimpor shapefile itu ke database SQL Server 2008 dan kemudian mencoba menjalankan beberapa pertanyaan untuk menemukan titik itu tetapi semuanya sia-sia.

Bagaimana saya bisa menghitung Centroid dari semua daratan di bumi menggunakan SQL Server?


Jawaban:


14

Ini mungkin paling mudah dilakukan dengan perhitungan raster, karena pusat massa permukaan tanah ditemukan (menurut definisi) dengan rata-rata koordinat geosentris (X, Y, Z), menimbangnya berdasarkan luas lahan. Rata-rata dilakukan dengan menggunakan statistik zona .

Untuk mendapatkan koordinat ini dan faktor skala area, hitung kisi-kisi berikut dalam koordinat geografis yang mencakup semua area lahan dengan resolusi yang diinginkan (saya menggunakan sel 0,1 derajat, yang membentuk kisi 3600 x 1800 yang mencakup seluruh bumi):

  • [Bujur] adalah koordinat pertama.

  • [Latitude] adalah koordinat kedua.

  • [X] adalah Cos ([Longitude]) * Cos ([Latitude]).

  • [Y] adalah Dosa ([Bujur]) * Cos ([Lintang]).

  • [Z] adalah Dosa ([Latitude]).

  • [F] adalah Cos ([Latitude]). Ini adalah faktor skala area.

(Perhatikan bahwa tidak perlu untuk mengalikan salah satu dari [X], [Y], atau [Z] dengan jari-jari bumi. Akibatnya kita menghitung centroid dari model bola bumi yang berskala sempurna. Posisi centroid pada model akan menjadi posisi skala dari centroid yang diinginkan.)

Hitung sarana zonal dari [X] * [F], [Y] * [F], dan [Z] * [F]. Ketika saya melakukan ini dengan sebuah shapefile yang menunjukkan semua area daratan utama (termasuk Antartika), dengan bujur mulai dari 0 hingga 360 derajat, rata-rata zona masing-masing adalah -0.1204, -0.0661, dan 0.1356.

(Atau Anda dapat memproyeksi ulang [X], [Y], dan [Z] ke dalam proyeksi dengan luas yang sama dan menghitung sarana zona mereka secara langsung tanpa menggunakan bobot bidang dengan [F]. Lakukan yang mana yang lebih mudah dalam GIS Anda.)

Seperti yang kita duga, centroid ini terletak jauh lebih dekat ke pusat bumi pada (0, 0, 0) daripada pada permukaannya. Jika kita ingin memetakannya, kita dapat menghitung garis lintang dan bujurnya dan mengabaikan kedalamannya. Garis bujur suatu titik (X, Y, Z) ditentukan oleh (X, Y) saja dan biasanya dihitung sebagai arctangentnya; lintang ditentukan oleh Sqrt (X ^ 2 + Y ^ 2) dan Z dan biasanya dihitung sebagai arctangent mereka. Saya mendapatkan lokasi (208.77, 44.63) (yaitu 28.77 derajat bujur timur, 44.63 derajat lintang utara). Ini terletak di dekat pantai timur Rumania.

Peta centroid dunia

Peta ini dalam koordinat geografis: koordinat horizontal adalah bujur dan koordinat vertikal adalah lintang. Latar belakang menggambarkan kotak koordinat X. Centroid terletak di bawah penanda merah di kanan tengah.

Jika itu tidak terlihat seperti pusat massa lahan bagi Anda, periksalah dari lokasi yang berbeda, seperti overhead langsung:

Proyeksi ortografis

Bagian-bagian yang tidak terlihat dari Amerika Serikat, Amerika Tengah, dan Selatan akan lebih dari mengimbangi daratan yang terlihat; Antartika dan Australia mengembalikan keseimbangan. Hasil ini terlihat masuk akal bagi saya. Hasil Anda mungkin sedikit berbeda tergantung pada skala dan akurasi data massa lahan Anda, resolusi grid Anda, dan apakah Anda menggunakan model bumi bulat atau ellipsoidal. (Faktor area [F] membutuhkan perhitungan yang lebih terlibat dalam model ellipsoidal.)


Keuntungan dari solusi berbasis grid menjadi jelas dalam generalisasi pertanyaan ini. Misalnya, dengan mengganti [F] (kisi "jumlah lahan") dengan kisi yang mewakili jumlah total sesuatu yang lain per sel, Anda dapat menghitung centroid tertimbang. Jika Anda memiliki kisi kepadatan populasi [P] maka [F] * [P] sebanding dengan total populasi; menggunakan [F] * [P] sebagai pengganti [F] dalam perhitungan ini akan menghasilkan centroid populasi dunia.


3
Jawaban facemelting lain @whuber! :) Itu jelas lebih sesuai dengan di mana saya secara intuitif mengharapkan centroid berada.
blah238

1
Saya menemukan sebuah artikel yang menempatkan pusat massa ini dekat Ankara, Turki, beberapa ratus mil dari yang ada di jawaban ini. Karena itu dilakukan pada tahun 1973 saya kira itu kurang akurat daripada di atas, tetapi tetap menarik. Perhatikan bahwa penelitian ini disponsori oleh organisasi keagamaan sehingga mungkin memiliki beberapa bias, tetapi sebaliknya terdengar masuk akal: icr.org/article/50 - artikel Wikipedia Pusat geografis Bumi merujuk pada studi yang lebih akurat yang juga menguatkan lokasi ini.
blah238

2
@ blah238 Itu menarik. Perhitungan yang Anda merujuk menggunakan karakterisasi yang berbeda (tapi tidak kurang valid) dari 'pusat massa': itu adalah sebuah lokasi yang meminimalkan mean geodesi jarak ke semua lokasi lahan lainnya. Ini adalah semacam analog bulat dari posisi median . Seperti yang mungkin Anda tebak dari pengetahuan median set data univariat, median sering tidak unik, sehingga mungkin ada beberapa lokasi yang akan memenuhi kriteria alternatif itu. BTW, klaim "signifikansi statistik" dari hasil ini adalah sampah murni - tapi itu masalah yang berbeda.
Whuber
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.