Страница 1 из 1
Трансформация векторного слоя
Добавлено: 11 апр 2013, 04:08
MalevDV
Здравствуйте!
Имеется проблема - необходимо векторный слой (пусть будет шейп файл с линейными объектами в неизвестной системе координат) скорректировать по реперным точкам, т.е. произвести действия аналогично растровой привязки файла но к векторному слою...
Буду благодарен за помощь и идеи!
Спасибо!
PS: трансформация не обязательно Аффинная...
Re: Трансформация векторного слоя
Добавлено: 11 апр 2013, 06:28
gamm
MalevDV писал(а):Имеется проблема - необходимо векторный слой (пусть будет шейп файл с линейными объектами в неизвестной системе координат) скорректировать по реперным точкам, т.е. произвести действия аналогично растровой привязки файла но к векторному слою...
затаскиваем в R реперные точки. Дальше 2 варианта:
- если это система координат, пробуем определить ее параметры (поищите MSK, статей на эту тему на сайте есть)
- если никаких предположений нет, затаскиваем файл в R через rgdal, координаты будут доступны. Строим преобразование - если оно сильно нелинейное, то сначала вычитаем линейную часть (или проективную - зависит от наших предположений), а потом невязки от нее интерполируем сплайном с конечным носителем (отдельно по X и Y, лучше программами из пакета MBA - чтобы не получить артефактов экстраполяции, заодно подбираем число уровней иерархии, чтобы сгладить шум). Это нужно, чтобы в местах отсутствия данных получить нулевые поправки к линейной части. Дальше преобразуем координаты и сохраняем результат.
Re: Трансформация векторного слоя
Добавлено: 11 апр 2013, 08:15
Denis Rykov
2gamm
Подобный вопрос возникает очень часто и чтобы каждый раз не отвечать - не могли бы вы написать статью по этому вопросу, чтобы всех к ней отсылать? Есть подобный материал по
ArcGIS и
ArcView, но как это сделать в открытом ПО - нет.
Re: Трансформация векторного слоя
Добавлено: 11 апр 2013, 09:17
Александр Мурый
Denis Rykov писал(а):Есть подобный материал по
ArcGIS и
ArcView, но как это сделать в открытом ПО - нет.
Указанные статьи — по привязке векторных данных, а то, что говорил gamm, скорее, по подборке параметров преобразования координат. Т.е. то — практика, а это — аналитика.
Re: Трансформация векторного слоя
Добавлено: 11 апр 2013, 09:42
Дмитрий Барышников
Denis Rykov писал(а):2gamm
Подобный вопрос возникает очень часто и чтобы каждый раз не отвечать - не могли бы вы написать статью по этому вопросу, чтобы всех к ней отсылать? Есть подобный материал по
ArcGIS и
ArcView, но как это сделать в открытом ПО - нет.
http://trac.osgeo.org/gdal/ticket/4604
Между тем уже вышел GDAL 1.10RC1 - ждем релиза!
Re: Трансформация векторного слоя
Добавлено: 11 апр 2013, 09:54
Denis Rykov
Отлично, то есть в 1.10 можно будет получать привязанный вектор с помощью ogr2ogr. Останется добавить к этому какой-нибудь GUI для расстановки точек. Интересно, а как соотносится подход, используемый в GDAL, с теми теоретическими выкладками, что предлагает gamm?
Re: Трансформация векторного слоя
Добавлено: 11 апр 2013, 10:08
Дмитрий Барышников
В случае OGR используется стандартное преобразование, как и для растров (gdalwarp) - GDALCreateGCPTransformer. Это примерно тоже самое что и описал выше gamm. Отличие скорее всего в деталях - форма полинома или сплайна и т.п.
Re: Трансформация векторного слоя
Добавлено: 11 апр 2013, 12:55
gamm
Дмитрий Барышников писал(а):В случае OGR используется стандартное преобразование, как и для растров (gdalwarp) - GDALCreateGCPTransformer. Это примерно тоже самое что и описал выше gamm. Отличие скорее всего в деталях - форма полинома или сплайна и т.п.
нужно смотреть. У меня сильное сомнение, что в GDAL реализованы shrinking splines, которые имеют конечный носитель и не дают артефактов на бесконечности. Скорее всего, там обычные полиномы высокой степени, которыми гордился ERDAS, и которые заворачивают изображение в баранку при экстраполяции
дьявол - он в деталях

Re: Трансформация векторного слоя
Добавлено: 05 янв 2019, 15:35
Striker
Здравствуйте!
Столкнулся с похожей задачей, но не знаю как ее решить в qgis (версия 3.4).
Есть массив участков (полигоны в .shp) которые "лежат" не совсем там где нужно.
Есть уже правильный вариант в акаде.
Я закинул .dxf в qgis, но не нашел инструмента который бы делал смещение с поворотом что бы "подсадить" свой шейп на правильно усаженый dxf.
По факту я ищу в qgis аналог функции aligin или "выровнять", ну или перемещение по 4 точкам как в Gis 6.
Нашел плагин который делает то что я хочу - vector blender (
https://www.youtube.com/watch?v=QxWgezMnUUU), но он на новые версии qgis не стает.
Подскажите как можно решить данную задачу?
Re: Трансформация векторного слоя
Добавлено: 05 янв 2019, 23:45
trir
сделай в AutoCAD
но лучше понять в какой СК исходные данные
Re: Трансформация векторного слоя
Добавлено: 06 янв 2019, 01:38
Striker
trir писал(а): ↑05 янв 2019, 23:45
сделай в AutoCAD
Я хочу понять можно ли это сделать в Qgis и как.
trir писал(а): ↑05 янв 2019, 23:45
но лучше понять в какой СК исходные данные
СК известная - СК63.
Re: Трансформация векторного слоя
Добавлено: 06 янв 2019, 02:47
trir
СК известная
тогда просто создай нужную СК - QGIS сам всё совместит
Re: Трансформация векторного слоя
Добавлено: 06 янв 2019, 11:37
Striker
trir писал(а): ↑06 янв 2019, 02:47
тогда просто создай нужную СК - QGIS сам всё совместит
СК в Qgis создана.
Я наверное не совсем понятно описал ситуацию.
Оба объекта (файл в dxf и shp) в ск63. По факту это вообще два одинаковых массива участков.
Просто тот который в акаде сдвинули на другое место, в той же системе координат, просто сдвинули и немного повернули.
Теперь я хочу массив который в shp точно также сдвинуть и повернуть, что бы он в точности занял такое же положение. Вот как такая команда делается в акаде (
https://www.youtube.com/watch?v=AzCABnBLQFw).
Re: Трансформация векторного слоя
Добавлено: 06 янв 2019, 13:22
trir
просто сдвинули и немного повернули.
тогда это другая СК