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.