Menggunakan fungsi ArcGIS di Python tanpa menjalankan ArcMap (mis. Editor / lingkungan terpisah)?

26

Saya mencoba untuk mengambil langkah berikutnya dalam pemrograman ArcGIS dengan Python dan melihat apakah itu benar-benar mungkin untuk menjalankan skrip / kode saya tanpa harus memuat ArcMap dan menempelkannya ke jendela Python. Saya membayangkan saya akan melakukan ini melihat semacam IDE khusus untuk Python yang memuat sesuatu dari ArcGIS.

Bagaimana saya bisa melakukan ini?


Pembaruan: Ringkasan solusi

Saya pergi rute Eclipse + PyDev. Inilah catatan saya tentang menginstal semuanya dan membuatnya berfungsi:

Unduh Eclipse

Ini sedikit membingungkan mengingat semua rasa berbeda yang tersedia (Java, Java EE, C / C ++, dll.). Saya menggunakan C / C ++ karena itulah yang saya kenal. Tidak masalah karena PyDev terinstal setelah langkah ini. Pilih yang Anda inginkan.

Instal PyDev

PyDev akan diinstal melalui Eclipse. Instruksi yang terhubung bekerja dengan sempurna.

Konfigurasikan PyDev

Pertanyaan di atas memberikan tangkapan layar konfigurasi Windows, sementara tautan dari blog ESRI ini memiliki lebih banyak info untuk sistem Unix meskipun berasal dari 2008.

Menjalankan skrip uji

Menjalankan skrip yang telah saya kerjakan dan berhasil. Tampaknya ada beberapa perbedaan dalam mengeksekusi kode dengan cara ini dalam cara mengakses shapefile dan ruang kerja, dll, diperlukan lebih banyak kesaksian. Lebih banyak belajar di sini.

mindless.panda
sumber
Saya akui ini sepertinya hampir merupakan pertanyaan Python dan juga mengkhianati ketidaktahuan saya tentang lingkungan Python, tetapi mudah-mudahan jawabannya bermanfaat bagi orang lain yang baru mengenal ArcGis + Python!
mindless.panda
Saya pikir menggunakan IDLE akan lebih mudah. PyDev agak berlebihan dalam situasi ini, saya pikir. Anda mungkin juga ingin membuat beberapa model dalam Model Builder dan mengekspornya sebagai file .py. Dengan begitu Anda akan merasakan kode Python.
RK
Ini hanya mengulangi apa yang telah saya katakan! Ini adalah yang terbaik, bukan? Kuncinya dengan menggunakannya dengan cara ini, adalah Anda dapat membuat Objek dan kelas yang tidak didukung oleh beberapa cara lain. Hal ini memungkinkan Anda untuk benar-benar berkonsentrasi pada pembuatan kode cracking, yang dapat diterapkan pada server. Semoga berhasil!
Berbulu
2
Tanpa berpikir, hanya satu jawaban di sini yang menyebutkan solusi Eclipse + PyDev. Apakah ada alasan Anda tidak memilihnya?
Whuber
Tidak ada Saya menerima saran Eclipse karena itulah cara saya pergi dan lebih disukai. Saya hanya menjawab pertanyaan saya sendiri untuk mendokumentasikan proses pengaturan. Adakah alasan jawaban saya harus diedit menjadi pertanyaan? Mungkin ini harus menjadi CW?
mindless.panda

Jawaban:

11

Cara terbaik yang saya temukan untuk menggunakan Python, adalah menggunakan Eclipse dengan PyDev. Ini adalah IDE yang bagus untuk dikembangkan bersama dan memungkinkan untuk debugging inline, bukan memuji debugging garis, dan telah membuat saya memilih untuk membangun aplikasi Manajemen Data back end yang sangat profesional dalam skala besar.

IDLE hanya baik untuk pengujian skrip, menurut pendapat saya, dan tidak baik untuk merancang solusi berbasis objek yang kompleks.

Ini juga sangat mudah untuk diatur.

