Работа с Create points on lines, GPX.

ArcGIS 8.x,9.x,10.x (Arcview, ArcEditor, Arcinfo).
Ответить
Geoig
Новоприбывший
Сообщения: 9
Зарегистрирован: 21 июн 2017, 14:03
Репутация: 0

Работа с Create points on lines, GPX.

Сообщение Geoig »

Прошу помощи, так как самостоятельные поиски не помогли :(
Необходимо автоматизированно создать точки на GPS-треке с частотой 50 м. Преобразую GPX в SHP, пытаюсь расставить точки(предпоследняя строка), но итог - только крайние точки линии(параметр END, START или BOTH), в таблице атрибутов - та же ерунда. С обычными .SHP - работает безотказно.
Для этого использую скрипт:

import arcpy
import tkFileDialog
filename = tkFileDialog.askopenfilename(initialdir = "/",title = "Select file",filetypes = (("gpx files","*.gpx"),("all files","*.*")))
points = arcpy.CreateUniqueName("D:\Diplom\Temp\Way_points.shp")
arcpy.GPXtoFeatures_conversion(filename, points)
line = arcpy.CreateUniqueName("D:\Diplom\Temp\Ways.shp")
arcpy.PointsToLine_management(points, line)
arcpy.ImportToolbox("C:\Program Files (x86)\ArcGIS\Desktop10.3\ArcToolbox\Toolboxes\CreatePointsLines.tbx")
points50 = arcpy.CreateUniqueName("D:\Diplom\Temp\points50.shp")
arcpy.CreatePointsLines_CreatePointsLines(line, "INTERVAL BY DISTANCE", "BEGINNING", "NO", "", 50, "END", points50)
print points50

Помогииите!!!
Спасиибо!
Вложения
points_on_lines_from_GPX.py
(699 байт) 659 скачиваний
Arkhyz_2011.gpx
Пример GPX
(679.56 КБ) 588 скачиваний
trir
Гуру
Сообщения: 5355
Зарегистрирован: 09 апр 2010, 19:30
Репутация: 1021
Ваше звание: просто мимо прохожу
Откуда: Ё-бург

Re: Работа с Create points on lines, GPX.

Сообщение trir »

почему points arcpy.GPXtoFeatures_conversion(filename, points) если это трек?
Какая СК у shp'ов?
Последний раз редактировалось trir 21 июн 2017, 14:45, всего редактировалось 1 раз.
Geoig
Новоприбывший
Сообщения: 9
Зарегистрирован: 21 июн 2017, 14:03
Репутация: 0

Re: Работа с Create points on lines, GPX.

Сообщение Geoig »

points -не тип данных, а название переменной здесь, показывает, что записывать данные в файл, созданный строчкой выше.
Последний раз редактировалось Geoig 21 июн 2017, 14:47, всего редактировалось 1 раз.
trir
Гуру
Сообщения: 5355
Зарегистрирован: 09 апр 2010, 19:30
Репутация: 1021
Ваше звание: просто мимо прохожу
Откуда: Ё-бург

Re: Работа с Create points on lines, GPX.

Сообщение trir »

points -не тип данных, а название переменной здесь
разве?
arcpy.PointsToLine_management(points, line)
Geoig
Новоприбывший
Сообщения: 9
Зарегистрирован: 21 июн 2017, 14:03
Репутация: 0

Re: Работа с Create points on lines, GPX.

Сообщение Geoig »

точно, это можно менять на любые символы
Geoig
Новоприбывший
Сообщения: 9
Зарегистрирован: 21 июн 2017, 14:03
Репутация: 0

Re: Работа с Create points on lines, GPX.

Сообщение Geoig »

Поменял на другие переменные, чтобы не путать с типами.

import arcpy
import tkFileDialog
filename = tkFileDialog.askopenfilename(initialdir = "/",title = "Select file",filetypes = (("gpx files","*.gpx"),("all files","*.*")))
tut = arcpy.CreateUniqueName("D:\Diplom\Temp\Way_points.shp")
arcpy.GPXtoFeatures_conversion(filename, tut)
zdes = arcpy.CreateUniqueName("D:\Diplom\Temp\Ways.shp")
arcpy.PointsToLine_management(tut, zdes)
arcpy.ImportToolbox("C:\Program Files (x86)\ArcGIS\Desktop10.3\ArcToolbox\Toolboxes\CreatePointsLines.tbx")
points50 = arcpy.CreateUniqueName("D:\Diplom\Temp\points50.shp")
arcpy.CreatePointsLines_CreatePointsLines(zdes, "INTERVAL BY DISTANCE", "BEGINNING", "NO", "", 50, "END", points50)
print points50
trir
Гуру
Сообщения: 5355
Зарегистрирован: 09 апр 2010, 19:30
Репутация: 1021
Ваше звание: просто мимо прохожу
Откуда: Ё-бург

Re: Работа с Create points on lines, GPX.

Сообщение trir »

думаю неправильная СК у линии, попробуй явно указать epsg 4326 или перепроицировать в UTM
Geoig
Новоприбывший
Сообщения: 9
Зарегистрирован: 21 июн 2017, 14:03
Репутация: 0

Re: Работа с Create points on lines, GPX.

Сообщение Geoig »

СК - вероятнее всего импортируется из GPX-файла, промежуточные shp - GCS_WGS_1984
Geoig
Новоприбывший
Сообщения: 9
Зарегистрирован: 21 июн 2017, 14:03
Репутация: 0

Re: Работа с Create points on lines, GPX.

Сообщение Geoig »

попробую, возможно так и есть. Не люблю я разности в СК))
Geoig
Новоприбывший
Сообщения: 9
Зарегистрирован: 21 июн 2017, 14:03
Репутация: 0

