Трансформация векторного слоя
-
- Новоприбывший
- Сообщения: 2
- Зарегистрирован: 05 ноя 2009, 21:57
- Репутация: 0
Трансформация векторного слоя
Здравствуйте!
Имеется проблема - необходимо векторный слой (пусть будет шейп файл с линейными объектами в неизвестной системе координат) скорректировать по реперным точкам, т.е. произвести действия аналогично растровой привязки файла но к векторному слою...
Буду благодарен за помощь и идеи!
Спасибо!
PS: трансформация не обязательно Аффинная...
Имеется проблема - необходимо векторный слой (пусть будет шейп файл с линейными объектами в неизвестной системе координат) скорректировать по реперным точкам, т.е. произвести действия аналогично растровой привязки файла но к векторному слою...
Буду благодарен за помощь и идеи!
Спасибо!
PS: трансформация не обязательно Аффинная...
-
- Гуру
- Сообщения: 4170
- Зарегистрирован: 15 окт 2010, 08:33
- Репутация: 1107
- Ваше звание: программист
- Откуда: Казань
Re: Трансформация векторного слоя
затаскиваем в R реперные точки. Дальше 2 варианта:MalevDV писал(а):Имеется проблема - необходимо векторный слой (пусть будет шейп файл с линейными объектами в неизвестной системе координат) скорректировать по реперным точкам, т.е. произвести действия аналогично растровой привязки файла но к векторному слою...
- если это система координат, пробуем определить ее параметры (поищите MSK, статей на эту тему на сайте есть)
- если никаких предположений нет, затаскиваем файл в R через rgdal, координаты будут доступны. Строим преобразование - если оно сильно нелинейное, то сначала вычитаем линейную часть (или проективную - зависит от наших предположений), а потом невязки от нее интерполируем сплайном с конечным носителем (отдельно по X и Y, лучше программами из пакета MBA - чтобы не получить артефактов экстраполяции, заодно подбираем число уровней иерархии, чтобы сгладить шум). Это нужно, чтобы в местах отсутствия данных получить нулевые поправки к линейной части. Дальше преобразуем координаты и сохраняем результат.
- Denis Rykov
- Гуру
- Сообщения: 3376
- Зарегистрирован: 11 апр 2008, 21:09
- Репутация: 529
- Ваше звание: Author
- Контактная информация:
Re: Трансформация векторного слоя
2gamm
Подобный вопрос возникает очень часто и чтобы каждый раз не отвечать - не могли бы вы написать статью по этому вопросу, чтобы всех к ней отсылать? Есть подобный материал по ArcGIS и ArcView, но как это сделать в открытом ПО - нет.
Подобный вопрос возникает очень часто и чтобы каждый раз не отвечать - не могли бы вы написать статью по этому вопросу, чтобы всех к ней отсылать? Есть подобный материал по ArcGIS и ArcView, но как это сделать в открытом ПО - нет.
Spatial is now, more than ever, just another column- The Geometry Column.
-
- Гуру
- Сообщения: 5173
- Зарегистрирован: 26 сен 2009, 16:26
- Репутация: 792
- Ваше звание: званий не имею
- Откуда: Москва
Re: Трансформация векторного слоя
Указанные статьи — по привязке векторных данных, а то, что говорил gamm, скорее, по подборке параметров преобразования координат. Т.е. то — практика, а это — аналитика.
Редактор материалов, модератор форума
- Дмитрий Барышников
- Гуру
- Сообщения: 2572
- Зарегистрирован: 17 ноя 2009, 19:17
- Репутация: 261
- Откуда: Москва
Re: Трансформация векторного слоя
- Denis Rykov
- Гуру
- Сообщения: 3376
- Зарегистрирован: 11 апр 2008, 21:09
- Репутация: 529
- Ваше звание: Author
- Контактная информация:
Re: Трансформация векторного слоя
Отлично, то есть в 1.10 можно будет получать привязанный вектор с помощью ogr2ogr. Останется добавить к этому какой-нибудь GUI для расстановки точек. Интересно, а как соотносится подход, используемый в GDAL, с теми теоретическими выкладками, что предлагает gamm?
Spatial is now, more than ever, just another column- The Geometry Column.
- Дмитрий Барышников
- Гуру
- Сообщения: 2572
- Зарегистрирован: 17 ноя 2009, 19:17
- Репутация: 261
- Откуда: Москва
Re: Трансформация векторного слоя
В случае OGR используется стандартное преобразование, как и для растров (gdalwarp) - GDALCreateGCPTransformer. Это примерно тоже самое что и описал выше gamm. Отличие скорее всего в деталях - форма полинома или сплайна и т.п.
-
- Гуру
- Сообщения: 4170
- Зарегистрирован: 15 окт 2010, 08:33
- Репутация: 1107
- Ваше звание: программист
- Откуда: Казань
Re: Трансформация векторного слоя
нужно смотреть. У меня сильное сомнение, что в GDAL реализованы shrinking splines, которые имеют конечный носитель и не дают артефактов на бесконечности. Скорее всего, там обычные полиномы высокой степени, которыми гордился ERDAS, и которые заворачивают изображение в баранку при экстраполяцииДмитрий Барышников писал(а):В случае OGR используется стандартное преобразование, как и для растров (gdalwarp) - GDALCreateGCPTransformer. Это примерно тоже самое что и описал выше gamm. Отличие скорее всего в деталях - форма полинома или сплайна и т.п.

