SearchCursor در ArcGIS pro
این تابع یکی از مهمترین تابع های arcpy می باشد که در این مقاله بررسی شده استآموزش شبکه چند ظلعی تیسن در …
آموزش رقومی سازی یا دیجیت کردن …
آموزش ایجاد کلیپ (برش شیپ فایل) …
آموزش ایجاد بافر در آرک مپ
آموزش درونیابی به روش کریجینگ در …
آموزش درونیابی به روش اسپلاین در …
آموزش درونیابی به روش IDW در …
آموزش انتقال داده اکسل به نر …
تغییر سیستم تصویر تصویر رستری در …
آموزش تبدیل اکسل به شیپ فابل …
کاربرد ابزار SearchCursor
SearchCursor چیست
تابع SearchCursor یک مکان نما فقط خواندنی (read-only cursor) را روی یک کلاس ویژگی (feature class) یا جدول ایجاد می کند. SearchCursor می تواند برای تکرار در میان آبجکت های ردیف و استخراج مقادیر فیلد استفاده شود. جستجو را می توان به صورت اختیاری با عبارت Where محدود کرد و به صورت اختیاری مرتب نمود.
نکته:این تابع توسط arcpy.da.SearchCursor در ArcGIS 10.1 جایگزین شد. برای عملکرد سریعتر، از arcpy.da.SearchCursor استفاده کنید.
مکان نماهای جستجو (Search cursors) را می توان با یک حلقه for یا در یک حلقه while با استفاده از روش cursor's next برای بازگرداندن ردیف بعدی قابل پیمایش کرد. بر اساس رشته کدهای زیر می توان این کار را انجام داد:
fc = "c:/data/base.gdb/roads"
field = "StreetName"
cursor = arcpy.SearchCursor(fc)
for row in cursor:
print(row.getValue(field))
همچنین برای استفاده از SearchCursor با حلقه while از رشته کدهای زیر استفاده کنید:
fc = "c:/data/base.gdb/roads"
field = "StreetName"
cursor = arcpy.SearchCursor(fc)
row = cursor.next()
while row:
print(row.getValue(field)) row = cursor.next()
نحوه نگارش SearchCursor
Parameter توضیحات نوع داده دسته داده (dataset) کلاس ویژگی، شکل فایل یا جدول حاوی ردیف هایی که باید جستجو شوند. String where_clause یک عبارت اختیاری که ردیف های بازگشتی در مکان نما را محدود می کند. String spatial_reference وقتی مشخص شد، ویژگیها با استفاده از مرجع_مکانی ارائهشده نمایش داده میشوند. spatial_reference فیلد (fields) رشتهای از فیلدها با نقطه ویرگول که باید در مکاننما گنجانده شود. به طور پیش فرض، تمام فیلدها گنجانده شده است. String sort_fields فیلدهایی که برای مرتب سازی ردیف ها در مکان نما استفاده می شوند. ترتیب صعودی و نزولی برای هر فیلد String
نمونه کد
در نمونه زیر فهرست محتویات فیلد برای Counties.shp، بر اساس نام ایالت و جمعیت مرتب شده است.
# Open a searchcursor
# Input: C:/Data/Counties.shp
# Fields: NAME; STATE_NAME; POP2000
# Sort fields: STATE_NAME A; POP2000 D
rows = arcpy.SearchCursor("c:/data/counties.shp",
fields="NAME; STATE_NAME; POP2000",
sort_fields="STATE_NAME A; POP2000 D")# Iterate through the rows in the cursor and print out the
# state name, county and population of each.
for row in rows:
print("State: {0}, County: {1}, Population: {2}".format(
row.getValue("STATE_NAME"),
row.getValue("NAME"),
row.getValue("POP2000")))
منبع:
https://pro.arcgis.com/en/pro-app/2.8/arcpy/functions/searchcursor.htm