Конвертация точки в полилинии с присвоением атрибутов

Вопросы по свободной ГИС QGIS. Сообщения об ошибках, предложения по улучшению, локализация.
Ответить
redrock
Новоприбывший
Сообщения: 5
Зарегистрирован: 19 ноя 2015, 11:58
Репутация: 0
Откуда: Беларусь

Конвертация точки в полилинии с присвоением атрибутов

Сообщение redrock » 02 авг 2022, 22:41

Здравствуйте. Перехожу с mapinfo на qgis и возник такой вопрос: есть исходный ASCIII или csv файл (изолинии NXYZ, N-порядковый номер линии). нужно их отобразить в qgis с присвоением атрибута полученым линиям. Пробовал следующим методом: 1) add dilimited text 2) make points 3) point to lines. Все отображает, но результирующая таблица содержит только id/start/end. Shape tools соединяет только начальные и конечные точки, а не последовательно точки в пределах одной группы. Думал поможет фунцкия merge, но она только для объектов с одинаковой геометрией и не для этой цели.
SAGA Convert Points to Lines, точки соединены не последовательно и атрибут тоже не записывается.
Спойлер
Изображение
В мапинфо был инструмент по созданию полилиний из данных, где указывался ключ, который будет присваиваться линиям, как выполнить аналогичную операцию в qgis?
Спойлер
FFASCI 0 1 "LINES" 0 1e+10
FFATTR 0 1
->1
6284472.29 5845503.94 -1900
6284451.28 5845501.17 -1900
6284423.81 5845498.18 -1900
6284396.69 5845495.83 -1900
6284369.24 5845493.99 -1900
6284340.9 5845492.55 -1900
6284311.45 5845491.4 -1900
6284280.79 5845490.44 -1900
6284248.8 5845489.57 -1900
6284215.38 5845488.69 -1900
6284180.41 5845487.71 -1900
->2
6285136.33 5845683.15 -1900
6285042.42 5845650 -1900
6284961.92 5845623.16 -1900
6284888.87 5845600.26 -1900
6284822.74 5845580.9 -1900
6284763.03 5845564.62 -1900
6284709.21 5845551.02 -1900
6284660.78 5845539.67 -1900
Спойлер
1 6284472.29 5845503.94 -1900
1 6284451.28 5845501.17 -1900
1 6284423.81 5845498.18 -1900
1 6284396.69 5845495.83 -1900
1 6284369.24 5845493.99 -1900
1 6284340.9 5845492.55 -1900
1 6284311.45 5845491.4 -1900
1 6284280.79 5845490.44 -1900
1 6284248.8 5845489.57 -1900
1 6284215.38 5845488.69 -1900
1 6284180.41 5845487.71 -1900
1 6284143.78 5845486.51 -1900
1 6284105.39 5845485.01 -1900
2 6285136.33 5845683.15 -1900
2 6285042.42 5845650 -1900
2 6284961.92 5845623.16 -1900
2 6284888.87 5845600.26 -1900
2 6284822.74 5845580.9 -1900
2 6284763.03 5845564.62 -1900
2 6284709.21 5845551.02 -1900
2 6284660.78 5845539.67 -1900
2 6284617.22 5845530.14 -1900
2 6284593.08 5845525.17 -1900
В результатае хотелось бы увидеть 2 раздельные линии с атрибутом -1900

Ivor
Завсегдатай
Сообщения: 345
Зарегистрирован: 11 дек 2006, 09:46
Репутация: 102
Откуда: Иркутск

Re: Конвертация точки в полилинии с присвоением атрибутов

Сообщение Ivor » 03 авг 2022, 02:45

когда импортируете csv - задайте точкам и координату Z. потом используйте Points to path, он, кажется, Z сохраняет, а потом калькулятором полей извлеките Z в новый атрибут

gamm
Гуру
Сообщения: 4047
Зарегистрирован: 15 окт 2010, 08:33
Репутация: 1050
Ваше звание: программист
Откуда: Казань

Re: Конвертация точки в полилинии с присвоением атрибутов

Сообщение gamm » 03 авг 2022, 05:28

просто сделайте из файлов MIF/MID в любом текстовом редакторе, и спокойно грузите (только правильную CoordSys поставьте), движений руками примерно столько же.

redrock
Новоприбывший
Сообщения: 5
Зарегистрирован: 19 ноя 2015, 11:58
Репутация: 0
Откуда: Беларусь

Re: Конвертация точки в полилинии с присвоением атрибутов

Сообщение redrock » 03 авг 2022, 11:39

Ivor писал(а):
03 авг 2022, 02:45
когда импортируете csv - задайте точкам и координату Z. потом используйте Points to path, он, кажется, Z сохраняет, а потом калькулятором полей извлеките Z в новый атрибут
Благодарю, надо было включить сортировку содержащегося текста, а я группировал просто по значению (тогда в колонках start и end вписываются значения из указанной колонки Z)
gamm писал(а):
03 авг 2022, 05:28
просто сделайте из файлов MIF/MID в любом текстовом редакторе, и спокойно грузите (только правильную CoordSys поставьте), движений руками примерно столько же.
если я правильно понял, Вы предлагаете просто грузить mif файлы, так то они грузятся отлично. Но если ситуация такая: наличие только asciii или csv файла, то придется прибегать либо к способу описаному выше (через точки и points to paths) или вручную редактировать исходный csv файл и делить его на 2 файла mid/mif. Скопировать из имеющегося mif файла хедер с crs можно, больше интересно как автоматически задать строку разделения pline. а Z колонку сохранить в mid?
Спойлер
Version 450
Charset "WindowsCyrillic"
Delimiter ","
CoordSys NonEarth Units "m" Bounds (0,0) (10000000, 10000000)
Columns 1
ATTACHED_TEXT Char(80)
Data
Pline 385
6317994.814602 5769296.457184
6317993.766674 5769299.153118
6317991.070740 5769306.680648
6317988.044078 5769318.430522
6317987.322688 5769321.457184
6317983.375075 5769329.152849
6317974.207968 5769346.457184
Pen (1,2,0)

gamm
Гуру
Сообщения: 4047
Зарегистрирован: 15 окт 2010, 08:33
Репутация: 1050
Ваше звание: программист
Откуда: Казань

Re: Конвертация точки в полилинии с присвоением атрибутов

Сообщение gamm » 03 авг 2022, 14:14

объем ручной работы зависит от того, что у вас в текстовых файлах. Автоматический преобразователь текста в MIF/MID пишет на R/Python за полчаса. Зато все будет под полным контролем.

Ответить

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

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

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