ArcPy'yi öğrenmek?


Yanıtlar:


71

Bu soru Topluluk Wiki'sine dönüştürüldü ve wiki kilitlendi, çünkü cevapların bir listesini arayan ve kapatılmasından korumak için yeterince popüler görünen bir soru örneği. Özel bir durum olarak ele alınmalı ve bu konuda ya da herhangi bir Stack Exchange sitesinde teşvik edilen bir soru türü olarak görülmemelidir, ancak daha fazla içeriğe katkıda bulunmak istiyorsanız, bu cevabı düzenleyerek bunu yapmaktan çekinmeyin .


Buradaki ve Python betiklerini kullanan diğer web sitelerinde yayınları inceleyin ve bunları yapısızlaştırmaya çalışın ve yazarların görevlerini yerine getirmek için hangi teknikleri kullandıklarını görün. Bizim ArcPy üzerinde kendinden montaj SSS de bu amaç için değer gözden olduğunu.

Başkalarının sorunlarını çözmeye çalışmak için eğitici bulacaksınız. Biz var ArcPy üzerinde cevapsız sorular kendinden montaj liste onları bulmak yardımına.

ArcGIS Belgeleri:

Yardım dosyalarını oku !! ArcPy'nin% 90'ı GUI araçlarını kullanmakla aynıdır, sadece Python kullanarak başlıyorsunuz. Yardım dosyalarının hepsinde altta örnek Python kodu bulunur.

Çevrimiçi Kitaplar:

Çevrimiçi kurslar:

Eğiticiler:

Python Belgeleri:

Sunumlar:

Kağıt Kitaplar:

Kullanıcı Toplulukları:

Bloglar:

Basit kod:

