Chodzi o to, że zastanawiam się, aby umożliwić automatyczne obliczanie obrotu mapy w programie do tworzenia map. Mam wiele map w jednym pliku z własnymi parametrami projekcji i chciałbym zdefiniować rotację map w kompozytorze map na podstawie formuły projekcji (czy coś innego?)
np. lokalizacja jednej konkretnej mapy w projekcie:
Projekcja jest
W kompozytorze map wygląda granica granicy
I przy wybranym kącie obrotu mapy z ich parametrami projekcji:
Kąt obrotu mapy jest inny dla każdej mapy, w zależności od jej lokalizacji i parametrów projekcji.
Czy można zautomatyzować ten proces i automatycznie obliczyć kąt obrotu mapy, bo nie znajdź tej wartości ręcznie za każdym razem (chciałbym stworzyć uniwersalnego kompozytora dla wszystkich map za pomocą menu generowania atlasu)?
źródło
Odpowiedzi:
Poniżej rozwiązanie znalezione przez @ndawson w komentarzach do pytania. Skomentuj i popraw tę odpowiedź.
Uruchom z przybornika przetwarzania narzędzie Orientowane minimalne obwiednie na siatce obwiedni mapy, której już używasz.
Stworzy warstwę, która powinna być identyczna z twoją oryginalną warstwą. W tabeli atrybutów znajdziesz pole KĄT
Powinieneś być teraz w stanie użyć tego pola KĄTA w kompozytorze, aby wypełnić pole zdefiniowane danymi do obrotu:
Problemem wydaje się być to, że kąt nie zawsze jest łatwy w użyciu, ponieważ zależy od sposobu wykonania początkowych wielokątów. Zrobiłem kilka testów i zależy to od tego, w jaki sposób narysowano wielokąty źródłowe. Może być konieczne dostosowanie wartości atrybutów pola ANGLe odpowiednio:
(czerwony to oryginalne wielokąty, czarny to wielokąty OMBB). Digitalizowałem dla przykładu podobnych wielokątów na dwa różne sposoby (w prawo lub w lewo)
Aby przywrócić wartość kąta do oryginalnej warstwy, można użyć operacji łączenia lokalizacji przestrzennej.
źródło