Offsetpolyline

Z UMP

(Różnice między wersjami)
d (Offsetpolyline - skrypt)
(opis problemów, które mogą się pojawić przy korzystaniu ze skryptu)
Linia 20: Linia 20:
* '''typszlaku''' - definicja linii jaka używana jest do rysowania - jest opisana w tablicy w pliku - wystarczy skopiować
* '''typszlaku''' - definicja linii jaka używana jest do rysowania - jest opisana w tablicy w pliku - wystarczy skopiować
* '''plikObiektu''' - nazwa pliku w jakim domyślnie ma się znaleźć nowy obiekt - mając własny skrypt definiujemy statycznie plik, który będzie domyślnym celem.
* '''plikObiektu''' - nazwa pliku w jakim domyślnie ma się znaleźć nowy obiekt - mając własny skrypt definiujemy statycznie plik, który będzie domyślnym celem.
 +
 +
=== Problemy ===
 +
 +
Rysując szlaki lub cokolwiek innego równoległego wobec innej linii (można sobie wyobrazić narysowanie drugiej nitki jezdni w ten sposób) należy pamiętać o:
 +
* jeżeli szlak ma biec wzdłuż wielu dróg - zaznaczmy wiele dróg z Ctrl - kolejno, tak jak będzie szlak biegł i na tak zaznaczonej grupie obiektów uruchamiamy skrypt - pozostaje docięcie końców zgodnie z potrzebami
 +
* czasami na łączeniach dróg (na wysokości łączenia) skrypt stawia dwa węzły obok siebie - do usunięcia od razu lub po sprawdzeniu błędów
 +
* jeżeli szlak biegnie pętlami, a drogi biegną dalej - skrypt może fragmentu nie narysować - wtedy pozostaje zaznaczenie tylko tej drogi, użycie na niej skryptu, później docięcie i wykonanie '''Merge'''
 +
* wszystkie zaznaczone linie muszą być ze sobą połączone, tzn. mieć wspólne węzły - brak wspólnych węzłów będzie skutkował komunikatem o błędzie
 +
* '''z lewej''' lub '''z prawej''' zależy od zwrotu danej jezdni (kierunku), dlatego warto mieć pod ręką skrypt +n i -n by w razie potrzeby narysować szlak z drugiej strony i zbędny usunąć
Autorem skryptu jest '''aligeza'''.
Autorem skryptu jest '''aligeza'''.

Wersja z dnia 11:38, 29 maj 2012

Offsetpolyline - skrypt

Narzędzie skryptowe do rysowania linii przesuniętej wobec innej linii o zdefiniowaną odległość (offset, przesunięcie) w wybranym kierunku. Do czego można użyć skryptu? Do rysowania szlaków. Są dwie szkoły rysowania, skrypt obie szkoły, gdy dla wariantu szlak po drodze trzeba zdefiniować przesunięcie równe 0 (zero), a dla wariantu szlak obok drogi offset -5 lub +5.

Skrypt znajduje się domyślnie w katalogu .\narzedzia\lua\ jako offsetpolyline.lua. Najlepiej chyba przygotować skrypt dla "swojego" obszaru i umieścić go w katalogu poza drzewem katalogów w ramach UMP, np. w obrębie katalogów MapEdit. Skrypt warto trzymać w wariantach: 0, -5, +5, -10, +10.

Skrypt działa bardzo sprawnie. Trzeba tylko na początku i na końcu dociąć zgodnie z potrzebami oraz wyedytować właściwości - typ szlaku oraz plik źródłowy. Można też skorzystać z POI oznaczających początek/koniec szlaku pieszego lub rowerowego (0x670x - SZLAK_x lub ROWER_x - na stronie Co-czym).

Parametry skryptu

Parametry są w samym pliku i są to:

  • offsetMeter - przesunięcie wobec drogi zaznaczonej w metrach
  • typszlaku - definicja linii jaka używana jest do rysowania - jest opisana w tablicy w pliku - wystarczy skopiować
  • plikObiektu - nazwa pliku w jakim domyślnie ma się znaleźć nowy obiekt - mając własny skrypt definiujemy statycznie plik, który będzie domyślnym celem.

Problemy

Rysując szlaki lub cokolwiek innego równoległego wobec innej linii (można sobie wyobrazić narysowanie drugiej nitki jezdni w ten sposób) należy pamiętać o:

  • jeżeli szlak ma biec wzdłuż wielu dróg - zaznaczmy wiele dróg z Ctrl - kolejno, tak jak będzie szlak biegł i na tak zaznaczonej grupie obiektów uruchamiamy skrypt - pozostaje docięcie końców zgodnie z potrzebami
  • czasami na łączeniach dróg (na wysokości łączenia) skrypt stawia dwa węzły obok siebie - do usunięcia od razu lub po sprawdzeniu błędów
  • jeżeli szlak biegnie pętlami, a drogi biegną dalej - skrypt może fragmentu nie narysować - wtedy pozostaje zaznaczenie tylko tej drogi, użycie na niej skryptu, później docięcie i wykonanie Merge
  • wszystkie zaznaczone linie muszą być ze sobą połączone, tzn. mieć wspólne węzły - brak wspólnych węzłów będzie skutkował komunikatem o błędzie
  • z lewej lub z prawej zależy od zwrotu danej jezdni (kierunku), dlatego warto mieć pod ręką skrypt +n i -n by w razie potrzeby narysować szlak z drugiej strony i zbędny usunąć

Autorem skryptu jest aligeza.