2016-07-08 2 views
0

Я новичок в Python и работаю в среде ArcGIS ... специально работая внутри таблицы атрибутов (например, полевого калькулятора).Python в среде ArcGIS

У меня более 200 записей в этой базе данных. Поле в этой таблице (FULLNAME) содержит список дорог, но «дорога» пишется четырьмя различными способами (например, «ДОРОГА», «RD», «Rd», «Дорога»).

Я пытаюсь выяснить способ использования Python в полевом калькуляторе ArcGIS, чтобы скопировать имена дорог из поля FULLNAME в другое поле FULLNAME2, а также стандартизировать написание «дороги» для всех записей, Дорога".

Так, например, Gilman Valley Rd должна быть Gilman Valley Road; Центр Creek ROAD должен быть Center Creek Road; и Schoepps Valley RD должен быть Schoepps Valley Road.

Вот то, что я до сих пор:

def fullNameRoad(x): 
    if "ROAD" in x: 
    return x[:-5] + "Road" 
    elif "Rd" in x: 
    return x[:-2] + "Road" 
    elif "RD" in x: 
    return x[:-2] + "Road" 
    else: 
    return !FULLNAME! 

FULLNAME = fullNameRoad(!FULLNAME!) 

Любые и все советы будут полезны!

Спасибо!

ответ

0

Если формат ваших значений поля [HOUSENUM] [STREETNAME] [RD/Rd/ROAD] (или только [STREETNAME] [RD/Rd/ROAD]), то было бы гораздо менее подробным, чтобы просто обрезать любые завершающий пробел, а затем rpartition, чтобы извлечь все перед текстом «Дорога». Нет необходимости в кодовом блоке ...

str(!FULLNAME!.rstrip()).rpartition(' ')[0] + ' Road' 
Смежные вопросы