Wtyczki

Z C-Geo Wiki
Skocz do: nawigacja, szukaj
Wtyczki
Kategorie Moduły obliczeniowe
Ścieżka w programie Wtyczki

Wstęp

Od grudnia 2010 r. wprowadzono możliwość współpracy programu C-Geo z ,,wtyczkami" - zewnętrznymi programami uruchamianymi z poziomu C-Geo. Programy takie wykorzystują różne elementy funkcjonalności C-Geo, np. zasoby bazy danych współrzędnych geodezyjnych, obiekty wektorowe mapy numerycznej, zapis wyników obliczeń do raportów. Autorzy C-Geo udostępnili odpowiednie mechanizmy, które umożliwiają korzystanie z powyższych funkcji C-Geo we własnych programach.

Wtyczki są tworzone przez niezależnych programistów - najczęściej są to zwykli użytkownicy C-Geo, którzy potrafią programować w DELPHI, (Visual Basic i inne), zainteresowani realizacją własnych potrzeb obliczeniowych przy wsparciu możliwości programu C-Geo. Mogą oni udostępniać swoje programy całej społeczności użytkującej C-Geo. Wtyczki umożliwiają realizację czasem bardzo specjalistycznych zadań geodezyjnych, które wymagałyby normalnie poświęcenia wielu godzin na ich opracowanie bez wspomagania dedykowanym oprogramowaniem.

Menadżer wtyczek

C-Geo ma wbudowany menadżer wtyczek, który w prosty sposób umożliwia przeglądanie dostępnych na dany moment wtyczek, informacji o ich działaniu i instalację wtyczek w swoim środowisku.

Wtyczki1.png

PobieranieWtyczek.png

Przykładowa wtyczka ObliGEO.OkręgiMNK (Autor:FaFaL) pobiera punkty z tabeli współrzędnych, wylicza metodą najmniejszych kwadratów promień i punkt środka okręgu, który zapisuje do tabeli współrzędnych C-Geo.

Wtyczka.png

Dostępne wtyczki

Obecnie dostępne są m.in.:

1. Tworzenie plików z punktami AREA (Geodimetr) oraz eksportu punktów z AREA do C-Geo.

2. Eksport punktów z C-Geo do tachimetrów firmy Nikon z serii DTM400 oraz DTM310.

3. Wtyczka służąca do szybkiego otwierania katalogu "nazwa_mapa.zad" znajdującego się w katalogu bieżącego projektu. Wtyczka jest dostosowana do systemów operacyjnych Windows 7 i starszych.

4. Niwelacja reperów (bez punktów pośrednich).

5. Konwersja pliku georeferencji z programu TurboMap do formatu C-Geo.

6. Import punktów z WinKalka.

7. Link do projektu na pulpicie. Tworzy skrót na pulpicie za pomocą którego uruchamia się C-Geo z uruchomioną konkretną pracą dla której utworzono skrót. Wtyczka jest dostosowana do systemów operacyjnych Windows 7 i starszych.

8. Wtyczka ObliGeo.Łuki do podziału zdefiniowanego łuku lub okręgu.

9. Wtyczka na podstawie wielu punktów wylicza współrzędne środka okręgu oraz promień. Więcej w artykule OkręgiMNK.

10. Wtyczka ObliGEO.PowierzchnieMNK umożliwia wpasowanie płaszczyzny w zbiór punktów o podanych XYH. Więcej w artykule PowierzchnieMNK.

11. Wpasowywanie prostej w zbiór punktów. Więcej w artykule ProstaMNK.

12. Kalibracja rastra w oknie mapy.

13. Wyciąganie danych z pliku w formacie RW5.

14. Umożliwiająca obliczanie punktów załamania zadanej linii w pewnym odsunięciu sytuacyjnym i wysokościowym. Więcej w artykule Offset linii.

15. Podział łuku o zadane odstępy. Więcej w artykule PodzielLuk

16. Przenoszenie punktów z C-GEO do programów typu CAD. Więcej w artykule PunktyCAD

17. Tworzenie raportów RTK z danych z odbiorników CHC. Więcej w artykule RaportRTK

Komunikacja wtyczek z C-Geo

