こんにちはこのタスクで問題があります。NA_Cities.shpの各フィーチャーをループし、カーソルを使用して各都市ポイントのx/y座標を読み取ります。ここでx/y座標を使用したループフィーチャー
import arcpy
import math
arcpy.env.overwriteOutput = True
folderpath = r'C:\Users\Michaelf\Desktop\GEOG M173\LabData'
In_Lakes = folderpath + '\NA_Big_Lakes.shp'
In_Cities = folderpath + '\NA_Cities.shp'
Out_Lakes = folderpath + '\New_Lakes.shp'
arcpy.CopyFeatures_management (In_Lakes, Out_Lakes)
fields = [
('City', 'TEXT'),
('Admin', 'TEXT'),
('Country_', 'TEXT'),
('Population', 'LONG'),
]
for field in fields:
arcpy.AddField_management(*(Out_Lakes,) + field)
city_name_list = []
city_admin_list = []
city_country_list = []
city_pop_list = []
city_cursor = arcpy.SearchCursor(In_Cities)
for city in city_cursor:
city_name_list.append(city.CITY_NAME)
city_admin_list.append(city.ADMIN_NAME)
city_country_list.append(city.CNTRY_NAME)
city_pop_list.append(city.POPULATION)
lakes_cursor = arcpy.UpdateCursor(Out_Lakes)
city_length = len(city_X_list)
for lake in lakes_cursor:
distance_to_shore = []
for city in range(0, city_length - 1):
distance_to_shore = arcpy.Near_analysis(import_cities_feature, import_lake_feature)
distance_shore.append(distance_to_shore)
closest_city = min(distance_cntrd_list)
closest_city_index = distance_cntrd_list.index(closest_city)
lake.city = city_name_list[closest_city_index]
lake.Admin = city_admin_list [closest_city_index]
lake.Population = city_pop_list [closest_city_index]
lake.Country_ = city_country_list [closest_city_index]
lakes_cursor.updateRow(lake)
del city_cursor, lakes_cursor, city, lake
は私の完全なコードの更新バージョンは、任意のフィードバックやアドバイスを事前に 感謝です!
コードを実行したところ、「都市名の長さが定義されていません」というエラーが表示されます –
これは今動作しますか?それとも助けが必要ですか? –
これはうまくいきませんが、可能であればそれを使って助けてもらえますか?もちろん、 –