Spa$al ¡Cloud ¡Compu$ng ¡using ¡ Google ¡Maps ¡API ¡ Michael ¡P. ¡Peterson ¡ Nebraska ¡-‑ ¡Omaha ¡
Introduc$on ¡ • We ¡can ¡all ¡agree ¡that ¡many ¡GIS ¡tasks ¡that ¡are ¡ now ¡done ¡on ¡desktop ¡computers ¡with ¡ specialized ¡soDware ¡will ¡eventually ¡be ¡done ¡in ¡ the ¡cloud. ¡ • Development ¡of ¡cloud ¡compu$ng ¡has ¡parallels ¡ to ¡computer ¡mapping ¡/ ¡GIS ¡in ¡the ¡1970s. ¡ • Computer ¡mapping ¡preceded ¡GIS. ¡ ¡ – Integra$on ¡with ¡databases, ¡analy$cal ¡tools ¡
Computer ¡mapping ¡to ¡GIS ¡ • Map ¡mashups ¡with ¡APIs ¡is ¡the ¡computer ¡mapping ¡ stage ¡of ¡cloud ¡compu$ng ¡ – Presen$ng ¡data ¡with ¡maps ¡ – Mashups ¡as ¡thema$c ¡maps ¡ – Underlying ¡maps ¡from ¡Google ¡servers ¡but ¡data ¡being ¡ mapped ¡usually ¡on ¡local ¡server ¡ • Now, ¡integra$on ¡with ¡databases ¡ • How ¡to ¡integrate ¡into ¡the ¡cartography ¡/ ¡GIS ¡ classroom? ¡ – Book: ¡ Maps ¡and ¡the ¡Internet: ¡Theory ¡and ¡Prac3ce ¡
In ¡the ¡classroom ¡… ¡ • Development ¡of ¡cloud ¡compu$ng ¡is ¡based ¡on ¡ what ¡we ¡can ¡teach ¡ • Audience ¡– ¡students ¡with ¡oDen ¡have ¡limited ¡ programming ¡background ¡ • Purpose ¡is ¡not ¡to ¡make ¡programmers ¡ – Create ¡an ¡understanding ¡of ¡the ¡technology ¡ – Provide ¡tools ¡to ¡allow ¡the ¡building ¡of ¡applica$ons ¡ – Develop ¡a ¡concep$on ¡of ¡what ¡is ¡possible ¡
FOSS ¡ • Free ¡and ¡open ¡source ¡soDware ¡ • Advantages ¡for ¡educa$on ¡ – No ¡need ¡to ¡acquire ¡licenses, ¡funding ¡ – ArcGIS ¡funding ¡experience ¡ • Emphasize ¡concepts, ¡not ¡training ¡on ¡ commercial ¡soDware ¡ – Universi$es ¡as ¡agents ¡of ¡ESRI ¡ • Is ¡open ¡source ¡more ¡expensive? ¡
Core ¡concepts ¡ • The ¡Internet ¡map ¡landscape ¡ • Meaning ¡of ¡mapping ¡ • Development ¡of ¡maps ¡through ¡$me ¡ • Map ¡scale ¡and ¡abstrac$on ¡ • Maps ¡by ¡computer ¡and ¡GPS ¡ • Points ¡and ¡point ¡data ¡ • Lines ¡and ¡polygons ¡ • Layers ¡of ¡informa$on ¡ • Databases ¡ • Local ¡mapping ¡ ¡
Core ¡technologies ¡ • HTML ¡ • JavaScript ¡ • Google ¡Maps ¡API, ¡Fusion ¡Tables ¡ • XML ¡ • GeoRSS ¡ • PHP ¡ • MySQL ¡with ¡spa$al ¡extensions ¡ • App ¡development, ¡both ¡iOS ¡and ¡Android ¡
Interleaving ¡core ¡concepts ¡and ¡core ¡ technologies ¡ • Two ¡classroom ¡environments ¡ – One ¡mee$ng ¡a ¡week ¡with ¡no ¡computers, ¡no ¡wifi, ¡ no ¡mobile ¡technology, ¡no ¡tex$ng ¡ • Seminar ¡or ¡lecture, ¡depending ¡on ¡class ¡size ¡ – One ¡mee$ng ¡a ¡week ¡in ¡a ¡computer ¡room, ¡ demonstra$on ¡but ¡no ¡lecture ¡ • Individual ¡and ¡dis$nc$ve ¡web ¡pages/resources ¡created ¡ in ¡a ¡group ¡environment. ¡
Web ¡page ¡development ¡ For ¡everyone ¡to ¡see ¡-‑ ¡
Point ¡Maps ¡ • Single ¡points ¡ – Markers ¡ – Type, ¡size, ¡posi$oning ¡ • Source ¡of ¡data ¡ – XML ¡files ¡ – GeoRSS ¡ – Fusion ¡Tables ¡ – MySQL ¡database ¡
Lines ¡and ¡polygons ¡ • Straight ¡and ¡ ¡ geodesic ¡lines ¡ • Graduated ¡lines ¡ • Polygons ¡
Layers ¡ • Image ¡on ¡Map ¡ • Image ¡on ¡Image ¡ ¡
Layers ¡ • Map ¡on ¡Map ¡ Cost ¡of ¡Iowa ¡Farmland ¡ ¡
Free ¡Webhos$ng ¡ cpanel ¡
Files ¡and ¡databases ¡
PHP ¡ Server-‑based ¡scrip$ng ¡language ¡
Query ¡ <?php ¡ ¡ ¡ ¡//define ¡coordinates ¡and ¡draw ¡rectangle ¡to ¡map ¡ ¡ ¡ ¡ ¡ ¡ ¡include ¡'mysql_connect.php'; ¡ ¡$table ¡ ¡ ¡ ¡= ¡"us_capitals"; ¡ ¡$sql ¡=" ¡SELECT ¡name, ¡Y(loca$on), ¡X(loca$on), ¡usstate, ¡popula$on ¡FROM ¡us_capitals ¡ ¡ ¡ ¡WHERE ¡Intersects( ¡loca$on, ¡GeomFromText( ¡'POLYGON((40 ¡-‑96, ¡44 ¡-‑96, ¡44 ¡-‑70, ¡40 ¡-‑70, ¡40 ¡-‑96))' ¡) ¡) ¡"; ¡ ¡
JOIN ¡ ¡FROM ¡( ¡( ¡( ¡ ¡ ¡dl_routes ¡AS ¡rt ¡ ¡ ¡INNER ¡JOIN ¡dl_airports ¡AS ¡ap1 ¡ON ¡rt.airportcode ¡= ¡ap1.code ¡ ¡ ¡ ¡ ¡ ¡) ¡ ¡ ¡INNER ¡JOIN ¡dl_airports ¡AS ¡ap2 ¡ON ¡rt.des$na$oncode ¡= ¡ap2.code ¡ ¡ ¡ ¡ ¡ ¡) ¡ ¡ ¡INNER ¡JOIN ¡ci$es ¡AS ¡cDep ¡ON ¡cDep.city ¡= ¡ap1.city_name ¡ ¡ ¡ ¡ ¡ ¡ ¡) ¡ ¡ ¡INNER ¡JOIN ¡ci$es ¡AS ¡cDst ¡ON ¡cDst.city ¡= ¡ap2.city_name"; ¡
Geoloca$on ¡ iPad ¡
Conclusion ¡ • Teaching ¡in ¡the ¡cloud ¡ – Concepts ¡and ¡core ¡technologies ¡ • Non-‑computer ¡and ¡computer ¡classrooms ¡ – Online ¡assignments ¡ • Web ¡pages ¡and ¡apps ¡ – FOSS ¡and ¡Webhos$ng ¡ • Important ¡part ¡of ¡online ¡experience ¡ – Use ¡of ¡mul$ple ¡APIs ¡ • Google ¡Maps ¡
Recommend
More recommend