Геореференція DXF за допомогою QGIS? [дублікат]


14

Я отримав собі dxf, який побудований з одиницями в неправильному масштабі. Як я можу підвищити це в QGIS? Зверніть увагу, він відкривається в QGIS, лише в неправильних одиницях карти та розташуванні.


Відповідь nhopton вище щодо використання плагіна qgsAffine працював на мене лише минулого тижня. У мене був dxf, який масштабував 1000x, CRS, який я хотів. Я перетворив 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 у файл форми, щоб його використовувати, хоча (клацніть правою кнопкою миші на шарі на панелі шарів та перейдіть «Зберегти як ...»). Застосувати обертання до векторного шару трохи складніше.


1
Ось кілька порад щодо обертання за допомогою qgsAffine: gis.stackexchange.com/q/21696/1872
Mike T

Так, я зробив внесок у цю тему, яка, схоже, не знайшла великої прихильності. Але на баланс я все ще віддаю перевагу підходу OpenJump, він обчислює всі сім параметрів трансформації, а потім застосовує їх до цікавого вектора. Я думаю, що я побачив пропозицію QGIS GSoC зробити те саме в QGIS, що було б корисно.
nhopton

Так, я бачу, що використовують люди OpenJump, і це набагато стрункіше!
Майк Т

9

Ще один - більш інтерактивний - варіант - плагін Vector Bender . Це

робить для векторів те, що робить геореферент растровим. Ця особливість також відома як "гумові покриття".

Існує навіть відеодемонстрація того, як це працює: https://vimeo.com/96142479


3

Я вважаю, що це може бути досягнуто в QGIS.
Однак я використовую програмне забезпечення cad разом із моїм програмним забезпеченням gis і в ньому робитиму наступне.
У будь-якому випадку вам потрібна основна інформація про dxf.
1. Ви повинні знати одиниці dxf.
2. У dxf ви повинні мати набір відомих точок. (як мінімум у 2 бали).

1а. Якщо оригінальну систему координат (або несистему) можна ідентифікувати, то вам слід перетворити її на подібну відому систему.
(якщо креслення було тільки намальовано в будь-якій системі, але база 0,0 системи передбачає певний тип рівних площ.) або аламберт або альбер (залежно від площі покриття [розмір])
2a. переконайтеся, що всі елементи на кресленні відображаються (жодні шари не вимкнено).
3а. виберіть усі функції.
4а. перемістити всі функції з відомої точки до відомої точки.
5а. після визначення вихідної шкали емпірично змініть всі вибрані об'єкти
6а. обертати всі вибрані об'єкти емпіричним шляхом.
Збережіть та / або експортуйте вибрані об'єкти за допомогою відомої CRS.


2

Це також можна зробити за допомогою GDAL 1.10. У підході використовуються контрольні точки і менше стосується просто масштабування, але повного на геореференції (зручно, якщо dxf втратив всю свою просторову інформацію).

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

Для ознайомлення див.: Геореференційні векторні дані за допомогою QGIS


2

Я використовував OpenJump один раз, тому що не міг зробити математику для плагіну QGIS. Однак, врешті-решт, мені стало легше зберегти мій шар SHP з відомою проекцією як DXF, відкрити це у (вільному) QCAD, імпортувати DXF, який потребував афішування, і зробити все масштабування, обертання та переміщення DXF туди. Коли все було на місці, тоді я зберег його як DXF і повторно імпортував його в QGIS, де проекція зберігалася, і мій DXF тепер також був встановлений у правильному положенні та масштабі. Тоді я міг би зберегти DXF як SHP.


2

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

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

За допомогою зміщення X і Y можна досягти простого переміщення DXF. Це yB корисно, коли вихідні координати були скорочені в САПР / системі.

Світові файли для наборів даних CAD

Світовий (.wld) файл - це текстовий файл, що містить контрольні точки, що описують перетворення координат. Світовий файл може бути використаний для розширення властивостей малюнка CAD для включення геореференційної інформації. Інформація зберігається у вигляді значень координат, які визначають один або два вектори переміщення, які називаються посиланнями. Дані містять дві або чотири пари координат, організованих у два ряди. Кожен рядок визначає посилання зміщення, використовуючи наступний синтаксис:. Перша пара координат у кожному рядку відповідає вихідним координатам, також відомим як координати. Ці значення представляють розташування x, y будь-якої відомої контрольної точки на кресленні CAD. Друга пара координат у кожному рядку відповідає координатам призначення, також відомим як координати призначення. Ці значення представляють нове місце в географічному просторі, зазвичай опорна точка в іншому функціональному шарі. Джерело: arcgis.com

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

Перетворення на 1-4 однакових точок

Подібно до набору даних CAD, перетворення відбувається через однакові точки. Кількість параметрів перетворення залежить від кількості заданих точок. Примітка: Вихід залишків для надвизначення наразі немає.


1

Я думаю, що найшвидший спосіб - це змінити файл DXF (масштаб і розмістити в правильних координатах) за допомогою програмного забезпечення CAD, а потім завантажити його в QGIS.

Ви, звичайно, можете переміщувати свої функції в QGIS, але не можете їх масштабувати. Сподіваюсь, це допомагає.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.