Re: Работа с Create points on lines, GPX.

Сообщение Geoig »

Огромное спасибо!
В этом и была загвоздка.
То, что я пытался решить несколько дней - решилось за полчаса)
Geoig
Новоприбывший
Сообщения: 9
Зарегистрирован: 21 июн 2017, 14:03
Репутация: 0

Re: Работа с Create points on lines, GPX.

Сообщение Geoig »

Конечный вариант с перепроецированием, если кому пригодится)

import arcpy
import tkFileDialog
filename = tkFileDialog.askopenfilename(initialdir = "/",title = "Select file",filetypes = (("gpx files","*.gpx"),("all files","*.*")))
tut = arcpy.CreateUniqueName("D:\Diplom\Temp\Way_points.shp")
arcpy.GPXtoFeatures_conversion(filename, tut)
sk = arcpy.SpatialReference('WGS 1984 UTM zone 37N')
tut_new_sk = arcpy.CreateUniqueName("D:\Diplom\Temp\Way_points_sk.shp")
sk_tut = arcpy.Project_management(tut, tut_new_sk, sk)
zdes = arcpy.CreateUniqueName("D:\Diplom\Temp\Ways.shp")
arcpy.PointsToLine_management(sk_tut, zdes)
arcpy.ImportToolbox("C:\Program Files (x86)\ArcGIS\Desktop10.3\ArcToolbox\Toolboxes\CreatePointsLines.tbx")
points50 = arcpy.CreateUniqueName("D:\Diplom\Temp\points50.shp")
arcpy.CreatePointsLines_CreatePointsLines(zdes, "INTERVAL BY DISTANCE", "BEGINNING", "NO", "", 50, "END", points50)
print points50
Вложения
points_on_lines_from_GPX.py
(876 байт) 672 скачивания
trir
Гуру
Сообщения: 5355
Зарегистрирован: 09 апр 2010, 19:30
Репутация: 1021
Ваше звание: просто мимо прохожу
Откуда: Ё-бург

Re: Работа с Create points on lines, GPX.

Сообщение trir »

походу, у тебя расстояние было - 50 градусов
Geoig
Новоприбывший
Сообщения: 9
Зарегистрирован: 21 июн 2017, 14:03
Репутация: 0

Re: Работа с Create points on lines, GPX.

Сообщение Geoig »

Возможно :D :D
Ответить

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

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

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 14 гостей