Як оцифрувати будівельні сліди з ортогональними краями?


10

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

Ось зразок карти, з якою я працюю:

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

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

Я маю на меті зробити захоплення слідів будівлі, беручи мій приклад та використовуючи звичайний інструмент багатокутника для захоплення, щось подібне:

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

Хоча це достатньо працює для створення двовимірної векторної карти (EG: для відображення як плитки веб-карти або використання в QGis), це не корисно для експорту як KML, а потім для імпорту в Sketch-up, оскільки все не на 100% квадратних, і що більше надзвичайно важко отримати речі на 100% квадратні.

Як видно з моїх інструментів у QGis, у мене встановлені прямокутники оцифрування та плагіни cad-tools, але це не є корисним для того, що мені потрібно зробити, наприклад, якщо ми візьмемо ортогональний інструмент захоплення полігону:

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

Я можу почати малювати свій перший рядок під потрібним мені кутом, але потім, як тільки натискаю CTRL, щоб отримати речі під прямим кутом та / або квадрат до першого рядка, все піде не так, тому що плагін не робить враховуйте кут повороту будівлі, тобто будь-які додаткові точки відповідають дійсному північному / східному горизонту / вертикалі та 90 градусів до цієї осі.

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

Ідеальний інструмент, схожий на інструмент початківця в ескізі, що ви робите з того, що покладіть початок на один кут, потім витягніть X і Y, які знаходяться на відстані 90 градусів один до одного, поперек спереду лицьовою стороною, вниз лівою стороною, все, що ви потім підключите до цих джерел, або будь-які напрямні, що випливають з нього, автоматично знаходяться на відстані 90 градусів до інших рядків, але з обертанням враховуйте, як потрібно, як ви бачите на наступному зображенні:

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

Захоплення та оцифрування полігонів в ескізі, безумовно, можливо без використання QGis спочатку, але якщо я їх роблю таким чином, я не можу їх георефікувати, вони просто виходять зі стандартними світовими координатами, зосередженими навколо 0,0

Оцифрування їх у QGis проводиться так, щоб розташування в просторі було правильним і відповідало проекції OSGB36.

Ескіз також не підпорядковуватиметься географічним посиланням на фоновій карті, коли я намагаюся імпортувати це, він закріплює нижній лівий на 0,0, а потім просить мене відповідним чином його масштабувати.

Тільки спосіб я знайшов на отримання географічної прив'язки карти в ескіз вгору, якщо я використовую область захоплення від Google інструменту землі. Однак, що стосується SK версії 8 або новішої, то при цьому вона імпортує лише базову фотографію Google Earth Ariel, а не будь-які спеціальні накладки, які ви могли б відображати, тобто якщо я завантажую геореф, він ігнорується, коли я намагаюся зафіксувати геопосилання.

