Daha çox

Hesablama sahəsi (idarəetmə) vasitəsi üçün SQL ifadəsini formatlaşdırmaq?


Əhalinin siyahıyaalma yolunu götürməyə və sahədəki hər siyahıyaalma yolu ilə əhalinin faizini hesablamağa çalışıram (Populati_2). Bunu etmək üçün əhalinin (pop) ümumi cəmi ilə yeni bir sahə yaradıram.

İstifadə etdiyim faizi almaq üçün aşağıdakı ifadəni arcgis-də istifadə edirəm[Populati_2] / [Pop] * 100. Arcgisdə yaxşı işləyir, ancaq sahə idarəedilməsini və ya pythonu hesablamaq üçün istifadə etdiyim zaman sadəcə işləmir.

İfadəni necə format edəcəyimə əmin deyiləm, hər bir kombinasiyanı sınamışam və bu, sadəcə işləmir.

Budur ssenarinin bir hissəsi:

arcpy.AddField_management (r "Nəticələr  popjoin.dbf", "Pop", "UZUN", "", "", "5") arcpy.AddField_management (r "Nəticələr  popjoin.dbf", "Pop2", "ÇİFT "," "," "," 5 ") arcpy.CalculateField_management (r" Nəticələr  popjoin.dbf "," Pop ", summed_total) arcpy.CalculateField_management (r" Nəticələr  popjoin.dbf "," Pop2 "," Populati_2 ] / [Pop] * 100 ")

Bu mənə səhv verir, ancaq aşağıdakılar mənə səhv vermir, amma hesablama əvəzinə hər sətirdə 0 alıram.

ifadə = "! Populati_2! /! Pop! * 100"

arcpy.CalculateField_management (r "Nəticələr  popjoin.dbf", "Pop2", ifadə, "PYTHON_9.3")

Əmrlərdə oxuduğunuz kimi a. Olduğuna diqqət yetirin VBS və nə a Piton əmr / ifadə.

fc = "file_name" # http://gis.stackexchange.com/a/82251/53268 summed_total = 0 arcpy.da.SearchCursor (fc, "Populati_2") ilə kursor kimi: kursorda sıra üçün: summed_total = summed_total + sıra [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 "," # ")

İfadə ilə bağlı probleminiz varsa, ifadənizi yaratmaq üçün hər zaman Sahə Hesablama Alətlər qutusundan istifadə edə bilərsiniz. Köhnə nəticənizə baxınGeoprosessinq -> Nəticələr

Bir cüt kliklə Sahəni hesablayın alət qutusunu aça bilərsiniz. Burada ifadə qurucusundan istifadə edə bilərsiniz (Python'u Ayrıştırıcı olaraq təyin etdiyinizə əmin olun):


İfadə sintaksisindən əmin deyilsinizsə, aşağıdakıları sınayın:

  1. ModuleBuilder-də bir modulun üstünə çırpın, Sahəni Hesablayın alətini əlavə edin, bütün parametrləri müəyyənləşdirin və modeli işə salın.
  2. Uğurla işləyirsə, File File> Export for python script
  3. Addım 2-dən ixrac edilən .py-dən python ifadə sintaksisini istifadə edin


Videoya baxın: Execute T-SQL on Multiple Database from One Query Window Part I (Oktyabr 2021).