Czy istnieje sposób w QGIS, aby zapobiec nakładaniu się etykiet tekstowych na ikony stosowane do oznaczania warstwy punktowej?
Na poniższej przykładowej mapie są dwie warstwy:
- Warstwa dróg, która jest oznakowana przy użyciu nowego silnika do etykietowania.
- Warstwa punktowa, która wykorzystuje ikony svg do wyświetlania tarcz autostrady.
Mam do tego inne zastosowania, takie jak zapobieganie nakładaniu się ikon stacji kolejowej. W tym przykładzie mógłbym po prostu przenieść punkt, jednak w innych przypadkach, takich jak stacja metra, nie jest to realne rozwiązanie.
Możliwe rozwiązanie, które rozważam, obejmowałoby:
- Dodanie kolumny do pliku dbf warstwy punktowej.
- Wypełnianie dodanej kolumny wartością Null lub spacją.
- Włączanie etykietowania [nowego stylu] QGIS dla dodanej kolumny.
Czy to jest dobra droga, czy jest lepsza metoda?
Informacje QGIS: Używam wersji 1.7.4 i ostatnio skompilowanej wersji 1.8 w systemie Mac OS 10.7.4. Dostępne są również wersje dla systemów Linux i Windows.
Aktualizacja postępów : Metoda opisana powyżej działa, chociaż wymagane są dwie modyfikacje procesu.
- Zamiast używać znaku spacji lub wartości Null , należy użyć spacji niełamliwej . Podczas testowania znalazłem, pola z Null nie są renderowane, a pola z tylko spacjami są konwertowane na Null . (Zobacz tę stronę Wikipedii, aby uzyskać informacje na temat wpisywania spacji niełamliwych ).
- Podczas ustawiania ustawień etykietowania warstw na karcie Zaawansowane ustaw opcję Umieszczenie na Over Point . Ustaw także Priorytet tak, aby był wyższy niż jakiekolwiek inne warstwy z etykietami.
W zależności od rozmiaru użytej ikony może być konieczne przeprowadzenie pewnych eksperymentów, aby wszystko działało zgodnie z oczekiwaniami. W zależności od okoliczności może być łatwiej używać wielu znaków, niż próbować zwiększyć wagę i / lub rozmiar czcionki.
Testowane z QGIS 1.7 i niedawno skompilowanym 1.8 na Mac OS 10.7.4.
Odpowiedzi:
Najlepsze spójne rozwiązanie, jakie do tej pory mam, jest zgodne z tym, co przedstawiłem powyżej. Zakładając, że plik SHP jest używany, kroki są następujące:
źródło
Wiem, że to stare, ale możesz dodać kolumnę „Współrzędna X” i „Współrzędna Y” (podwójna precyzja) do tabeli, która zawiera te informacje, a następnie przejść do karty „Ustawienia danych zdefiniowanych” w obszarze Etykiety we właściwościach warstwy i zmienić Współrzędna X i współrzędna Y odpowiednio. Po wykonaniu tej czynności możesz przenieść etykietę odręcznie za pomocą przycisku Przenieś etykietę.
źródło
Właśnie opublikowałem kolejną odpowiedź na podobny problem. Podejście wykorzystuje symbole svg zamiast warstw i wykorzystuje przesłonięcie danych, aby ustawić ścieżkę do odrębnego symbolu svg dla każdej wartości atrybutu, cp. moja odpowiedź na symbole powyżej etykiet w mapie QGIS
źródło
Możesz eksperymentować z przesunięciem etykiety.
Uważam, że pozwala to na bardziej dynamiczne pozycjonowanie etykiet, jeśli ustawię je na około 2 mm.
źródło