Przeniesienie wektorów do określonych współrzędnych w QGIS?


Odpowiedzi:


24

Jasne, że tak. Tak jak powiedział Alexander, możesz użyć wtyczki qgsaffine (z instalatora wtyczek)

Góra pierwszej linii wynosi 0,0, a góra drugiej linii to 5,5. Na początku punkty są wzdłuż 0 na X. wprowadź opis zdjęcia tutaj

Za pomocą wtyczki Affine możemy dodać 5 do wszystkich współrzędnych X:

wprowadź opis zdjęcia tutaj

Potem, gdy wszystkie znajdują się w drugiej linii na X 5, Y 5:wprowadź opis zdjęcia tutaj


Z przyjemnością to wypróbowałem, ale po pierwsze interfejs wtyczki wygląda teraz zupełnie inaczej, a po drugie są pewne ograniczenia, ponieważ nie ma możliwości, aby umieścić tam 7500000, podobnie jak standardowa wartość przy użyciu siatki GDA94 lub siatki UTM ...
— Miro

Umm, przesunąłem go najpierw ręcznie za pomocą narzędzia do przenoszenia, jak napisano w drugiej odpowiedzi.
— Miro

„Góra pierwszej linii to 0,0, a góra drugiej linii to 5,5”. jak to możliwe, jeśli obie linie są wyrównane w pionie?
— Rodrigo

7

Jeśli chcesz przenieść je ręcznie, po prostu rozpocznij edycję, wybierz funkcje, które chcesz przenieść, a następnie wybierz narzędzie przenoszenia i przesuń je.

Aby przenieść je o określone przesunięcie x, y, możesz użyć wtyczki Pythona „qgsaffine”.

Nie jestem na bieżąco z używaniem konsoli python, ale prawdopodobnie jest tam również rozwiązanie.


Niestety użycie pamięci QGIS przechodzi przez dach i ulega awarii, chyba że przesuwasz tylko kilka prostych obiektów.
— Damien

6

Wtyczka w zaakceptowanej odpowiedzi nie jest już dostępna. Transformacje afiniczne są dostępne i są bardzo przydatne.

Za pomocą tej wtyczki możesz utworzyć formułę. Na zrzucie ekranu przesunąłem wszystkie komórki o 17.396 (metrów) na północ.

zrzut ekranu głównego ekranu wtyczki


Co oznaczają x 'i y'? Dlaczego pierwsza to domyślnie 1, a druga 0? Dlaczego są dwa z każdego x + i y +? Dlaczego drugi x + jest domyślnie 1, a cała reszta 0?
— Rodrigo

1
x'I y' środki pochodnych xoraz yz oryginalną warstwą wektora. Musisz to przeczytać w ten sposób: derived x= (1.0 * original x) + (0.0 * original y) + 0.0Oznacza to, że nie ma zmiany w kierunku x, stąd 1,0 razy x. Chciałem przesunąć wszystkie komórki w górę (na północ) o 17.396 metrów. Dodałem więc tylko 17.396 do (1 * y). Jeśli nie chcesz w ogóle mieć zmiany, po prostu użyj: x' = (1 * x) + (0 * y) + 0iy' = (0 * x) + (1 * y) + 0
— Gert

Dziękuję Ci! Teraz rozumiem.
— Rodrigo

3

Uważam, że wtyczka „Numeryczna edycja wierzchołków” jest bardzo przydatna do określania nowych współrzędnych dla punktu.

Na edytowalnej warstwie użyj narzędzia, aby wybrać punkt, a następnie zostaniesz poproszony o wprowadzenie nowych współrzędnych.


1

Jest to plugin nazywa movesię w repozytorium kodu .

Przesuwa kształty z punktu A i B i robi to bez komplikacji.

Przesuwa wszystkie wybrane obiekty od punktu do punktu za pomocą przyciągania.


0

W QGIS 3.x wtyczka nie musi już przenosić kształtów wektorowych, ponieważ w Zestawie narzędzi znajduje się procedura o nazwie „Tłumacz” -> Geometria wektorowa. Wystarczy ustawić odległość przesunięcia dla osi xiy i uruchomić ją lub - jak wspomniano powyżej, jeśli wolisz ręczne pozycjonowanie, rozpocznij edycję warstwy, zaznacz wszystkie elementy i przesuń je za pomocą narzędzia „Przenieś funkcję”.

wprowadź opis zdjęcia tutaj

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.