Jak digitalizować ślady budynków za pomocą krawędzi ortogonalnych?


10

Korzystając z QGIS, próbuję digitalizować starą mapę rastrową, a ponieważ ostatecznie chcę załadować te warstwy 2D do szkicu, aby przekształcić je w modele 3D, potrzebuję wszystkiego, co jest kwadratowe.

Oto przykład mapy, z którą pracuję:

wprowadź opis zdjęcia tutaj

Zielone linie, które widzisz, to warstwa wektorowa torów kolejowych, które już zdigitalizowałem za pomocą geometrii linii, reszta to warstwa oparta na rastrze, do której poprawnie się odnalazłem i stanowi tło za każdą warstwą.

To, co zamierzam zrobić, to uchwycić ślady budynku, biorąc mój przykład i używając normalnego narzędzia do przechwytywania wielokąta, coś takiego:

wprowadź opis zdjęcia tutaj

Chociaż działa to wystarczająco dobrze, aby utworzyć mapę wektorową 2D (EG: do wyświetlania jako kafelki mapy internetowej lub użycie w QGis), nie jest to dobre do eksportowania jako KML, a następnie importowania do Sketch-up, ponieważ wszystko nie jest w 100% kwadratowe, i co jest co więcej, niezwykle trudno jest zdobyć rzeczy w 100% kwadratowe.

Jak widać z moich narzędzi w QGis, mam zainstalowane digitalizujące prostokąty i wtyczki cad-tools, ale nie nadają się one do tego, co muszę zrobić, na przykład jeśli weźmiemy narzędzie do przechwytywania wielokątów prostokątnych:

wprowadź opis zdjęcia tutaj

Mogę zacząć rysować moją pierwszą linię pod kątem, którego potrzebuję, ale potem, jak tylko naciskam CTRL, aby uzyskać rzeczy pod kątem prostym i / lub kwadrat do pierwszej linii, wszystko idzie źle, ponieważ wtyczka nie weź pod uwagę kąt obrotu budynku, co oznacza, że ​​wszelkie dodatkowe punkty są prawdziwe przez dedykowane północ / wschód poziomo / pionowo i 90 stopni do tych osi.

Jeśli budynek, który próbuję wyśledzić, znajduje się na tej osi, to nie ma problemu, wszystko jest idealne, ale wielu z nich nie ma, są pod różnymi kątami wokół kompleksu (to duża strona fabryki, którą digitalizuję)

Idealne narzędzie, byłoby podobne do narzędzia początkowego w szkicu, to, co robisz, to umieszczenie początku początku w jednym rogu, a następnie rozciągnij X i Y, które są pod kątem 90 stopni względem siebie, jeden z przodu twarz, jedna w dół lewej twarzy, wszystko, co następnie przyciągniesz do tych początków, lub wszelkie wyprowadzone z niej prowadnice są automatycznie pod kątem 90 stopni w stosunku do innych linii, ale z uwzględnieniem rotacji uwzględnianej w razie potrzeby, jak widać na następnym obrazie:

wprowadź opis zdjęcia tutaj

Przechwytywanie i digitalizacja wielokątów w szkicowaniu jest z pewnością możliwe bez uprzedniego użycia QGis, ale jeśli zrobię to w ten sposób, nie będę mógł je georefować, po prostu wyjdą ze standardowymi współrzędnymi świata wyśrodkowanymi wokół 0,0

Digitalizacja ich w QGis odbywa się tak, aby lokalizacja w przestrzeni była poprawna i zgodna z projekcją OSGB36.

Szkicowanie również nie będzie zgodne z odniesieniami geograficznymi na mapie tła, kiedy spróbuję je zaimportować, zakotwicza dolne lewe położenie na 0,0, a następnie prosi mnie o odpowiednie skalowanie.

Tylko sposób znalazłem na uzyskanie mapy geo-odniesienie do szkicu-up jest w przypadku korzystania z obszaru przechwytywania z narzędzia Google Earth. Jednak od wersji SK 8 lub nowszej importuje tylko podstawową fotografię Ariel Google Earth, a nie niestandardowe nakładki, które mogłeś wyświetlić, co oznacza, że ​​jeśli załaduję georef, zostanie on zignorowany, gdy spróbuję przechwycić lokalizacja z odniesieniem geograficznym.

