Spa$al Cloud Compu$ng using Google Maps API Michael P. - - PowerPoint PPT Presentation
Spa$al Cloud Compu$ng using Google Maps API Michael P. - - PowerPoint PPT Presentation
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
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 ¡