Berbulu
sumber
Apakah ada banyak yang terlibat dengan membuat Eclipse + PyDev berfungsi dengan fungsi ArcGIS? Jawaban lain tampaknya menunjukkan beberapa kekhasan dengan menggunakan Python yang tidak diinstal Arc?
mindless.panda
Tidak ada sama sekali, cukup pastikan Anda memiliki desktop arcgis diinstal, dan mengatur Eclipse untuk bekerja dengan PyDev dan Anda pergi. Butuh 5 menit untuk mengaturnya dan kemudian semua yang Anda harus lakukan adalah referensi arcpy di skrip Anda. Seriouly, saya belum melihat cara yang lebih mudah dan lebih baik untuk melakukannya.
Hairy
15

Saya baru saja mulai memahami Python dan arcpy dan saya menemukan PyScripter sangat berguna. Ini adalah Python IDE penuh

mapoholic
sumber
2
IDE terbaik yang saya gunakan sampai saat ini adalah PyScripter dan gratis!
Hornbydd
2
PyScripter sangat bagus. Penyempurnaan kode yang sangat baik, penyorotan sintaksis, pencarian & penggantian, tab untuk menampilkan banyak skrip PY Jauh lebih bermanfaat daripada IDLE menurut saya.
RyanDalton
15

Jika saya mengerti pertanyaannya, Anda ingin menjalankan skrip mandiri, di luar sesi ArcMap. Benar-benar bisa dilakukan. Simpan kode Anda ke file Python (.py). Sejauh pengeditan, Anda dapat menggunakan IDLE atau editor teks apa pun (bahkan Notepad). Terkadang saat Anda memulai, lebih mudah menggunakan editor teks sehingga Anda dapat fokus mempelajari kode, bukan IDE. Pastikan Anda memiliki pengaturan variabel lingkungan PATH Anda dengan benar, sehingga mereka menyertakan direktori pemasangan Python Anda, seperti:

C:\Python26\ArcGIS10.0\Lib\site-packages\;C:\Python26\ArcGIS10.0;C:\Python26\ArcGIS10.0\Scripts

Maka itu hanya masalah membuka command prompt (Start> Run> ketik 'cmd' [tanpa tanda kutip]) dan mengetik:

python c:\path\to\python\script.py

Sekarang, ini mengasumsikan Anda memiliki semua jalur data yang di-hardcode dalam skrip.

Itulah dasar-dasarnya. Tentu saja ada cara yang lebih, seperti menggunakan parameter input.

Chad Cooper
sumber
3
hanya komentar tentang IDLE atau editor teks standar. Saya pribadi menemukan PythonWin cara yang jauh lebih mudah untuk bekerja karena memiliki kemampuan debug yang lebih baik - penting saat belajar. Lihat instruksi tentang menginstal PythonWin dengan ArcGIS 10. Anda harus memastikan bahwa Anda menginstal versi PythonWin dari DVD ArcGIS, atau dapat merusak instalasi Python.
Stephen Lead
6

Ketika ArcGIS menginstalnya menginstal versi python sendiri (yaitu Anda tidak perlu mengimpor dependensi) .. pastikan untuk menggunakan yang ini ..

Saya menggunakan python CLI sebagai kalkulator dan juga menjalankan skrip yang disimpan.

Python sebagai kalkulator sangat bagus karena Anda dapat mendefinisikan variabel .. Saya mendapat tip ini dari tutorial python http://docs.python.org/

Saya memiliki pintasan ke CLI melalui command prompt di bilah tugas saya% windir% \ system32 \ cmd.exe / k "C: \ Python26 \ ArcGIS10.0 \ python.exe"

Saya menggunakan tugas-tugas yang dijadwalkan windows untuk melakukan pemeliharaan melalui skrip yang saya diekspor dari pembuat model dan kemudian diretas dalam beberapa perubahan pada python built-in seperti menerapkan tanggal ke nama file untuk cadangan.

woodwa
sumber
5

Saya percaya IDE untuk python hadir dengan instalasi ArcGIS-10. Ini disebut IDLE, dan merupakan alat yang sederhana namun efektif untuk berinteraksi dengan ArcPy tanpa membuka instance ArcMap itu sendiri. Anda harus dapat menemukannya di bawah direktori "Python 2.6" dari instalasi ArcGIS Anda pada menu mulai. Pastikan untuk import arcpysebelum melakukan sesuatu yang spesifik pada paket! Contoh skrip apa pun yang Anda lihat dalam referensi ArcPy untuk skrip mandiri akan berfungsi di antarmuka IDLE.

Nathanus
sumber