יותר

עיצוב ביטוי SQL לכלי חישוב שדה (ניהול)?


אני מנסה לקחת את מסדר האוכלוסין ולחשב את אחוז האוכלוסייה לפי כל מפקד שדה בשטח (Populati_2). לשם כך אני יוצר שדה חדש הכולל את סך האוכלוסייה (פופ).

כדי לקבל את האחוז בו אני משתמש בביטוי הבא ב- arcgis[Populati_2] / [Pop] * 100. זה עובד בסדר ב- arcgis אבל כשאני משתמש בו לחישוב ניהול שדה או פיתון זה פשוט לא עובד.

אני לא בטוח איך לעצב את הביטוי, ניסיתי כל שילוב אחד וזה פשוט לא עובד.

הנה חלק מהתסריט:

arcpy.AddField_management (r "Results  popjoin.dbf", "Pop", "LONG", "", "", "5") arcpy.AddField_management (r "Results  popjoin.dbf", "Pop2", "DOUBLE "," "," "," 5 ") arcpy.CalculateField_management (r" Results  popjoin.dbf "," Pop ", summed_total) arcpy.CalculateField_management (r" Results  popjoin.dbf "," Pop2 "," Populati_2 ] / [פופ] * 100 ")

זה נותן לי שגיאות, אך הבא לא נותן לי שום שגיאה אבל אני מקבל 0 בכל שורה במקום החישוב.

expression = "! Populati_2! /! Pop! * 100"

arcpy.CalculateField_management (r "תוצאות  popjoin.dbf", "Pop2", ביטוי, "PYTHON_9.3")

כפי שאתה יכול לקרוא בפקודות, היזהר מהו a VBS ומה א פִּיתוֹן פקודה / ביטוי.

fc = "file_name" # http://gis.stackexchange.com/a/82251/53268 summed_total = 0 עם arcpy.da.SearchCursor (fc, "Populati_2") כסמן: לשורה בסמן: summed_total = sum__total + שורה [0] arcpy.AddField_management (fc, "Pop", "LONG", "", "", "5") arcpy.CalculateField_management (fc, "Pop", summed_total) arcpy.AddField_management (fc, "Pop2", " DOUBLE "," "," "," 5 ") arcpy.CalculateField_management (fc," Pop2 ","! Populati_2! /! Pop! * 100 "," PYTHON "," # ")

אם יש לך בעיות בביטוי, אתה תמיד יכול להשתמש בארגז הכלים של חישוב שדה כדי לבנות את הביטוי שלך. ראה את התוצאה הישנה שלך תחתעיבוד גיאוגרפי -> תוצאות

בלחיצה כפולה על חשב שדה אתה יכול לפתוח את ארגז הכלים. כאן אתה יכול להשתמש בבונה הביטוי (הקפד להגדיר את Python כמנתח):


אם אינך בטוח לגבי תחביר הביטוי, נסה את הדברים הבאים:

  1. ארגז מודול ב- ModuleBuilder, הוסף את הכלי חישוב שדה, הגדר את כל הפרמטרים והפעל את המודל.
  2. אם הוא פועל בהצלחה, ייצא את המודל File> Export to python script
  3. השתמש בתחביר הביטוי של פיתון מה- .py המיוצא משלב 2 אל הצהרת שדה החישוב שלך