WGS 84 koordináták előállítása egy pontokat tartalmazó vektoros települési térképből

A GPS-koordinátákat valamilyen formában szinte mindenki használja. Kevéssé ismert azonban, hogy ezekre nemcsak a navigációnál lehet szükségünk, hanem az adatok térképre vetítésénél is jól jöhet az imeretük. De hogyan lehetne beszerezni a történelmi Magyarország összes településének koordinátáit? Ez a blogposzt erre mutat egy lehetőséget.

A kutatásaim során gyakran előfordul, hogy települési adatokat kell rögzítenem és vizuálisan ábrázolnom, amihez szükségem van az érintett helységek földrajzi koordinátáira. Ezek egyenként könnyen beszerezhetők például a Wikipediáról vagy egy erre specializálódott weboldalról. Nagy mennyiségű településnél azonban ez eléggé macerás vállalkozás, és egyébként is sokkal kényelmesebb, ha a feladatot egyszer s mindenkorra letudja az ember. Az ország összes településének WGS 84 koordinátáit előállítva és a saját adatbázisunkba integrálva többet nem kell ezzel foglalkoznunk.

A releváns hazai tartalmak közül messze kiemelkedik a Demeter Gábor által vezetett GISta Hungarorum OTKA projekt (2015–2017), amely egy komplex térinformatikai rendszert épített fel a dualizmus kori Magyarország, illetve az Osztrák-Magyar Monarchia történetének tanulmányozásához. Ez egyrészt digitális alaptérképeket jelent, másrészt pedig egy olyan adatbázist, amely településekhez rendelve tartalmazza az általuk feldolgozott forrásokban – többnyire statisztikai kiadványokban – szereplő adatokat. A projekt során elkészített számos digitális alaptérkép között megtalálható a történelmi Magyarország – a Horvátország és Fiume nélküli országrész – területén 1910-ben létező 12541 település vektoros rétege is, amelyen minden egyes pont egy-egy konkrétan beazonosított helységnek felel meg. Használhatnánk éppen ezt is. Az R nyelven írt alkalmazásokban azonban sokkal rugalmasabban kezelhetők a WGS 84 (EPSG:4326) vetületben megadott koordináták, mint a pontokat tartalmazó vektoros rétegek. Akár ebből a megfontolásból, akár más okból kifolyólag van szükségünk ezekre, a feladat jelen esetben az, hogy a térképből kinyerjük a koordinátákat.

Mindez értelemszerűen csak azokat a történészeket segíti közvetlenül, akik az 1910-es településállománnyal dolgoznának. Maga a módszer azonban az egyéb hasonló térképekkel is működőképes lehet.

A digitális alaptérkép beszerzése

A műveletet a QGIS ingyenesen használható térinformatikai alkalmazás magyar nyelvű verziójában fogom végrehajtani. E blogposzt keretei között arra nincsen lehetőségem, hogy a QGIS használatát részletekbe menően taglaljam. De feltételezem, hogy akinek szüksége van a WGS 84 koordinátákra, annak már van némi tapasztalata ezen a területen és nem fogja idegennek érezni az itt leírtakat. Az alábbiakban tehát csak a szorosan a tárgyhoz tartozó műveletekre koncentrálok.

Első körben be kell szereznünk a vektoros réteget a GISta Hungarorum oldaláról. Az ide belinkelt mappából a MOTel_KP.* nevű fájlokat töltsük le. Ez összesen öt darab, különböző kiterjesztésű, de összetartozó fájl. A WGS 84 / Pseudo-Mercator (EPSG:3857) vetületben lévő shapefájlt a QGIS-be behúzva az alábbi térképet kapjuk.

A GISta Hungarorum MOTel_KP elnevezésű digitális alaptérképén lévő települések

A GISta Hungarorum MOTel_KP elnevezésű digitális alaptérképén lévő települések

Megjegyzendő azonban, hogy a rétegre ránagyítva a településeket jelképező pontok sokszor látványosan elcsúszva szerepelnek a Google térképén lévő helységek belterületének határaihoz képest. Természetesen egy település a valóságban sohasem pontszerű, hanem térbeli kiterjedése van, így ez mindenképpen valamilyen torzulást okoz. A belterület középpontja például nem feltétlenül egyezik meg a település közigazgatási értelemben vett területének középpontjával. A GISta Hungarorum oldalán ezzel kapcsolatban mindössze annyi szerepel, hogy “a pontok a települések középpontjait reprezentálják”. De a torzulás adódhat a digitalizáláshoz felhasznált korabeli térkép és a Google-féle térkép méretarányának és vetületének különbségéből is. Számomra, mivel pusztán egy távoli rálátást akarok adni bizonyos települések földrajzi elhelyezkedésére, ez nem okoz problémát. Előfordulhat azonban, hogy valakinek ennél közelebbi képre van szüksége, így nem árt tisztában lenni ezzel a jelenséggel.

