Как соединить две точки в arcpy?

ArcGIS 8.x,9.x,10.x (Arcview, ArcEditor, Arcinfo).
Ответить
Herber
Интересующийся
Сообщения: 16
Зарегистрирован: 17 сен 2020, 11:18
Репутация: 0
Откуда: Махачкала

Как соединить две точки в arcpy?

Сообщение Herber » 18 мар 2021, 15:20

Есть две сущности - Счётчики и Столбы. Их нужно соединить линией.
Для этого я нашел метод

Код: Выделить всё

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'))

Herber
Интересующийся
Сообщения: 16
Зарегистрирован: 17 сен 2020, 11:18
Репутация: 0
Откуда: Махачкала

Re: Как соединить две точки в arcpy?

Сообщение Herber » 19 мар 2021, 09:35

Оказывается ошибся. В самом 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

Skywalker
Участник
Сообщения: 79
Зарегистрирован: 01 май 2013, 22:38
Репутация: 30
Откуда: Сыктывкар

Re: Как соединить две точки в arcpy?

Сообщение Skywalker » 19 мар 2021, 10:43

Herber, после того, как вы запускаете код на исполнение, вы получаете какое нибудь сообшение от интерпретатора? У вас рабочий код. Единственное, что может смущать Python, это кириллические символы в пути.
Попробуйте в самое начало кода добавить:

Код: Выделить всё

# -*- coding: utf-8 -*-

Herber
Интересующийся
Сообщения: 16
Зарегистрирован: 17 сен 2020, 11:18
Репутация: 0
Откуда: Махачкала

Re: Как соединить две точки в arcpy?

Сообщение Herber » 19 мар 2021, 13:12

Skywalker писал(а):
19 мар 2021, 10:43
Herber, после того, как вы запускаете код на исполнение, вы получаете какое нибудь сообшение от интерпретатора? У вас рабочий код. Единственное, что может смущать Python, это кириллические символы в пути.
Ща попробую
1) Сменить путь
2) Вместо ; использовать ,

Herber
Интересующийся
Сообщения: 16
Зарегистрирован: 17 сен 2020, 11:18
Репутация: 0
Откуда: Махачкала

Re: Как соединить две точки в arcpy?

Сообщение Herber » 19 мар 2021, 13:53

У меня не создается сущность результат. Вроде все обрабатывает без ошибок

Herber
Интересующийся
Сообщения: 16
Зарегистрирован: 17 сен 2020, 11:18
Репутация: 0
Откуда: Махачкала

Re: Как соединить две точки в arcpy?

Сообщение Herber » 19 мар 2021, 14:00

Код: Выделить всё

# -*- 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\Результат уже существует.

Skywalker
Участник
Сообщения: 79
Зарегистрирован: 01 май 2013, 22:38
Репутация: 30
Откуда: Сыктывкар

Re: Как соединить две точки в arcpy?

Сообщение Skywalker » 19 мар 2021, 15:41

Код: Выделить всё

ERROR 000725: Выходной класс объектов: Набор данных C:\Project.GDB\Результат уже существует.
означает, что у вас все работает.
Посмотрите с помощью ArcCatalog'а содержимое базы C:\Project.GDB или добавьте непосредственно таблицу 'Результат' из базы C:\Project.GDB\ в ArcMap.

Ответить

Вернуться в «ArcGIS»

Кто сейчас на конференции

Сейчас этот форум просматривают: Bing [Bot] и 8 гостей