дьявол - он в деталях

-
- Новоприбывший
- Сообщения: 9
- Зарегистрирован: 04 янв 2019, 23:57
- Репутация: 0
- Откуда: Украина
Re: Трансформация векторного слоя
Здравствуйте!
Столкнулся с похожей задачей, но не знаю как ее решить в qgis (версия 3.4).
Есть массив участков (полигоны в .shp) которые "лежат" не совсем там где нужно.
Есть уже правильный вариант в акаде.
Я закинул .dxf в qgis, но не нашел инструмента который бы делал смещение с поворотом что бы "подсадить" свой шейп на правильно усаженый dxf.
По факту я ищу в qgis аналог функции aligin или "выровнять", ну или перемещение по 4 точкам как в Gis 6.
Нашел плагин который делает то что я хочу - vector blender (https://www.youtube.com/watch?v=QxWgezMnUUU), но он на новые версии qgis не стает.
Подскажите как можно решить данную задачу?
Столкнулся с похожей задачей, но не знаю как ее решить в qgis (версия 3.4).
Есть массив участков (полигоны в .shp) которые "лежат" не совсем там где нужно.
Есть уже правильный вариант в акаде.
Я закинул .dxf в qgis, но не нашел инструмента который бы делал смещение с поворотом что бы "подсадить" свой шейп на правильно усаженый dxf.
По факту я ищу в qgis аналог функции aligin или "выровнять", ну или перемещение по 4 точкам как в Gis 6.
Нашел плагин который делает то что я хочу - vector blender (https://www.youtube.com/watch?v=QxWgezMnUUU), но он на новые версии qgis не стает.
Подскажите как можно решить данную задачу?
Последний раз редактировалось Striker 06 янв 2019, 11:44, всего редактировалось 1 раз.
-
- Гуру
- Сообщения: 5360
- Зарегистрирован: 09 апр 2010, 19:30
- Репутация: 1021
- Ваше звание: просто мимо прохожу
- Откуда: Ё-бург
Re: Трансформация векторного слоя
сделай в AutoCAD
но лучше понять в какой СК исходные данные
но лучше понять в какой СК исходные данные
-
- Новоприбывший
- Сообщения: 9
- Зарегистрирован: 04 янв 2019, 23:57
- Репутация: 0
- Откуда: Украина
-
- Гуру
- Сообщения: 5360
- Зарегистрирован: 09 апр 2010, 19:30
- Репутация: 1021
- Ваше звание: просто мимо прохожу
- Откуда: Ё-бург
Re: Трансформация векторного слоя
тогда просто создай нужную СК - QGIS сам всё совместитСК известная
-
- Новоприбывший
- Сообщения: 9
- Зарегистрирован: 04 янв 2019, 23:57
- Репутация: 0
- Откуда: Украина
Re: Трансформация векторного слоя
СК в Qgis создана.
Я наверное не совсем понятно описал ситуацию.
Оба объекта (файл в dxf и shp) в ск63. По факту это вообще два одинаковых массива участков.
Просто тот который в акаде сдвинули на другое место, в той же системе координат, просто сдвинули и немного повернули.
Теперь я хочу массив который в shp точно также сдвинуть и повернуть, что бы он в точности занял такое же положение. Вот как такая команда делается в акаде (https://www.youtube.com/watch?v=AzCABnBLQFw).
-
- Гуру
- Сообщения: 5360
- Зарегистрирован: 09 апр 2010, 19:30
- Репутация: 1021
- Ваше звание: просто мимо прохожу
- Откуда: Ё-бург
Re: Трансформация векторного слоя
тогда это другая СКпросто сдвинули и немного повернули.
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 6 гостей