proj
proj – otwarto‑źródłowa biblioteka programistyczna służąca do przekształceń współrzędnych oraz konwersji pomiędzy różnymi systemami koordynatowymi. Biblioteka jest powszechnie wykorzystywana w systemach informacji geograficznej (GIS), w kartografii, a także w aplikacjach geodezyjnych i nawigacyjnych.
Historia
Początkowo projekt powstał pod nazwą PROJ.4 w latach 1985 – 1990 jako część GDAL/OGR – otwarto‑źródłowego zestawu narzędzi do przetwarzania danych geograficznych. Autorem biblioteki jest Gerald Evenden, który opracował ją w ramach prac na University of Illinois at Urbana‑Champaign. Pierwsza publiczna wersja pojawiła się w 1995 roku i od tego czasu biblioteka była regularnie rozwijana.
W 2019 roku projekt zmienił nazwę z PROJ.4 na PROJ, a kod został przeniesiony na platformę GitHub (repozytorium proj). Od tego momentu wydawane są nowe wersje z rozszerzonym zakresem funkcjonalności i lepszym wsparciem dla nowoczesnych systemów operacyjnych, takich jak Linux, Windows i macOS.
Zakres funkcji
- Obsługa ponad 4000 systemów projekcyjnych, w tym popularnych jak UTM, Mercator czy Lambert Conformal Conic.
- Transformacje pomiędzy różnymi datumami geodezyjnymi (np. WGS84, NAD83, ETRS89).
- Obsługa proj4js – wersji biblioteki w języku JavaScript, umożliwiającej przekształcenia w przeglądarce internetowej.
- Instalacja jako biblioteka C oraz zestaw narzędzi wiersza poleceń (np.
projinfo,cs2cs). - Wsparcie dla sparks i projekcji wielościennych w najnowszych wersjach.
Struktura techniczna
Biblioteka napisana jest w języku C i udostępnia interfejsy API dla języków C++, Python, Java oraz R. Moduł proj jest częścią szerszego ekosystemu oprogramowania geograficznego, współpracując z takimi projektami jak GDAL, QGIS czy PostGIS.
Przykłady użycia
Typowy przykład przekształcenia współrzędnych w wierszu poleceń:
cs2cs +proj=longlat +datum=WGS84 +to +proj=utm +zone=33 +datum=WGS84
12.4924 41.8902
Wynik to współrzędne UTM (strefa 33N): 291878.12 4644261.44.
Licencja
proj jest rozpowszechniany na licencji BSD, co umożliwia zarówno darmowe użycie w projektach otwarto‑źródłowych, jak i w komercyjnych aplikacjach.