Привязка DXF с использованием QGIS? [Дубликат]

14

У меня есть DXF, который построен с единицами в неправильном масштабе. Как мне повысить это в QGIS? Обратите внимание, что он открывается в QGIS, только в неправильных единицах карты и местоположении.

Уилли
источник
Приведенный выше ответ nhopton об использовании плагина qgsAffine сработал только на прошлой неделе. У меня был dxf, который был масштабирован в 1000 раз больше, чем мне хотелось. Я преобразовал dxf в shp со стандартным плагином, затем преобразовал X и Y умножением на .001 в qgsAffine, и проблема была решена. PS Запоздалое спасибо nhopton за совет, который я не получил, пока не закрыли форум QGIS!
терновник
У меня также есть несколько DXF, которые я хочу добавить. Я использовал OpenJump один раз, потому что я не мог сделать математику для плагина QGIS. Однако, в конце концов, мне стало проще сохранить слой SHP с известной проекцией как DXF, открыть его в (бесплатном) QCAD, импортировать DXF, который требовал связывания, и выполнить там все масштабирование, вращение и перемещение DXF. Когда все было готово, я затем сохранил его как DXF и повторно импортировал его в QGIS, где проекция была сохранена, и теперь мой DXF также находился в правильном положении и масштабе. Затем я могу сохранить DXF как SHP.
Мелисса

Ответы:

12

Вы геореферентные растры и аффинные векторы :)

QGIS имеет аффинный плагин (qgsAffine), с помощью которого вы можете масштабировать векторные слои. При необходимости вы также можете применить смещения x и y ко всем вершинам векторного слоя. Я думаю, что вам, вероятно, потребуется преобразовать DXF в шейп-файл, чтобы использовать его (щелкните правой кнопкой мыши слой на панели слоев и выберите «Сохранить как ...»). Применение вращения к векторному слою немного сложнее.

nhopton
источник
1
Вот несколько советов по вращению с помощью qgsAffine: gis.stackexchange.com/q/21696/1872
Майк Т,
Хм, да, я внес свой вклад в эту тему, которая, кажется, не нашла особой пользы. Но в целом я все же предпочитаю подход OpenJump, он вычисляет все семь параметров преобразования и затем применяет их к интересующему вектору. Я думаю, что видел предложение QGIS GSoC о том, чтобы сделать то же самое в QGIS, что было бы полезно.
Ноптон
Да, я вижу, что люди из OpenJump используют, и это намного приятнее!
Майк Т
9

Другой, более интерактивный вариант - это плагин Vector Bender . Это

делает с векторами то, что георефрактеры делают с растром. Эта особенность также известна как «резиновая пленка».

Есть даже видео, демонстрирующее, как это работает: https://vimeo.com/96142479

Подземье
источник
3

Я верю, что это может быть достигнуто в QGIS.
Однако я использую программное обеспечение CAD с моим программным обеспечением ГИС и сделал бы следующее в нем.
В любом случае вам нужна базовая информация о DXF.
1. Вы должны знать единицы измерения dxf.
2. У вас должен быть набор известных точек в dxf. (как минимум 2 балла).

1a. Если исходная система координат (или не система) является идентифицируемой, вам следует преобразовать ее в аналогичную известную систему.
(если чертеж был нарисован только в какой-либо системе, но 0,0 базовая система предполагает некоторый тип равной области.) или alambert или albers (в зависимости от области покрытия [размер])
2a. убедитесь, что все элементы на чертеже отображаются (слои не выключены).
3a. выберите все функции.
4а. переместить все элементы из известной точки в известную точку.
5а. после определения исходного масштаба изменяем размеры всех выделенных объектов опытным путем
6а. вращать все выбранные объекты опытным путем.
Сохраните и / или экспортируйте выбранные объекты с известным CRS.

Брэд Несом
источник
2

Это также можно сделать с помощью GDAL 1.10. В этом подходе используются контрольные точки, и речь идет не только о масштабировании, но и о пространственной привязке (удобно, если dxf потерял всю свою пространственную информацию).

Это делается путем выполнения базового преобразования в ogr2ogr и предоставления контрольных точек в теге -gcp. http://www.gdal.org/ogr2ogr.html

Руководство см. В разделе « Географические ссылки на векторные данные с использованием QGIS».

HeikkiVesanto
источник
2

Я использовал OpenJump один раз, потому что я не мог сделать математику для плагина QGIS. Однако, в конце концов, мне стало проще сохранить слой SHP с известной проекцией как DXF, открыть его в (бесплатном) QCAD, импортировать DXF, который требовал связывания, и выполнить там все масштабирование, вращение и перемещение DXF. Когда все было готово, я затем сохранил его как DXF и повторно импортировал его в QGIS, где проекция была сохранена, и теперь мой DXF также находился в правильном положении и масштабе. Затем я могу сохранить DXF как SHP.

Мелисса
источник
2

Плагин AnotherDXF2Shape содержит модуль геопривязки: введите описание изображения здесь

параметр введите описание изображения здесь

Посредством смещения X и Y может быть достигнуто простое смещение DXF. Это полезно, если исходные координаты были укорочены в CAD / системе.

Мировые файлы для наборов данных САПР

Мировой (.wld) файл - это текстовый файл, содержащий контрольные точки, которые описывают преобразование координат. Всемирный файл может использоваться для расширения свойств чертежа САПР и включения информации о географической привязке. Информация хранится в виде значений координат, которые определяют один или два вектора смещения, называемых ссылками. Данные содержат две или четыре пары координат, организованных в две строки. Каждая строка определяет ссылку смещения, используя следующий синтаксис:. Первая пара координат в каждой строке соответствует исходным координатам, также известным как исходные координаты. Эти значения представляют координаты x, y любой известной контрольной точки на чертеже CAD. Вторая пара координат в каждой строке соответствует координатам назначения, также известным как координаты to. Эти значения представляют новое местоположение в географическом пространстве, как правило, контрольная точка в другом слое объектов. Источник: arcgis.com

Если преобразование координат активировано и плагин находит соответствующий WLD-файл, он автоматически интегрируется и файл DXF преобразуется соответствующим образом. введите описание изображения здесь

Преобразование более 1-4 одинаковых точек

Подобно набору данных CAD, преобразование происходит через идентичные точки. Количество параметров для преобразования зависит от количества заданных точек. Примечание. Вывод остатков для переопределения в настоящее время отсутствует.

Майк
источник
1

Я думаю, что самый быстрый способ - изменить файл DXF (масштабировать и поместить в правильные координаты) с помощью программного обеспечения САПР, а затем загрузить его в QGIS.

Конечно, вы можете перемещать свои функции в QGIS, но вы не можете масштабировать их. Надеюсь это поможет.

Bradypus
источник