Ugrás a tartalomra

2011-11-01

1

Térkép transzformáció

Hogyan kerül a helyére a térkép a DigiTerra Explorerben, a Google Földben vagy éppen az OpenLayers-ben? Azaz a térképkezelő programokban? Transzformációval!

A transzformáció azt jelenti hogy van egy beszkennelt térképünk – azaz egy raszteres képfájl, amit meg lehet nyitni képnézegetővel, de nem lehet rajta mérni, nem található meg rajta a koordináta információ. Azaz csak egy kép. A térkép transzformációval elérjük, hogy- ismert ponthoz igazítva – a térkép a “helyére” kerüljön. Az ismert pont lehet egy vektortérkép, háttértérkép, vagy GPS mérés is.

A legegyszerűbb a DigiTerra Explorer 3 pontos megoldása

Az első ponttal a helyére húzom a térképet, a másodikkal méretezem, a harmadikkal beforgatom. Mindezt bármilyen vetületben. A tájékozást a fájlal azonos nevű, de más kiterjesztésű “worldfájlba” mentjük, ahogy ez kváziszabvány. (A kiterjesztés-párok: TIFF -> TFW; JPG -> JGW; ECW -> EWF; PNG -> PGW; BMP -> BPW.) A worldfájl tartalmazza a bal alsó koordinátát és a pixelméretet x és y irányban a pixelek nagyságát. (Megjegyzem az ecw és a tiff magában is képes tárolni koordinátákat, de ez csak később terjedt el, és nem is olyan kényelmes átírni, mint egy szöveges worldfájlt.)
Minta egy wordfájlra:

0.000093663900
-0.000001123930
-0.000000352803
-0.000065139400
16.499638269985
47.394808253898

A transzformációhoz használható a Google Föld is, azonban ott csak WGS84 rendszert érünk el. Ami itt lényeges: A térképet a Hozzáadás -> Lefedő kép menüponttal kell hozzáadni, nem képként kell hozzáadni a térképet.

A transzformáció akkor a legegyszerűbb, ha nem kell forgatni a térképet, az ugyanis nehézkes. A lépések: Ránagyítunk a célterületre, hozzáadjuk a térképet, a sarkait/oldalait nagyjából beigazítjuk, majd beforgatjuk a jobb középen található rombusz segítségével. Az egész képet a középső kereszttel tudjuk mozgatni. A képernyő és kiírt KML is tartalmazza a befoglalókat, minden sarok koordinátáját.

Google Earthban tájékozott képet úgy tudjuk megjeleníteni a weboldalunkon, hogy például az Openlayerst hívjuk segítségül A földrajzi  szélesség [-90° … +90°] és hosszúság [-180° … +180°] értékek minimum és maximumpárjára lesz szükség, tizedesfokban. A Bounds paraméterezése:

  • OpenLayers.Bounds(MinSzél, MinHossz, MaxSzél, MaxHossz)
  • tehát valójában a bal alsó és a jobb felső koordinátát kell megadnunk, valahogy így:
  • OpenLayers.Bounds(16.498317, 47.245050, 16.631492, 47.394635)

Mindezt hogy látjuk a KML-ben?

Ott a North-South paraméter a szélesség jelölésére szolgál – nálunk mindig a North nagyobb, mert az Északi féltekén vagyunk. Az East-West paramétert jelöli a hosszúságot, itt az East, azaz a Kelet a nagyobb, mivel a (greenwichi) nulla foktól mindkét irányban növekszik a fokok számozása. Alul pedig megtaláljuk a “rotation” sorban a térképforgatási paramétert.

    <LatLonBox>
<north>47.39463492786091</north>
<south>47.24505000264532</south>
<east>16.63149218050296</east>
<west>16.49831542839813</west>
<rotation>-0.4892432485968399</rotation>
</LatLonBox>

A fenti eljárással bármilyen képfájl beilleszthető a térképre.
Remélem hasznos volt ez a kis összefoglaló!

  1. Nagy Lászlo
    feb 25 2016

    Csak arra szeretnék egy pár sor választ kérni,hogy a helyrajzi szám szerint hogy tudom meg hol helyezkedik el a jelzett terület.Sajnos sehol nem találtam egy használható oldalt erre a problémámra.
    Várom megtisztelő válaszukat ,köszönettel

    Válasz

Oszd meg velünk a véleményed! - Szólj hozzá!

(required)
(required)

Megjegyzés: HTML használható (max. egy url-el).Az e-mail címedet sohasem jelenítjük meg!

Értesítőt kérek a kommentekről RSS-ben