Menu Wtyczki pojawia się tylko wtedy, kiedy w katalogu w którym zainstalowany jest program (domyślnie C:/C-Geo}) utworzony zostanie podkatalog wtyczki. Umieszczanie w nim plików programów *.exe lub skrótów *.ink albo programów wsadowych *.bat powoduje, że przy starcie C-Geo w menu Wtyczki pojawia się lista programów. Każdy program z tego menu wywoływany jest z trzema parametrami: ścieżka aktualnego projektu, nazwa aktualnej tabeli roboczej i nazwa tabeli aktywnego okna mapy/bazy (o ile jakieś okno tego typu jest aktywne).

Operacje na punktach

dwData=0 - zapis odczyt punktu,

dwData=1 - odczyt punktów zaznaczonych w tabeli - zwracana jest tablica (niestety musi mieć na sztywno zadeklarowany rozmiar, w tej chwili ustawione maksimum 5000 punktów),

dwData=2 - odczyt zaznaczonego obiektu na mapie; wynik przychodzi w postaci: O(1;;100.001;100.001;1e20)(@19;;100;200;1e20)(2;;200.002;200;1e20) (@20;;200;100;1e20) Pierwszy znak to litera O lub Z w zależności od tego czy obiekt otwarty czy zamknięty. W nawiasach () zapisane są po kolei numer, kod, x, y, h oddzielone średnikami. Wartości 1e20 oznaczają brak danej współrzędnej.

dwData=3 - zapis obiektu na mapę, o(100;100)(100;200)(200;200)(200;100) Pierwszy znak to litera O lub Z jak opisano wyżej. Później współrzędne(x;y). Przy zapisie zrezygnowano z podawania numerów. Jeśli w tabeli jest już punkt o odpowiadających współrzędnych to obiekt automatycznie zostanie dociągnięty do tego punktu.

dwData=4 - przekazanie raportu w formacie rtf,

dwData=5 - przekazanie raportu w formacie html - chyba łatwiejsza metoda formatowania niż w rtf,

dwData=6 - włączenie dla aktualnie aktywnej mapy trybu zwracania współrzędnych kliknięcia myszką. Dane przychodzą w takim samym formacie jak odczyt punktu z bazy,czyli: nr#9kod#9x#9y#9z#9. W przypadku kliknięcia na mapie w puste pole czyli wtedy gdy nie zaznaczy się punkt, wysyłane są tylko wartości xy: #9#9x#9y#9#9

dwData=7 - informacja zwrotna: przyszły współrzędne kliknięcia,

dwData=8 - informacja zwrotna: użytkownik wybrał jakieś narzędzie z mapy (np. zoom) co skutkuje wyłączeniem funkcji zwracania współrzędnych do wtyczki. W demo wtyczki (w ramce Obsługa klika nia na mapie) jest opcja wstawiania przekreślonego kółka w miejscu kliknięcia na mapie.

Zaznaczanie na mapie kilku obiektów i pobieranie ich do wtyczki. Poszczególne obiekty oddzielone są znakiem | czyli w wyniku otrzymujemy np: O(1;;100.001;100.001;1e20)(@19;;100;200;1e20) (2;;200.002;200;1e20) (@20;;200;100;1e20)|Z(11;;100.001;100.001;1e20)(12;;100;200;1e20)

Raporty wysyłamy jako string (kod rtf/htm). Przed treścią raportu można opcjonalnie dodać nazwę raportu jaka będzie wyświetlać się. Nazwę oddzielamy znakiem #9 odtreściraportu: nazwa_raportu#9treść_raportu Jeżeli nazwa nie zostanie podana, to raport zostanie zapisany pod nazwą Raport z wtyczki.

Opis zapisu obiektów graficznych

okrąg: pierwszy punkt to środek okręgu, w drugim wartość x=50 to promień, np. e(100;100)(50;0)

łuk: punkt początkowy, punkt końcowy i dowolny punkt na łuku np. a(100;100)(100;200)(150;150)

krzywa: podajemy punkty przez które ma ona przechodzić np. b(100;100)(100;200)(200;200)(200;10

Przykład wtyczki

Przykład wtyczki można pobrać tutaj, http://softline.xgeo.pl/wtyczki/usredniacz.exe a tu http://softline.xgeo.pl/wtyczki/wtyczka.zip znajduje się jej kod źródłowy.

Więcej bieżących informacji o wtyczkach, ich powstawaniu, pomocy w stosowaniu można znaleźć na naszym forum w dziale Wtyczki do C-Geo: http://softline.geo.pl/forum/viewforum.php?f=512