Szkicowanie w wersji 7 i niższej nie ignorowało niestandardowych zdjęć, ale wersja 7 nie jest już dostępna do pobrania, a nawet jeśli znajdziesz kopię, nie będzie działać, ponieważ serwer autoryzacji nie będzie już dla niej uwierzytelniał kluczy: :(

Ostateczne pytanie

Zasadniczo pytam, czy ktoś wie o wtyczce do QGis, która daje mi podobną funkcjonalność do tej w szkicowaniu, a jeśli nie, to ktoś może zaproponować sposób (lub przepływ pracy), który pozwoliłby mi przechwycić budynek ślady stóp, jednocześnie utrzymując krawędzie prostopadłe względem siebie, ale bez blokowania poziomego i pionowego, tak jak obecne narzędzia.

Nawet w jakiś sposób zapewnienie siatki z zatrzaskiem, w której mógłbym przynajmniej wyrównać punkty do budowania narożników, byłoby ulepszeniem.

Jeśli nie, wygląda na to, że będę musiał nauczyć się interfejsu API wtyczki QGis i napisać własną wtyczkę.


Samouczek wideo z odpowiedzią Shawty'ego : youtube.com/watch?v=QsjmLa16obs PS - Pozostawiam to jako odpowiedź, ponieważ nie mam wystarczającej reputacji, aby zostawić komentarz. PPS - Czy ktoś rozwiązał ostatni problem punktowy?
MŁODY

Kwestia Last Point nie jest już problemem, w najnowszych wersjach QGis, automatyczne przyciąganie uruchamia się, powinieneś używać wersji wtyczki tylko teraz, jeśli masz naprawdę starą wersję QGis.
shawty

Odpowiedzi:


20

Nadal używałem wersji 2.2.0, kiedy opublikowałem to pytanie, od czasu aktualizacji do wersji 2.8.1.

Poniżej znajduje się tutorial dla tych, którzy mogą chcieć rozwiązać ten sam problem.

Rozwiązaniem dla mnie była wtyczka o nazwie cadinput autorstwa Olivera Dlanga , którą zainstalowałem już jakiś czas temu, ale nigdy tak naprawdę nie sprawdziłem, co to zrobiło.

Potem natknąłem się na tę dokumentację:

https://github.com/olivierdalang/CadInput

i wideo na ten temat na Vimeo.

https://vimeo.com/85052231

Zastanawiając się, gdzie mogę znaleźć wtyczkę, zajrzałem do menedżera wtyczek, ale okazało się, że już ją zainstalowałem, więc zacząłem się uczyć, jak z niej korzystać. Później dowiedziałem się, że od wersji 2.8.0 wbudowanych QGis ta wtyczka jest faktycznie wbudowana w rdzeń pod zaawansowanymi narzędziami do digitalizacji.

Jak korzystać z wejścia Cad

Dokumentacja tak naprawdę nie zawiera żadnych szczegółów i nie ma komentarza do filmu, w zasadzie wszystko sprowadza się do następujących klawiszy skrótu:

  • Odp .: kąt
  • D: odległość
  • Współrzędna X: x
  • Współrzędna Y: y
  • Połącz te z „shift”, aby przełączyć tryb absolutny / względny
  • Połącz te z „alt” lub „ctrl”, aby przełączyć tryb zablokowany.
  • C: tryb budowy
  • P: równoległy / prostopadły do ​​segmentu
  • ESC: odblokuj wszystkie zablokowane parametry

Wybierz funkcję, którą chcesz zdigitalizować, i jak zwykle przełóż warstwę do trybu edycji, w moim przypadku to właśnie digitalizuję.

wprowadź opis zdjęcia tutaj

Po przejściu do trybu edycji kliknij ikonę dodawania nowej funkcji (ponownie standardowe elementy), a następnie poszukaj i aktywuj zaawansowane narzędzia do digitalizacji lub wtyczkę cad-input (ikona jest taka sama dla obu z nich)

wprowadź opis zdjęcia tutaj

Wygląda jak ustawiony kwadrat z linijką za nim.

Słowo ostrzeżenia tutaj, jeśli używasz nowszej wersji QGis, nie instaluj wtyczki Cad-Input. Odkryłem, że po zainstalowaniu wtyczki i wersji QGis, która zawiera wersję wbudowaną, klawisze skrótów przestały działać.

Po odinstalowaniu wtyczki klawisze skrótów znów zaczęły działać i są kluczem do skutecznego korzystania z tego narzędzia.

Po aktywowaniu narzędzia do wprowadzania cad powinieneś znaleźć panel, który wygląda następująco:

wprowadź opis zdjęcia tutaj

(Narysowałem na nim kilka wyróżnień ...)

  • Masz główny przycisk włączania / wyłączania (czerwony prostokąt)
  • Przycisk trybu budowy (zielony prostokąt)
  • Przyciski trybu równoległego i prostopadłego (niebieski prostokąt)

Patrząc na klawisze skrótów, C włącza / wyłącza przycisk trybu budowy, P przełącza przyciski trybu równoległego, naciśnij go raz, aby uzyskać prostopadłość, naciśnij dwa razy, aby wybrać linie równoległe.

Nie zamierzam wchodzić tutaj w pełni w tryby równoległe, ponieważ jedynym, którego użyłem, była blokada kątowa.

Przy aktywnym nowym narzędziu funkcji i włączonej zaawansowanej digitalizacji narysuj dwa pierwsze punkty prostokąta wzdłuż jednej krawędzi funkcji, którą chcesz zdigitalizować.

wprowadź opis zdjęcia tutaj

Gdy klikniesz drugi punkt, zobaczysz, że cienka zielona linia konstrukcyjna wystaje z końca utworzonej linii.

Jest to linia konstrukcyjna dla zaawansowanych narzędzi do digitalizacji. Jeśli przesuniesz mysz w dół, aby zrobić drugą twarz, powinieneś zauważyć, że wejście cad zacznie pokazywać kąt, pod którym się poruszasz.

W tym momencie istnieje różnica między dwiema wersjami.

W wersji wbudowanej narzędzie domyślnie automatycznie przyciąga do kątów 90 stopni (chociaż można to zmienić w opcjach), jeśli tak się stanie, zobaczysz następujące informacje:

wprowadź opis zdjęcia tutaj

Czy zauważysz niebieską linię pod kątem prostym do jasnozielonej?

W panelu digitalizacji zobaczysz, że kąt powinien wynosić 90 stopni. Jeśli korzystasz z wersji wtyczki, nie zobaczysz tej niebieskiej linii, ale nadal powinieneś nacisnąć ctrl + a, aby zablokować kąt w panelu opłat.

W wersji wtyczki, jeśli naciśniesz ctrl + a nawet pod kątem, który nie jest 90 stopni, przekonasz się, że możesz najechać myszką na panel i wpisać 90 ręcznie bez wpływu na proces digitalizacji, uzyskując 90 w i zamknięcie go, co sprawia, że ​​reszta procesu jest prosta.

Kontynuuj dodawanie punktów w rogach budynku, pamiętając, aby nacisnąć ctrl + a po każdym dodanym punkcie, dzięki temu twój następny punkt będzie zawsze rysowany pod kątem 90 stopni w stosunku do poprzedniego.

wprowadź opis zdjęcia tutaj

Gdy dojdziesz do ostatniego punktu, ustaw go ręcznie (niestety narzędzie tutaj nie ma pomocy ..) kliknij, aby dodać ostatni punkt, a następnie kliknij prawym przyciskiem myszy, aby zamknąć wielokąt w zwykły sposób.

W narzędziach jest też o wiele więcej funkcji, ale tutaj nie ma miejsca na dokumentowanie tego wszystkiego.

Mój końcowy widok 100 stóp:

wprowadź opis zdjęcia tutaj

Bez niego nie byłoby to możliwe.


+1 Zamierzam to zapisać na później. Będąc bardzo przyzwyczajonym do skrótów ArcMap, które osiągną te cele, ale chcąc działać bardziej niezależnie od ESRI, będzie to bardzo przydatne w przyszłości. Dzięki!
mr.adam

Mam nadzieję, że okaże się tak przydatny jak ja :-) Jeśli będę mieć czas, napiszę mini tut na temat używania innych narzędzi, gdy tylko je opanuję.
shawty