Ескіз V7 та новіші версії не ігнорували спеціальні зображення, але V7 більше не доступний для завантаження, і навіть якщо ви знайдете його копію, вона не буде запущена, оскільки сервер автентифікації більше не буде автентифікувати ключі для неї ... :-(

Остаточне питання

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

Навіть якимось способом надання зручної сітки, де я міг би принаймні вирівняти точки до будівельних кутів, було б вдосконаленням.

Якщо ні, то, схоже, мені доведеться вивчити додаток QGis api і написати власний плагін.


Існує відеоурок для відповіді Шоуті: youtube.com/watch?v=QsjmLa16obs PS - я залишаю це як відповідь, оскільки мені не вистачає репутації, щоб залишити коментар. PPS - Хтось вирішив останнє питання?
МОЛОДИЙ

Випуск Last Point - це вже не проблема, в останніх версіях QGis автоматично починається автоматичне оснащення, ви повинні використовувати лише плагін-версію зараз, якщо у вас справді стара версія складання QGis.
shawty

Відповіді:


20

Я ще використовував версію 2.2.0, коли публікував це запитання, після цього я перейшов до версії 2.8.1.

Далі - трохи підручник для тих людей, які, можливо, хочуть вирішити ту саму проблему.

Рішення для мене було в плагін називається cadinput по Олівер Dlang , я встановив це досить тривалого час назад, але ніколи не дивився на те , що він зробив.

Потім я натрапив на цю документацію:

https://github.com/olivierdalang/CadInput

і відео про нього на Vimeo.

https://vimeo.com/85052231

Замислюючись, де я можу знайти плагін, я заглянув у свій менеджер плагінів, лише виявив, що у мене його вже встановлено, тому я взявся навчитися ним користуватися. Пізніше я з'ясував, що з версії 2.8.0 вбудованих служб QGis цей модуль фактично вбудований в ядро ​​під передовими інструментами оцифрування.

Як використовувати Cad Input

Документація насправді не вкладається в будь-які деталі, і до коментарів до відео немає коментарів, по суті, все це зводиться до наступних клавіш швидкого доступу:

  • A: кут
  • D: відстань
  • X: x координата
  • Y: y координата
  • Поєднайте ті, що мають "shift", щоб переключити абсолютний / відносний режим
  • Поєднайте ті, які мають "alt" або "ctrl", щоб переключити заблокований режим.
  • C: режим побудови
  • P: паралельно / перпендикулярно відрізку
  • ESC: розблокуйте всі заблоковані параметри

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

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

Після того, як ви перебуваєте в режимі редагування, натисніть на значок додавання нової функції (знову стандартний матеріал), а потім знайдіть і активуйте або вдосконалені засоби оцифрування, або плагін cad-input (піктограма однакова для обох)

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

Він схожий на набір квадратів з лінійкою за ним.

Тут є слово попередження, якщо ви використовуєте новіший QGis, не встановлюйте плагін Cad-Input. Я виявив, що із встановленим плагіном та версією QGis, що включає вбудовану версію, клавіші швидкого доступу перестали працювати.

Щойно я видалив клавіші швидкого доступу, знову почав працювати, і вони є ключем до ефективного використання цього інструменту.

Після активації інструмента для введення кадрів слід виявити, що у вас є панель, яка виглядає наступним чином:

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

(Я намалював на ньому кілька важливих моментів ...)

  • У вас є основна кнопка включення / відключення (червоний прямокутник)
  • Кнопка режиму побудови (зелений прямокутник)
  • Кнопки паралельного та перпендикулярного режиму (синій прямокутник)

Дивлячись на клавіші швидкого доступу, C вмикає / вимикає кнопку режиму побудови, P перемикає кнопки паралельного режиму, один раз натискає її, щоб отримати перпендикуляр, два рази натискає, щоб вибрати паралельні лінії.

Я не збираюся повністю входити в паралельні режими тут, тому що єдиним, яким я користувався, було кутове блокування.

Якщо увімкнено новий інструмент функції та ввімкнено розширену оцифровку, намалюйте перші дві точки прямокутника уздовж одного краю функції, яку ви хочете оцифрувати.

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

Коли ви отримаєте другу точку, ви побачите, що з кінця створеної вами лінії виступає тонка зелена будівельна лінія.

Це будівельна лінія для передових інструментів оцифрування. Якщо ви пересунете мишу вниз, щоб виконати друге обличчя, ви повинні виявити, що ваш cad-вхід почне показувати кут вашого переміщення.

Саме в цей момент дещо відрізняється між двома версіями.

У вбудованій версії за замовчуванням інструмент автоматично оснаститься під кутом 90 градусів (Хоча ви можете змінити це в параметрах), якщо це станеться, ви побачите наступне:

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

Помічаєте синю лінію під прямим кутом до яскраво-зеленої?

На панелі оцифрування ви побачите, що кут повинен бути 90 градусів. Якщо ви використовуєте плагін-версію, ви не побачите цієї синьої лінії, але все ж слід натиснути ctrl + a, щоб зафіксувати кут на панелі збору.

У версії плагіна, якщо натиснути ctrl + a рівним кутом, який не дорівнює 90 градусам, ви побачите, що ви можете навести курсор миші на панель і ввести 90 вручну, не впливаючи на процес оцифрування, отримуючи 90 у коробка та її блокування - це те, що робить решту процесу простою.

Продовжуйте додавати точки в кутах вашої будівлі, пам’ятаючи, що натискаєте ctrl + a після кожної точки, яку ви додаєте, це забезпечить, щоб ваша наступна точка завжди була намальована на 90 градусів до попередньої.

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

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

Також в інструментах є багато функціональних можливостей, але тут немає місця для того, щоб це все документувати.

Але остаточний перегляд у 100 футів:

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

Не обійшлося б без цього.


+1 Я подам це подалі на потім. Будучи дуже корисним для ярликів ArcMap, які дозволять досягти цих дій, але бажаючи працювати більш незалежно від ESRI, це буде дуже корисно в майбутньому. Дякую!
mr.adam

Сподіваюся, ви знайдете це таким же корисним, як і я :-) Якщо я знайду час, я напишу міні-посібник щодо використання інших інструментів, як тільки я їх освоїти.
похмурий

"вирівняти його вручну (на жаль, інструмент тут не допомагає.)" Ось де вдосконалена оцифровка в QGIS. Бути в змозі намалювати простий прямокутник без необхідності створювати будівельні лінії було б непогано.
Демієн

??? Ви можете :-) Просто вимкніть будівельні лінії на панелі, що використовується для керування розширеною оцифровкою. Клавіша "C", я вважаю, дозволяє зробити це з клавіатури. Однак, якщо говорити, для таких речей, як прості прямокутники та кола, я використовую плагін-додаток під назвою "Оцифрування прямокутників овалів", який дозволяє мені робити прямокутники, перпендикулярні за допомогою 3-х точок, і кола з центрів. Також якщо ви розумієте системи CAD, такі як autodesk (я дуже використовую Map3D), ви також можете поглянути на "CADDigitize" та "Digitizing tools".
shawty

2

Ви можете досягти своїх результатів за допомогою комбінації інструментів та плагінів. Це не ідеально, але буде працювати

  • Використовуйте плагін "Прямокутники овалів оцифрування" для створення прямокутників.
  • Використовуйте інструменти "Розширена оцифровка" для обертання прямокутників. Точний робочий процес див. У кроці 29 далі цього підручника .
  • Використовуйте інструмент "Ортогональна оцифрування" з плагіна CAD Tools, щоб намалювати багатокутники, які, можливо, доведеться вирізати з прямокутників.
  • Використовуйте інструмент "Розділити функції" вдосконаленої оцифрування, щоб розділити прямокутник і видалити небажану частину.

Це громіздкий робочий процес, але я думаю, він повинен працювати для ваших потреб.


Гаразд, ось ось низький рівень :-) Минув тиждень, але я дізнався кілька речей, про які я тоді не знав про QGis. Але я мушу сказати, що саме ваша відповідь спонукала мене почати думати про використання інструментів різними способами, а тим більше вивчити інструменти / плагіни, які я встановив, але ніколи не намагався спробувати. Зараз у мене є відповідь, що я збираюся документувати себе. Дякую, проте, що дав мені початковий поштовх, але, зрештою, так, це було занадто громіздко.
shawty

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