A GISta Hungarorum MOTel_KP elnevezésű digitális alaptérképének részlete

A fentebbi térkép egy részlete

A WGS 84 koordináták kinyerése az alaptérképből

Az alaptérkép letöltését követően az alábbi műveletsort kell végrehajtanunk a QGIS-ben:

  1. Az alaptérkép beimportálása. Réteg ➽ Réteg hozzáadása ➽ Vektor réteg hozzáadása… menüpont vagy Ctrl + Shift + v. A vektor adathalmazoknál tallózzuk ki a MOTel_KP.shp fájlt. Hozzáad, majd Bezárás. A térkép a “MOTel_KP” nevű rétegbe kerül.

  2. A MultiPoint geometriájú “MOTel_KP” réteg átalakítása Point geometriájúvá. Ehhez a Feldolgozás eszköztár panel (Nézet ➽ Panelek ➽ Feldolgozás eszköztár menüpont) Vektor geometria szekcióban válasszuk ki a Geometria típus konvertálása lehetőséget. Az Input réteg a “MOTel_KP” legyen, míg az Új geometria típus legördülő menüben válasszuk ki a Centrálisok lehetőséget. Futtatás, majd Bezárás.

  3. A rétegek között “Konvertálva” néven megjelenik az eredmény, az eredeti “MOTel_KP” réteget törölhetjük. (Jobb kattintás ➽ Réteg eltávolítása… menüpont ➽ OK) Ha ezt követően nem látjuk a pontokat, akkor a “Konvertálva” rétegre kettőt kattintva a Forrás fül alatt állítsuk be a forrás koordináta-rendszert: EPSG:3857 – WGS 84 / Pseudo-Mercator. Alkalmaz, majd OK.

  4. A Modulok ➽ Modulok kezelése és telepítése… menüpont Mind füle alatt keressünk rá a Lat Lon Tools nevű modulra. Modul telepítése, majd bezárás.

  5. A Feldolgozás eszköztár panel alsó részére került Lat Lon Tools szekcióban a Vector conversion ➽ Point layer to fields lehetőséget válasszuk. Itt az input rétegnél jelöljük ki a “Konvertálva” nevű réteget. Az output formátum legyen Coordinates in 2 fields, az alapértelmezés szerint y-t tartalmazó mezőbe írjuk be azt, hogy „latitude“, a x-et tartalmazóba pedig azt, hogy „longitude”. Az output CRS legyen WGS 84. Minden más maradhat alapértelmezett. Futtatás gomb, majd Bezárás.

  6. A rétegek között megjelent egy “Output layer” nevű réget, amelynek attribútum táblájában (Jobb kattintás ➽ Attribútum tábla megnyitása) már ott találjuk a szükséges koordinátákat.

  7. Végül az “Output layer”-re jobb gombbal kattintva az Export ➽ Elemek mentése másként… menüpontban a Formátum legördülő menüben válasszuk ki a Vesszővel elválasztott értékek [CSV] lehetőséget, majd adjuk meg a fájl nevét. (A CRS jelen esetben nem érdekes a számunkra, mert csak egy táblázatra van szükségünk.) A kódolásnál válasszuk a System lehetőséget. Ha az Access-be akarjuk majd behúzni, akkor a Réteg beállítások szekcióban a SEPARATOR-t mindenképpen állítsuk SEMICOLON-ra, mert különben hibaüzenetet kapunk a beimportálás során. Minden más beállítás irreleváns a számunkra. A Mentett fájl hozzáadása a térképhez lehetőségnél vegyük ki a pipát, majd OK.

Ha jól dolgoztunk, akkor az exportált fájlban az eredeti térképünk attribútum táblájában szereplő mezők mellett immáron ott találjuk a WGS 84 koordinátákat rejtő latitude és longitude oszlopokat is. Ezt a táblát a települések egyedi azonosítója segítségével rá lehet szűrni akár a GISta Hungarorum adatbázisára, akár – a települések azonosítóinak egymással való megfeleltetését követően – valamely más adatbázisra. Alább az elkészített táblázat első húsz rekordja látható.

Az így előállított koordináták helyességéről legfeljebb szúrópróbaszerűen tudunk meggyőződni. Annyit azonban megtehetünk, hogy a települések koordinátáit vármegyénkénti bontásban térképre vetítjük. Ezzel vizuálisan ellenőrizni tudjuk, hogy vannak-e esetleg olyan helységek, amelyek kirívóan “kilógnak” az adott megye közigazgatási határából, azaz nem ott jelennek meg, ahol elvileg lenniük kellene. Ahogy alább látható, ebből a szempontból a koordinátáink biztosan helyesek.

A WGS 84 koordináták a vármegyék térképeire vetítve

A WGS 84 koordináták a vármegyék térképeire vetítve

comments powered by Disqus