Fentrol.hu
légifotók
feldolgozása

Fentrol.hu?

Afentrol.hu egy olyan projekt ami során internetre teszik az 1959-2007 közötti légifotókat. Mivel ezek többségében gyengén georeferált állományok, ezért a közösség segítségével pontosítják azokat. Bárki javíthat a légifotók georeferálásán, nekem is van 199 pontom :)

google docs image dce6b006 7233 503a bb35 bf5fa0ca8521

Ráadásul a légifotók rugalmas feltételekkel felhasználhatóak:

A díjmentesen elérhető légifelvételek szabadon másolhatók, terjeszthetők, bemutathatók azzal a megkötéssel, hogy a megjelenítésükkor minden esetben az alábbi formában fel kell tüntetni a forrásukat: Forrás: fentrol.hu; Budapest Főváros Kormányhivatala. A felhasználás csak az adatfelhasználási engedély számának birtokában lehetséges, melyet minden megrendelés esetén a Szolgáltató automatikusan megküld a Felhasználó számára.

Hídvégi-tó

Ehhez a leíráshoz szükségesQGIS térinformatikai program.Docker, valamint az egyikdocker gdal kép.

A leíráshoz tartozó fájlokinnen letölthetőek.

Gdal docker kép telepítéshez, majd használatához az alábbi parancsok lefuttatása szükséges a parancssorban. A ${PWD} helyére windows alatt annak a könyvtárnak az elérési útvonalát kell megadni, amiben dolgozunk (például: "C:\data"). A második parancs lefuttatása után egy úgynevezett prompt jön elő, amibe a leírásban található kódokat másolva lehet az adott lépést végrehajtani.

docker pull osgeo/gdal:alpine-ultrasmall-latest
docker run --rm -v ${PWD}:/fentrol-hu -it osgeo/gdal:alpine-ultrasmall-latest

Ebben a posztban a mai Hídvégi-tó területén készült légifotókat fogom feldolgozni az alábbi lépésekben:

  1. A területre vonatkozó, 1985 előtt készült légifotókat betöltése afentrol.hu oldalról
  2. Maszk réteggel vágom azokat, hogy a peremen lévő fekete sávokat eltüntessem
  3. Az OSM adatbázisból a Hídvégi-tó poligonjával megmetszem a maszkolt légifotókat

1.) A légifotók betöltése

Készítek egy munka könyvtárat "kis-balaton" néven, ebben létrehozok négy almappát (geoshop, vektoros-allomanyok, hasznos-teruletre-vagott, hidvegi-to-teruletere-vagott) A geoshop oldalról letöltöm az összes fájlt bemásolom a geoshop almappába (kis-balaton/geoshop).

Minden letöltött légifotóhoz tartozik egy tiff és tfw fájl. A tiff maga a légifotó, a tfw a world fájl, aminek segítségével a térinformatikai program képes helyesen pozícionálni a képet.

Beolvasom az összes letöltött légifotót a QGIS-be:

Réteg -> Adatforrás kezelő -> Raszter -> Raszter adathalmazok kiválasztása -> Hozzáadás

Minden egyes légifotónál a réteget jelző panel jobb felső sarkában található "?" ikonra kattintva beállítom az EPSG:23700 vetületi rendszert. Így Google Térképhez képest helyesen jelennek meg a betöltött légifotók.

google docs image 7bccf897 94e0 5865 88bd 4877cf03d7da google docs image 8d9d6fcd ba5f 5029 b2c7 cf8f36716551

2.) A hasznos terület körberajzolása

Létrehozok egy új "poligon" típusú Esri Shape vektoros állományt, aminek lesz egy "name" string típusú mezője. Elmentem "hasznos-terulet.shp" néven (kis-balaton/vektoros-allomanyok/hasznos-terulet.shp). Minden egyes légifotót körberajzolom úgy, hogy a képnevet beleírom a "name" mezőbe (1965_0354_2735.tif).

google docs image 538a5374 d309 5f27 ac97 a6bcc1a648ad

Ezután terminálra váltok - qgis-ben ez a művelet eléggé körülményes - majd belépek a projektem gyökér könyvtárába, végül a geoshop könyvtárba. (GDAL parancssoros tool-nak telepítve kell lennie, QGIS valószínűleg telepíti)

cd fentrol-hu/geoshop
for kep in *.tif;do
        gdalwarp -s_srs 'EPSG:23700' -t_srs 'EPSG:3857' -dstalpha -dstnodata 0 -multi -overwrite -cutline ../vektoros-allomanyok/hasznos-terulet.shp -cwhere "name='$kep'" -crop_to_cutline -of GTiff  $kep  ../hasznos-teruletre-vagott/$kep;
done
google docs image b2207527 7588 56bf 8b8a e55381fcd253

3.) Hídvégi-tó poligonjával az érdeklődési területemre vágom a légifotókat

Overpass Turbo oldaláról letöltöm a Hídvégi-to poligonját az alábbi paranccsal (Exportálás -> GeoJSON). A letöltött GeoJSON-t betöltöm a QGIS-be. (Vagy azelőző poszt alapján OSM lokális adatbázisából töltöm be az osm_waterareas réteget). A Hídvégi-tó poligonját át kell konvertálni EPSG:3857 vetületbe, majd lementeni "/vektoros-allomanyok/hidvegi-to-3857.shp" néven.

[out:json][timeout:55];
        area['name'='Magyarország'];
        relation(area)["name"="Hídvégi-tó"];
out geom;
google docs image c44c5348 7b65 5b24 b786 7c42757b47f0
cd ../hasznos-teruletre-vagott
for kep in *.tif;do
        gdalwarp -s_srs 'EPSG:3857' -t_srs 'EPSG:3857' -dstalpha -dstnodata 0 -multi -overwrite -cutline ../vektoros-allomanyok/hidvegi-to-3857.shp -crop_to_cutline -of GTiff  $kep  ../hidvegi-to-teruletere-vagott/$kep;
done

A Hídvégi-tó területével megvágom a hasznos területet, majd virtuális rasztert építek ezekből és megkapom a végeredményt.

google docs image 5d79ecac c124 5a65 bff9 4e0b0673a582
cd ../hidvegi-to-teruletere-vagott
gdalbuildvrt -hidenodata index.vrt *.tif

A posztban a szebb vizuális hatás kedvéért két lépésben készítettem el a raszter vágását, azonban jóval erőforrás takarékosabb, ha a hasznos terület és a Hídvégi-tó vektorjának metszetével történik a maszkolás!

A következő posztban MBTiles-ről lesz szó, hogy kell hosting környezetben web térképet készíteni.

dc76a04ac91090244418763e1e1d2a