Страница 1 из 1
Как соединить две точки в arcpy?
Добавлено: 18 мар 2021, 15:20
Herber
Есть две сущности - Счётчики и Столбы. Их нужно соединить линией.
Для этого я нашел метод
Код: Выделить всё
arcpy.management.PointsToLine(Input_Features, Output_Feature_Class, {Line_Field}, {Sort_Field}, {Close_Line})
Как использовать этот метод? По идее у меня есть координаты x,y одной точки и второй. Непонятно как их соединить
Код: Выделить всё
schetchiki = r'база.gdb\Счетчики'
cursor = arcpy.SearchCursor(schetchiki)
for row in cursor:
js = json.loads(row.getValue('Shape').JSON)
x = js["x"] # тут координата x
y = js["y"] # тут координата y
print(row.getValue('Name'))
Re: Как соединить две точки в arcpy?
Добавлено: 19 мар 2021, 09:35
Herber
Оказывается ошибся. В самом Arcgis нашёл метод XY в линию. Почему то не чертит на выходе ничего
Код: Выделить всё
input_table = r"C:\Users\Admin\table.csv"
out_lines = r"C:\Users\Проект.gdb\Результат"
#XY To Line
arcpy.management.XYToLine(input_table,out_lines,
"LOND1","LATD1","LOND2",
"LATD2","GEODESIC","idnum")
table.csv
Код: Выделить всё
idnum;LOND1;LATD1;LOND2;LATD2
1;47.43388800000008;42.983686000000034;47.43402500000008;42.98425700000007
2;47.43412900000004;42.98377300000004;47.43314600000008;42.981682000000035
3;47.433530000000076;42.983711000000085;47.43436800000006;42.985129000000086
Re: Как соединить две точки в arcpy?
Добавлено: 19 мар 2021, 10:43
Skywalker
Herber, после того, как вы запускаете код на исполнение, вы получаете какое нибудь сообшение от интерпретатора? У вас рабочий код. Единственное, что может смущать Python, это кириллические символы в пути.
Попробуйте в самое начало кода добавить:
Re: Как соединить две точки в arcpy?
Добавлено: 19 мар 2021, 13:12
Herber
Skywalker писал(а): ↑19 мар 2021, 10:43
Herber, после того, как вы запускаете код на исполнение, вы получаете какое нибудь сообшение от интерпретатора? У вас рабочий код. Единственное, что может смущать Python, это кириллические символы в пути.
Ща попробую
1) Сменить путь
2) Вместо ; использовать ,
Re: Как соединить две точки в arcpy?
Добавлено: 19 мар 2021, 13:53
Herber
У меня не создается сущность результат. Вроде все обрабатывает без ошибок
Re: Как соединить две точки в arcpy?
Добавлено: 19 мар 2021, 14:00
Herber
Код: Выделить всё
# -*- coding: utf-8 -*-
import arcpy
import os
import json
arcpy.env.workspace = r"C:\Project.GDB"
from arcpy import env
featureList = []
input_table = r"C:\Users\Admin\table.csv"
out_lines = r"C:\Project.GDB\Результат"
arcpy.management.XYToLine(input_table,out_lines,
"LOND1","LATD1","LOND2",
"LATD2","GEODESIC","idnum")
Когда два раза запускаю - он выдаёт ошибку. Значит код работает и объект Результат создан. Только как его увидеть в Arcgis?
Код: Выделить всё
ERROR 000725: Выходной класс объектов: Набор данных C:\Project.GDB\Результат уже существует.
Re: Как соединить две точки в arcpy?
Добавлено: 19 мар 2021, 15:41
Skywalker
Код: Выделить всё
ERROR 000725: Выходной класс объектов: Набор данных C:\Project.GDB\Результат уже существует.
означает, что у вас все работает.
Посмотрите с помощью ArcCatalog'а содержимое базы C:\Project.GDB или добавьте непосредственно таблицу 'Результат' из базы C:\Project.GDB\ в ArcMap.