Araçlar / Entegre Geliştirme Ortamları (IDE'ler) - Ticari Olmayan:

Modüller / Çerçeveleri:

Ayrıca yeni Python programcılar için bu genel ipuçlarını görmek Bu yanıt için ArcPy kullanarak pdf'lerden içine mxds İhracat? .


1
Eski soru, ancak ArcPy'de yeniyim ve yakın zamanda bana yardımcı olanı ekleyeceğimi düşündüm. Bu YouTube dizisi şahsen benim için çok yardımcı oldu. Videolar çok kısa ve ArcPy'nin nasıl çalıştığını görmek için sadece bir akşam 2x hızında hepsini izledim (herhangi bir alıştırma yapmakla uğraşmadı, videoları izledim). [ Youtube.com/playlist?list=PLO6KswO64zVu7S4bqQoHWR5516aCUEnda ]
AlexS1

Ayrıca bu kitabı aldım. İyi bir intro için nezih ve kesinlikle benim için yardımcı oldu, ama kesinlikle derinlik ve ileri konulardan yoksun. Yine de, şahsen ben kullanılan ~ 25 $ için değer olduğunu düşündüm (bunun için ~ 35 dolardan daha fazla ödeyemezdim, ama bu benim görüşüm). [ amazon.com/ArcPy-ArcGIS-Second-Silas-Toms/dp/1787282511/… ]
AlexS1

14

Python Cookbook ile Programlama ArcGIS 10.1'i okumanızı tavsiye ederim .

görüntü tanımını buraya girin

Kendi tecrübelerime göre, sonunda Python programlama dilinden daha büyük kavramlar getirmeden, arcpy site paketini kesinlikle öğrenemezsiniz. Aslında, önce kaçtığınız yaklaşımı almaya çalıştım, burada ArcGIS'deki işlemleri otomatikleştirmek için arcpy site paketini kullanmaya başladım. Bununla birlikte, kendimi Python belgelerine göre hızlı bir şekilde, örneğin, gibi yollara müdahale etmek için daha iyi yaklaşımlar aramak için buldum os.path.join(). Ayrıca, ESRI alternatiflerini kabul ederek, NumPy ve SciPy gibi inanılmaz güçlü Python kütüphanelerinden kaçındığımı da buldum. Özetle, arcpy site paketi ile tamamlanan Python temellerini öğrenmek için aşağıdaki adımları öneririm:

  1. Öncelikle: Tüm komut dosyalarınızı yapmak için PythonWin veya PyScripter gibi bir IDE kullanın! ArcGIS piton penceresinin dışındaki komut dosyalarını uygulayabildiklerini ve hatalarını ayıklayabildiklerini fark etmek çok uzun sürüyor .
  2. Python'u kullanarak en basit görevleri bile gerçekleştirin. Örneğin, bir çalışma alanı tanımlayın ve programlı bir coğrafi veritabanı oluşturun. Karmaşık komut dosyaları oluşturmaya başlama.
  3. Tüm komut dosyalarınızı başlangıçta arktik alan kullanarak yapmakta sorun yoktur - aklınızda bulundurun, birçok görev için daha iyi, daha verimli yöntemler olduğunu unutmayın. Gerekirse, daima saf Python ile daha iyi bir alternatif arayın.
  4. Bu sitedeki sorularınız için programatik çözümler bulun. Bu, sizi konfor bölgesinin dışındaki sorunlara maruz bıraktığı için yeteneklerinizi tamamlamanıza kesinlikle yardımcı olacaktır.
  5. Sonunda, Python'u iyi bir şekilde kavradığınızı düşündüğünüzde , ESRI'den Python'u Kullanarak Geoprocessing Komut Dosyalarına Giriş gibi bir eğitmen kursuna katılın . Evet, bu kurslar pahalıdır, ancak değerlidirler ve gerçekten öğrendiklerinizi pekiştirirler. Sadece bu derslerden birine girmeyin, ana kavramları iyi bir şekilde anlamadan.

6

Genellikle insanları ArcMap kullanma konusunda eğitirim ve eğitim kursumuz insanları Python ve Arcpy ile tanıştırır. İnsanların Yardım dosyasını okumasını sağlamak için çok çalışıyorum! İnsanların yardım dosyasını okumaması nesi var, beni delirtiyor!

Herhangi bir coğrafi işleme aracının yardım dosyasını açarsanız, bu aracı kullanarak her zaman bir python kodu örneği verir. Bu, bir Python ortamında arktik modülle nasıl etkileşime gireceğini öğrenmenin harika bir yoludur.

Yeni başlayanlar için ücretsiz ve uygulama yardım dosyasına dahil edilmiştir. Daha sofistike şeyler yapmak istediğinizde, bu konu üzerinde harmanlanmış kaynaklara gidin.


3
Bu. Evet. ArcGIS dünyasında pek çok dokümantasyon var. İnsanlar bu belgeleri yazmak için çok zaman harcadılar. İnsanların internette uzun bir soru yaratma sıkıntısı yaşamaları biraz kafa karıştırıcı, bu kişi, bir arama motorunu kullandığında, belgelere bir bağlantı olan, çok daha az sayıda kelime yazılmış bir cevap niteliğinde. ve aynı yardım sayfasına gittim.
Jason Scheirer


3

Ekleyeceğim tek şey, model oluşturucuda bir şeyler inşa etmek ve farklı bileşenlerin nasıl bir araya geldiği hakkında bir fikir vermek için bir Python betiğine vermektir.


7
Buna karşı dikkatli olurdum. Bu yaklaşımla yapmanız gereken çok fazla temizlik var (ihracatçı çok fazla kabadayılık, garip değişken isimleri, vb. Ekler ve bazı şeyler ModelBuilder'dan dışa aktarıldığında işe yaramadı) ve bunun basit eylemine inanıyorum. ifadeleri ve işlevleri yazmak, bir aracın sizin için yapmasına izin vermekten daha etkili bir şekilde öğrenmenizi sağlar.
blah238

6
Bir alternatif, bir coğrafi işlem sonucunu sağ tıklayıp sadece bir işlev çağrısının sözdizimini elde etmek istiyorsanız (özellikle alan eşlemeleri gibi şeyler için yararlı olmak istiyorsanız) "Python Parçacığı Olarak Kopyala" yı tıklatmaktır.
blah238

Evet, doğru nokta - sadece birkaç işlemi birbirine yapıştırmanız (belki bir klipsin ardından birkaç tampon) yapması kötü değil, ama dediğiniz gibi daha büyük modeller için çok hızlı bir şekilde çirkinleşiyor. GP komut dosyasını snippet olarak kopyalamayı da seviyorum.
om_henners

Saha haritaları için bunu düşünmemiştim. Bunu denemek zorundayım.
Jay Guarneri

1
+1 bu her zaman için iyi bir püf noktasıdır, özellikle de yeniden sınıflandırma sözdizimini betiğinize nasıl dahil edeceğinizi öğrenmeniz gerekiyorsa.
Aaron

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.