Szakmai és kevésbé szakmai bejegyzések webes térképekről, szoftverfejlesztésről, térinformatikáról meg csak úgy...
2010. március 25., csütörtök
Magassági adatok Google API
Erre eddig is volt lehetőség, mégpedig a USGS) , a GeoNames vagy az EarthTools webszolgáltatás használatával.
A Google szolgáltatásának az előnye az eddigiekkel szemben, hogy batch feldolgozást is lehetővé tesz, amivel szépen lehet magassági profilokat, szinttérképeket készíteni útvonalakhoz. Ha ezt egy-két évvel hamarabb meglépi a Google, akkor a futoterkep.hu fejlesztésénél rengeteg keresgéléstől és kísérletezgetéstől szabadított volna meg bennünket.
Azt hozzátenném, hogy a helyzet nem olyan rózsaszín, mint ahogy az előzőekből látszik. Magyarán kitehetjük az ablakba (hogy ne használjak durvább kifejezést) a batch feldolgozást, mivel sajnos 25 000 pontot kérdezhetünk le egy IP-ről 24 órán belül. Ez ilyen formában a felhasználást erősen korlátozza, szóval épp azt veszi el tőlünk ami az előnye lenne.
Azt mondják a guglinál, hogy ezzel az API kiszolgáló túlterhelését akarják elkerülni. De számomra finoman szólva is hihetetlennek tűnik, hogy ne bírna kiszolgálni akárhány kérést, ami egyenként néhány bájtos JSON adatot bök ki és valószínűleg egyetlen adatbázismezőt olvas ki a szerver oldalon (vagy ki tudja hogy tárolják) az a szerverpark, ami mittudoménhánymillió térképkockát dobál szét a világ minden tájára másodpercenként.
A szolgáltatást igazán kipróbálni még nem tudtam, de hamarosan készítek valami egyszerű szinttérképcsináló kis alkalmazásocskát. Meg persze akkor már valószínűleg beoperálom a futótérképbe is, ha valami módot ki tudok találni a limit figyelembevételére.
Egyébként API nélküli magasságszámításra alkalmas oldal is van rengeteg, az egyik a roppant találó nevű LatLonToElevation néven érhető el (http://www.latlontoelevation.com/dem_consume.aspx), a többit rátok bízom.
2009. április 10., péntek
Postback probléma régebbi IIS (5.x, 6) és/vagy XP Pro és ASP.NET routing esetén
A fejlesztői és a végfelhasználói környezet különbsége sok esetben okozott már fejtörést. Nálunk most éppen a futótérkép fejlesztése körül jelentkezett egy probléma az ASP.NET routing szolgáltatása kapcsán. Konkrétan a fejlesztői gép egy XP míg az alkalmazás valami újabb (esetünkben 2008 server). A routingot pedig használni kell, mert mennyivel jobban néz ki (meg persze SEO frendlibb) egy olyan path, hogy http://www.futoterkep.hu/utvonalak/ mint az, hogy http://www.futoterkep.hu/Modules/TrackList/tr_list.aspx. Igen ám, de az XP Pron az 5.1-es IIS erre az első aszinkron postback után egy 405-ös hibával köp szembe. Ez szerinte annyit jelent, hogy a postot a dev/null-ba küldted és nincs aki válaszoljon túlnan. Hosszas guglizás után sikerült kideríteni (már a hibaüzenet pontos jelentését sem könnyű), hogy a probléma az, hogy a borítékról lemaradt a címzés, így szegény postás vinné, de nem tudja, hogy hová. A HTTP világban ez annyit tesz, hogy a FORM tag action paramétere nem töltődik ki automatikusan és szegény IIS keresné azt a lapot, ahová a kérést küldjük, ami alapértelmezetten a _self vagyis saját maga. Igen ám, de a routinggal megtámogatott oldal esetén ez a lap fizikailag nem létezik, szegény IIS pedig buta és nem tudja megtalálni.
Mi hát a megoldás? Természetesen meg kell címezni a borítékot:
this.form1.Action = this.Request.RawUrl;
Ezután már tudja a postás hová kell vinni és Náncsi néni boldogan nézegeti mekkorát nőttek az unokák.
Persze a dologra rájönni korántsem volt annyira egyszerű, mint ahogy látszik. Remélem van akinek megspóroltam most néhány órányi google túrást…