Képességeink
Nyílt forráskódú technológiák, amelyekkel projektjeinkben dolgozunk, az adatbázisoktól a vektorcsempés webes térképekig.
Projektjeinkben nyílt forráskódú technológiákra építünk. Ez nem ideológia, hanem gyakorlati döntés: nincs licencköltség, nincs gyártófüggés, az eszközök mögött aktív közösség áll, és a megoldás hosszú távon is fenntartható marad. Minden projektben újat tanulunk, és együtt fejlődünk az ügyfelek igényeivel és a bővülő lehetőségekkel.
Adatbázis és téradatkezelés
PostgreSQL és PostGIS: A legfejlettebb nyílt forráskódú adatbáziskezelő és a hozzá tartozó téradatkezelő kiterjesztés. A PostGIS geometria, geography és raszter típusokat, térbeli indexeket (GiST, SP-GiST, BRIN), topológiát és több száz térbeli függvényt ad az SQL-hez. A pgRouting útvonaltervezést és hálózatelemzést tesz lehetővé. Tárolt eljárásokkal, nézetekkel és materializált nézetekkel az adatokkal kapcsolatos műveletek és az üzleti logika egy platformon tarthatók. Táblaparticionálással és párhuzamos lekérdezésekkel százmillió feletti rekordszámú adatbázisok is jól kezelhetők. Üzemeltetünk néhány ezertől több száz millió rekordot tartalmazó rendszereket, a DBA feladatoktól az adatbetöltésen át az SQL fejlesztésig.
GeoPackage és SpatiaLite: Hordozható, egyfájlos térbeli adatbázisok, amelyek terepi munkához, adatátadáshoz és archiváláshoz jól használhatók, és minden nyílt forráskódú GIS eszköz kezeli őket.
Desktop elemzés
QGIS: A legszéleskörűbben bővíthető nyílt forráskódú térképes platform. A GDAL, a GRASS, a SAGA és az ORFEO Toolbox eszközei a Processing keretrendszeren keresztül egy helyen érhetők el, a feladatok modellezővel és PyQGIS szkriptekkel automatizálhatók. Kiváló kartográfiai megjelenítést ad, és közvetlenül kapcsolódik PostGIS adatbázisokhoz, OGC szolgáltatásokhoz és felhőoptimalizált rasztertárakhoz. Szerkesztői munkaállomásként, elemző eszközként és térképszerver-konfigurációk előkészítőjeként is használjuk.
Térképszerver és csempeszolgáltatás
MapServer: Rugalmas, az utolsó szögig konfigurálható, rendkívül gyors térképszerver. Kartográfiai megoldásai vezetnek a többiek előtt. WMS, WFS és WMTS szolgáltatásokat nyújt, és az OGC API-kat is támogatja.
GeoServer: Több, mint térképszerver. Webes grafikus felületen konfigurálható adatszolgáltató platform, jogosultságkezeléssel és saját REST konfigurációs API-val. Támogatja a WMS, WFS, WCS és WMTS szabványokat, valamint a vektorcsempék és az OGC API-k kiszolgálását.
Vektorcsempék (MVT): A korszerű webes térképezés alapja. A vektoros adatot a szerver előre vagy menet közben csempékre bontja, a böngésző pedig a kliens oldalon rajzolja ki. Ennek előnye a gyors betöltés, a tetszőleges nagyítás, a forgatható és dönthető nézet, valamint a stílus szabad módosíthatósága az adat újragenerálása nélkül. PostGIS-ből közvetlenül (ST_AsMVT, pg_tileserv, Martin), nagy adatkészletekből előre generált csempecsomagként (tippecanoe, PMTiles) állítjuk elő. A csomagolt PMTiles akár egyszerű statikus tárhelyről is kiszolgálható, külön térképszerver nélkül.
Szabványok és felhőoptimalizált formátumok: OGC WMS, WFS, WMTS és OGC API Features szolgáltatások, valamint Cloud Optimized GeoTIFF (COG) a nagy raszteres állományok, például ortofotók és domborzatmodellek hatékony kiszolgálására.
Webes térképkliensek
MapLibre GL JS: A vektorcsempék nyílt forráskódú megjelenítője. WebGL alapú, így nagy adatmennyiséget is folyékonyan rajzol, támogatja a 3D domborzatot, a stíluselőírások (style specification) szerinti dinamikus stílusozást és az animációkat. Mobilra natív változatai is vannak (MapLibre Native).
OpenLayers: Ha együtt kell működni egyszerre több térképszerverrel és szabványos webszolgáltatással, az OpenLayers a megfelelő választás. Támogatja a vektoros adatok szerkesztését és snappelését, a tetszőleges vetületeket (köztük az EOV-t), a vektorcsempéket és a COG rétegeket. Ideális vékonykliens, akár szerkesztői munkaállomások is kiválthatók általa.
Leaflet és deck.gl: Egyszerű, könnyű térképes beágyazásokhoz a Leaflet, nagy adatmennyiség (milliós ponthalmazok, mozgáspályák, hőtérképek) GPU-gyorsított megjelenítéséhez a deck.gl használható, akár MapLibre fölött.
A kliens köré épített alkalmazás a felhasználó egyedi igényeinek és szerepének megfelelő funkciókat valósít meg.
Mobil adatgyűjtés
A terepi adatgyűjtés célja, hogy az adat már a keletkezésének helyén, ellenőrzötten kerüljön az adatbázisba, papír és utólagos adatrögzítés nélkül. A négy megközelítés közül a feladat dönti el, melyik illik a projekthez, és gyakran kombináljuk őket.
QField: A QGIS mobil társa. A QGIS-ben elkészített projekt, a rétegek, a stílusok és az űrlapok módosítás nélkül vihetők terepre. Offline is működik, fotót és csatolmányt kezel, külső GNSS vevőt (például RTK) is tud használni, és a QFieldCloud segítségével szinkronizál. Android, iOS és Windows rendszeren fut. Gyors bevezetést és kevés fejlesztést igénylő, szabványos adatgyűjtési feladatokra ideális.
Mergin Maps: QGIS bővítményre és mobilalkalmazásra épülő megoldás, amelyben a terepi munka verziókezelt szinkronizálással jut vissza a központba, az ütközések kezelésével több gyűjtő is dolgozhat ugyanazon az adaton. A szerver saját infrastruktúrán is üzemeltethető, így az adat az ügyfél kezében marad.
Natív alkalmazás: Ha az eszköz képességeit mélyebben kell kihasználni, egyedi alkalmazást fejlesztünk Android és iOS rendszerre, MapLibre Native térképmegjelenítéssel. Ide tartozik a háttérben futó helymeghatározás, a Bluetooth-os mérőműszerek, a szenzorok, a nagy mennyiségű offline térképi adat és a vállalati eszközkezelés (MDM). A legtöbb fejlesztési munkát igényli, cserébe a legnagyobb a mozgástér.
PWA (progresszív webalkalmazás): Egyetlen, webes technológiára épülő kódbázis, amely böngészőből telepíthető, nem igényel alkalmazásboltot, és minden eszközön ugyanúgy működik. Offline módban (service worker, IndexedDB) is használható, eléri a helymeghatározást és a kamerát. Egyszerűbb, űrlapalapú gyűjtésre és megjelenítésre kiváló, korlátja a háttérben futó helymeghatározás és a Bluetooth iOS-en.
Szoftverfejlesztés
Nem egyetlen technológiához ragaszkodunk, hanem a feladathoz igazodunk. A megoldás célkörnyezete és a követelmények döntik el, hogy milyen eszközt választunk, nem a megszokás. Szerver, desktop és mobil környezetben egyaránt képesek vagyunk kiválasztani és használni a megfelelő technológiát, és a különböző rétegeket egységes, karbantartható rendszerré fogjuk össze.
- Szerveroldal: Python, PHP, Node.js és .NET (mai formájában szintén nyílt forráskódú, platformfüggetlen), adatbázis-közeli üzleti logika SQL-ben, REST és OGC API végpontok, háttérfeladatok és adatfeldolgozó szolgáltatások.
- Desktop: QGIS bővítmények (PyQGIS), önálló asztali alkalmazások, parancssori eszközök és automatizált feldolgozási láncok.
- Web: TypeScript és JavaScript, modern keretrendszerek, MapLibre és OpenLayers alapú térképes felületek, amelyek böngészőben futnak, és nem igényelnek licencet.
- Mobil: Terepi adatgyűjtő és megjelenítő alkalmazások, natív vagy keresztplatformos (webes technológiára épülő) megoldással, offline működéssel és helyadatok kezelésével.
Adatfeldolgozás és adatátalakítás
A térinformatikai rendszer értéke elsősorban az adat minőségén és használhatóságán múlik. Ezért a projektek munkájának jelentős része az adatok beszerzése, tisztítása, átalakítása és betöltése, amelyet jól megtervezett, ismételhető és automatizált folyamatként kell megvalósítani. A térbeli adatnál ez több szempontból is különleges.
Vetületi rendszerek: A térbeli adat csak a vonatkozási rendszerével együtt értelmezhető. Egy átlagos magyarországi projektben találkozik az EOV (EPSG:23700), az ETRS89 és ETRF2000, a WGS84 (EPSG:4326, GPS és webes szolgáltatások) és a Web Mercator (EPSG:3857, csempézett térképek). A hibás vagy hiányzó vetület-meghatározás, a tengelyek sorrendje, az eltérő alapfelületek (datum) és a nem megfelelő transzformáció méteres, akár tíz méteres eltolódást okoz, és ez a hiba csendben végigmegy az egész rendszeren. Ezért a PROJ könyvtárral, rácsalapú korrekciókkal (például a HD72 és ETRS89 közötti átszámításhoz) dolgozunk, a vetületeket minden lépésben explicit módon kezeljük, és az eredményt ellenőrző pontokkal validáljuk.
Nagy adatmennyiség (big data): Az országos adatbázisok, az ingatlan-nyilvántartás, a LiDAR felmérések, az ortofotó-sorozatok és a műholdas képek mérete a gigabájtoktól a terabájtokig terjed. Ezt az adatmennyiséget tömbösítve, folyamatosan olvasva és párhuzamosan kell feldolgozni, és az adatot a célnak megfelelő formátumban kell tárolni: PostGIS partícionált táblákban, GeoParquet és FlatGeobuf állományokban, felhőoptimalizált GeoTIFF-ben (COG), vektorcsempékben. Térbeli indexeléssel, feldolgozás előtti szűréssel és a lekérdezések térbeli tervezésével az órákig tartó műveletek percekre rövidíthetők.
Valós idejű adatok és idősorok (timeseries): A járműkövetés, a szenzorhálózatok, a közműtelemetria és az IoT eszközök folyamatos adatfolyamot termelnek, amelyet érkezéskor kell fogadni, ellenőrizni, térbelileg elhelyezni, és időbeli lekérdezésre alkalmas módon tárolni. Idősoros tárolásra a PostgreSQL TimescaleDB kiterjesztését használjuk PostGIS-szel együtt, így az időbeli és térbeli lekérdezés egy adatbázisban kombinálható. Az adatfolyam fogadására MQTT és üzenetsor alapú megoldások szolgálnak, az összesítések, a hosszú távú aggregálás és a megőrzési szabályok pedig automatizálhatók.
Eszközeink:
- GDAL/OGR: A svájcibicska a téradatkezelésben. Több száz támogatott vektoros és raszteres formátum, vetületi átszámítás, kész segédprogramok (ogr2ogr, gdalwarp, gdal_translate) shell szkriptekhez, Python és C++ API a magasabb szintű integrációhoz.
- PROJ: A vetületi átszámítások szabványos könyvtára, rácsalapú korrekciókkal és az EPSG adatbázissal.
- Python: GeoPandas, Shapely, Rasterio, pyproj és a PyQGIS a rugalmas, szkriptelhető feldolgozáshoz.
- PostGIS és SQL: Az adatok betöltése (COPY, ogr2ogr, FDW), validálása és átalakítása az adatbázison belül, tranzakciósan.
- DuckDB és Apache Arrow: Nagy állományok gyors, adatbázisszerver nélküli elemzése és konvertálása.
- Ütemezés és automatizálás: Ismételhető, naplózott, hibára felkészített feldolgozási láncok, amelyek az adatfrissítéseket emberi beavatkozás nélkül kezelik.
Beszéljünk a feladatról
Ha érdekli valamelyik megoldásunk, vagy speciális igénye van, írjon nekünk, vagy keresse munkatársainkat.
Kapcsolat