Как найти прерывистый объект на основе его атрибута в Arcmap, используя python - PullRequest
1 голос
/ 02 августа 2020

Я очень начинаю с Python. У меня электрическая сеть с большой таблицей атрибутов. Здесь я разместил лишь небольшую часть сети. Изображение сети дано ниже. Arcpy На изображении показана ошибка прерывистой функции по цвету

Я хочу сделать следующее:

  1. Это объекты ЛИНИЯ, где одна конечная вершина является начальной вершиной другой линии.
  2. Линии должны находиться рядом с одним и тем же значением поля q50. Он не должен быть дискретным.
  3. Если какая-либо строка дискретна, в поле состояния будет отображаться ЛОЖЬ. В противном случае это ИСТИНА.

Моя первая попытка:

Я сделал словарь

Dicts = {}

, чтобы я мог использовать его в L oop. Я не знаю, применимо это или нет.

import arcpy
arcpy.env.workspace = r"G:\1. DESCO\2. SND\DESCO_GIS.mdb"
Table = r"G:\1. DESCO\2. SND\DESCO_GIS.mdb\SNDLT"
Output = r"G:\1. DESCO\2. SND\DESCO_GIS.mdb\SNDLT_Disslove"
Dicts = {}
with arcpy.da.SearchCursor(Table, ["OID", "q50"]) as cursor:
    for row in cursor:
        key = row[0]
        value = row [1]
        if not key in Dicts:
            Dicts[key] = [value]
upCur = arcpy.da.SearchCursor(Table, ["q50", "Status"])
for row in upCur:

Мои вторые попытки:

Я растворяю слой на основе поля q50.

arcpy.Dissolve_management(Table, Output, "q50", " ", " ", " ")

Мои ожидания вывод:

OID Shape_Length    q50 Status
1   34.042799   KB_45   TRUE
2   29.433213   KB_45   TRUE
3   28.935468   KB_40   FALSE
4   28.098186   KB_45   TRUE
5   17.087751   KB_45   TRUE
6   24.486309   KB_30   TRUE
7   10.6042869  KB_30   TRUE
8   27.879100   KB_30   FALSE
9   30.116200   KB_40   TRUE
10  26.952097   KB_40   TRUE
11  30.398597   KB_40   TRUE

Я пробовал, но не могу определить прерывистые функции.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...