„wyrównaj to ręcznie (niestety narzędzie nie ma tu żadnej pomocy ...)” To właśnie na tym polega zaawansowana digitalizacja w QGIS. Byłoby miło narysować prosty prostokąt bez konieczności tworzenia linii konstrukcyjnych.
Damien

??? Możesz :-) Wystarczy wyłączyć linie konstrukcyjne w panelu używanym do sterowania zaawansowaną digitalizacją. Uważam, że klawisz „C” pozwala to zrobić z klawiatury. Jednak powiedziawszy, do takich rzeczy jak proste prostokąty i okręgi, używam dodatkowej wtyczki o nazwie „Prostokąty owalne digitalizujące”, która pozwala mi robić prostokąty, które są prostopadłe przy użyciu 3 punktów i bardzo łatwo okręgi od centrów. Również, jeśli rozumiesz systemy CAD, takie jak Autodesk (często używam Map3D), możesz również rzucić okiem na „CADDigitize” i „Narzędzia digitalizacji”.
shawty

2

Możesz osiągnąć swoje wyniki dzięki kombinacji narzędzi i wtyczek. To nie jest idealne, ale zadziała

  • Użyj wtyczki „Rectangles Ovals Digitizing”, aby utworzyć prostokąty.
  • Użyj narzędzi „Zaawansowana digitalizacja”, aby obrócić prostokąty. Dokładny przepływ pracy znajduje się w kroku 29 tego samouczka .
  • Użyj narzędzia „Ortogonalna digitalizacja” z wtyczki CAD Tools, aby narysować wielokąty, które możesz wyciąć z prostokątów.
  • Użyj narzędzia „Podziel funkcje” zaawansowanej digitalizacji, aby podzielić prostokąt i usunąć niechcianą część.

Jest to uciążliwy proces roboczy, ale myślę, że powinien on działać zgodnie z Twoimi potrzebami.


Ok, więc tutaj jest dół :-) Zajęło mi to tydzień, ale nauczyłem się kilku rzeczy, których nie wiedziałem o QGis w tym czasie. Muszę jednak powiedzieć, że to była twoja odpowiedź, która skłoniła mnie do myślenia o używaniu narzędzi na różne sposoby, a tym bardziej o eksplorowaniu narzędzi / wtyczek, które zainstalowałem, ale nigdy nie próbowałem. Mam teraz odpowiedź, którą sam udokumentuję. Dziękuję jednak, że dałeś mi pierwsze kroki, ale ostatecznie tak, to było trochę zbyt kłopotliwe.
shawty

Dziękujemy za szczegółowe zgłoszenie rozwiązania. Nauczyłem się czegoś nowego!
przemyślenia przestrzenne
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.