Daha çox

ArcGIS alətində çox dəyərli seçim siyahısından SQL ifadəsi yaratmaq


İstifadəçilərin bir sorğu ifadəsinə daxil olan seçim siyahısından tək bir dəyər seçməsinə imkan verən bir skript aləti yaratdım.

Kodumun müvafiq hissəsi olduqca sadədir:

Giriş = arcpy.GetParameterAsText (0) arcpy.MakeQueryTable_management (inTable, "TabTemp", "", "", "", "FieldName =" + str (Input))

Beləliklə, bir istifadəçi "Item1" girişini seçərsə, nəticədə SQL ifadəsi FieldName = Item1 olur.

Girişi çox dəyərli bir seçim siyahısı halına gətirməyi ümid edirəm ki, bir istifadəçi potensial olaraq birini və ya birdən çoxunu Giriş olaraq seçə bilsin. Məsələn, istifadəçi Item1, Item2 və Item3 seçirsə, SQL ifadəsi belə olmalıdır:

FieldName = Item1 VƏ FieldName = Item2 VƏ Field Name = Item 3

Bunu etmək üçün python kodu ilə necə başlayacağımdan tam əmin deyiləm. SQL ifadəsini çox dəyərli seçim siyahısından əldə edilmiş bilinməyən bir saydan yığmaq üçün lazımi kodu yaratmaq üçün kimsə təklif edə bilərmi?


Aşağıdakı kimi bir interfeys axtarırsınızsa:

Sonra parametri aşağıda göstərildiyi kimi təyin etməlisiniz:

İçində Filtr mülk olaraq təyin edildi Dəyər siyahısı və mümkün olan bütün dəyərləri yazın.

Sorğu yaratmaq üçün həqiqi kod belə olacaq:

import arcpy import string def main (): x = arcpy.GetParameterAsText (0) vals = string.split (x, ";") whereClause = "FieldName IN (" + string.join (vals, ",") + ") "arcpy.AddMessage (whereClause) if __name__ == '__main__': main ()


Videoya baxın: GIS Tools: ArcMapArcGIS Tool for connecting points (Oktyabr 2021).