Jika saya memiliki, misalnya, file raster persegi panjang dan bergeoreferensi yang dimuat dalam dokumen ArcMap 10 (.tiff w / tfw terkait), bagaimana cara mudah menemukan titik pusatnya dan menyimpan titik itu dalam layer vektor titik?
Juga, jika saya memiliki beberapa raster seperti itu dalam dokumen ArcMap saya, bagaimana cara saya menerapkan proses untuk semua itu?
Sayangnya, saya tidak memiliki pengalaman Python. Oleh karena itu solusi terprogram OK, tetapi saya akan memerlukan instruksi khusus tentang cara memuat skrip yang ada ke ArcGIS 10, dan menjalankannya pada raster yang bersangkutan. (BTW, raster semuanya berada di lapisan terpisah).
Jawaban:
Meskipun pertanyaan aslinya adalah untuk 10.0, saya telah memperbarui kode di bawah ini untuk 10.3.1.
Salin tempel ini ke jendela python di arcmap untuk membuat fungsi RasterCenter:
Kemudian, Anda dapat menggunakan jendela python untuk membuat kelas fitur Anda dengan memanggil
Jadi, misalnya, jika Anda memiliki raster bernama DEM, Anda memanggil RasterCenter ("dem") di jendela python, dan itu akan menambahkan layer bernama "dem_center" dengan satu titik di tengah raster. Lapisan disimpan dalam memori, jadi jika Anda ingin menyimpannya, eksporlah.
Untuk melangkah lebih jauh, Anda bisa menyimpan skrip ke file .py dan menempatkan file .py di jalur pencarian untuk python. mis. simpan sebagai RasterCenter.py dan letakkan di PYTHONPATH (biasanya tempat untuk ini adalah C: \ Python26 \ ArcGIS10.0 \ Lib)
Maka Anda bisa melakukan:
sumber
Sangat mudah, sederhana mendapatkan properti raster dan bekerja di titik pusat dari min, max x dan y
Dan pengecekan error biasa dll ....
Kemudian tambahkan ke tabel poin Anda dengan updateCursor
sumber