Upgrade to Pro — share decks privately, control downloads, hide ads and more …

tuGIS 2010 Keynote - The More GIS Changes, the More it Remains the Same

1e1293843b57cc564b268f36f729a771?s=47 James Fee
October 06, 2011

tuGIS 2010 Keynote - The More GIS Changes, the More it Remains the Same

1e1293843b57cc564b268f36f729a771?s=128

James Fee

October 06, 2011
Tweet

More Decks by James Fee

Other Decks in Technology

Transcript

  1. Photo by clarksworth - http://flic.kr/p/61giBZ The More GIS Changes, the

    More it Remains the Same James Fee WeoGeo.com
  2. Photo by JKönig - http://flic.kr/p/s9CUo Retro

  3. Photo by JKönig - http://flic.kr/p/s9CUo Retro

  4. None
  5. None
  6. H

  7. None
  8. None
  9. Early Map Makers

  10. None
  11. None
  12. None
  13. Classic Cartography

  14. Not Much Happens for 300 Years

  15. Photo by sylvar - http://flic.kr/p/o8EML

  16. Photo by sylvar - http://flic.kr/p/o8EML Photo by drmacro - http://flic.kr/p/83i2aa

  17. Computer Science

  18. None
  19. None
  20. CAD

  21. Esri in the 70’s

  22. ArcInfo

  23. ARC/INFO Required Prime Computer

  24. None
  25. None
  26. None
  27. None
  28. None
  29. None
  30. None
  31. ArcGIS Desktop

  32. ArcGIS Desktop

  33. ArcGIS Desktop

  34. None
  35. None
  36. None
  37. Why The History Lesson?

  38. Photo by dullhunk - http://flic.kr/p/zDLZm

  39. None
  40. A Simpler Time

  41. A Simpler Time

  42. Problems with Wizards • Wizards cause us to conform •

    Options are either preset or confusing • Lack of documenting the process
  43. Familiarity is a Tough Nut to Crack Most GIS Professionals

    only know ArcToolbox
  44. None
  45. None
  46. None
  47. With the Command Line • Freedom to work with the

    data as you want • Better understanding of the commands • Combined with scripting you have a recipe for future work. AKA documentation!
  48. The “New” Way

  49. The “New” Way • Start up ArcCatalog (wait 2-4 min

    while it loads)
  50. The “New” Way • Start up ArcCatalog (wait 2-4 min

    while it loads) • Browse for toolbox (clicking through the endless tree)
  51. The “New” Way • Start up ArcCatalog (wait 2-4 min

    while it loads) • Browse for toolbox (clicking through the endless tree) • Open tool dialog
  52. The “New” Way • Start up ArcCatalog (wait 2-4 min

    while it loads) • Browse for toolbox (clicking through the endless tree) • Open tool dialog • Browse for input dataset
  53. The “New” Way • Start up ArcCatalog (wait 2-4 min

    while it loads) • Browse for toolbox (clicking through the endless tree) • Open tool dialog • Browse for input dataset • Browse for any optional data for analysis
  54. The “New” Way • Start up ArcCatalog (wait 2-4 min

    while it loads) • Browse for toolbox (clicking through the endless tree) • Open tool dialog • Browse for input dataset • Browse for any optional data for analysis • Browse for an output location
  55. The “New” Way • Start up ArcCatalog (wait 2-4 min

    while it loads) • Browse for toolbox (clicking through the endless tree) • Open tool dialog • Browse for input dataset • Browse for any optional data for analysis • Browse for an output location • Fill out options
  56. The “New” Way • Start up ArcCatalog (wait 2-4 min

    while it loads) • Browse for toolbox (clicking through the endless tree) • Open tool dialog • Browse for input dataset • Browse for any optional data for analysis • Browse for an output location • Fill out options • Click OK and pray it doesn’t crash
  57. Photo by TheNixer - http://flic.kr/p/yZvyU Photo by TheNixer - http://flic.kr/p/yZvyU

  58. The “Classic” Way

  59. The “Classic” Way • Start up Command Prompt (about a

    second)
  60. The “Classic” Way • Start up Command Prompt (about a

    second) • Type simple command (BUILD, CLIP, etc)
  61. The “Classic” Way • Start up Command Prompt (about a

    second) • Type simple command (BUILD, CLIP, etc) • Hit Enter
  62. The “Classic” Way • Start up Command Prompt (about a

    second) • Type simple command (BUILD, CLIP, etc) • Hit Enter • Tell everyone how hard it was
  63. Python!

  64. None
  65. Scripting With GIS

  66. Scripting With GIS • AML

  67. Scripting With GIS • AML • SML

  68. Scripting With GIS • AML • SML • Avenue

  69. Scripting With GIS • AML • SML • Avenue •

    Visual Basic for Applications *
  70. Scripting With GIS • AML • SML • Avenue •

    Visual Basic for Applications * • VBScript
  71. Scripting With GIS • AML • SML • Avenue •

    Visual Basic for Applications * • VBScript • JavaScript
  72. Scripting With GIS • AML • SML • Avenue •

    Visual Basic for Applications * • VBScript • JavaScript • Perl
  73. Scripting With GIS • AML • SML • Avenue •

    Visual Basic for Applications * • VBScript • JavaScript • Perl • Tcl
  74. Scripting With GIS • AML • SML • Avenue •

    Visual Basic for Applications * • VBScript • JavaScript • Perl • Tcl • Python
  75. Where is Python Used? • GIS Applications (ArcGIS, QGIS, Safe

    FME, Autodesk) • Web Frameworks (WeoGeo.com, Google) • Anywhere (Corel, Civilization, Gmail) • Become the de-facto scripting language
  76. ArcPy, the New Command Line • Much like the Arc

    prompt and AML, ArcPy and Python give us a powerful analysis and scripting method. • ArcPy builds on the commands we learned 15 years ago. • ArcPy is integrated in ArcMap • Python can be extended to other GIS platforms such as QGIS.
  77. AML Scripting in ARC/INFO clip  soils  studbndy  stdysoil

  78. Python Scripting in ArcGIS arcpy.Clip_analysis(soils.shp,  studbndy.shp,  stdysoil)

  79. Python Scripting With ArcPy import  arcpy   from  arcpy  import

     env   env.workspace  =  "c:/workspace"   #  variables
 in_features  =  "soils.shp"   clip_features  =  "study_boundary.shp"   out_feature_class  =  "c:/workspace/output/study_area_soils.shp"   xy_tolerance  =  ""   #  Execute  Clip   arcpy.Clip_analysis(in_features,  clip_features,
 out_feature_class,  xy_tolerance)
  80. http://www.flickr.com/photos/wwarby/2989238425/ Python

  81. Export to KML import  arcpy   arcpy.CheckOutExtension(“3D”)   env.workspace  =

     "c:/workspace"   #  variables
 in_feature  =  "c:/data/TIGER2009/04/ARIZONA/tl_2009_04_county.lyr"   out_feature  =  "c:/temp/output.kmz"   #  Execute  KML  Export   arcpy.LayerToKML_conversion(in_feature,  out_feature,1)
  82. Export to KML arcpy.LayerToKML_conversion(input.shp,  output.kml,  scale)

  83. Python Libraries

  84. Python Scripting With WeoGeo import  WeoGeoAPI   #Browse  my  WeoGeo

     Library   s  =  WeoGeoAPI.weoSession('http://jamesfee.weogeo.com',  'user',  'pass')   s.connectToMarket()   #Find  Data  Near  Tempe,  AZ   data  =  s.getDatasets('JSON',   '&data_type=VECTOR&per_page=2&page=1&north=33.5&south=33.2&west=-­‐111.99&eas t=-­‐111.91')   #print  the  JSON  response   print  data  
  85. Python Scripting With WeoGeo {          'per_page':

     2,          'total_entries':  34,          'current_page':  1,          'total_pages':  17,          'items':  [                  {                          'rating':  0.0,                          'projection':  'geo',                          'provider_margin':  1995.0,                          'uncompressed_misc_files_size':  7683891,                          'spatial_resolution':  0,                          'children_count':  0,                          'datum':  'WGS84',                          'library':  {                                  'name':  'Pitney  Bowes  -­‐  Business  Insight',                                  'id':  112                          },                          'kml_file_size':  0,                          'hosted':  True,                          'market':  'Complete',                          'center_lat':  38.8051135,                          'layers':  [                                  'all'                          ],                          'east':  -­‐74.986282,                          'votes':  0,                          'content_license':  {                                  'url':  'http:  //licenses.weogeo.com/licenses/8/original.PDF?1273263090',                                  'name':  'PBBI  Software  and  Data  End  User  License  v.  April  2008'                          },                          'data_type':  'VECTOR',                          'royalty_model':  'CREDITED',                          'west':  -­‐79.487651,                          'scales':  '6;7;8;9;10;11;12',                          'provider_discount_expires_at':  None,                          'boundaries':  {                                  'geo':  {                                          'proj4':  '+proj=latlong  +datum=wgs84',                                          'north':  '39.723622',                                          'west':  '-­‐79.487651',                                          'datum':  'WGS84',                                          'projection_datum':  'geo-­‐wgs84',                                          'east':  '-­‐74.986282',                                          'south':  '37.886605'                                  },                                  'tiles':  {                                          'number_of_lines':  '316',                                          'number_of_samples':  '316',                                          'datum':  'WGS84',                                          'line_pixel_size':  '-­‐830.510836842',                                          'sample_pixel_size':  '1585.72818023',                                          'proj4':  '+proj=merc  +a=6378137  +b=6378137  +lat_ts=0.0  +lon_0=0.0  +x_0=0.0  +y_0=0  +k=1.0  +units=m  +nadgrids=@null  +no_defs',                                          'projection_datum':  'spherical_mercator',                                          'west':  '-­‐8848524.83367',                                          'north':  '4825860.68838',                                          'east':  '-­‐8347434.72872',                                          'south':  '4563419.26394'                                  },                                  'native':  {                                          'number_of_lines':  '316',                                          'number_of_samples':  '316',                                          'datum':  'WGS84',                                          'line_pixel_size':  '-­‐830.510836842',                                          'sample_pixel_size':  '1585.72818023',                                          'proj4':  '+proj=merc  +a=6378137  +b=6378137  +lat_ts=0.0  +lon_0=0.0  +x_0=0.0  +y_0=0  +k=1.0  +units=m  +nadgrids=@null  +no_defs',                                          'projection_datum':  'spherical_mercator',                                          'west':  '-­‐8848524.83367',                                          'north':  '4825860.68838',                                          'east':  '-­‐8347434.72872',                                          'south':  '4563419.26394'                                  },                                  'data':  {                                          'proj4':  '',                                          'datum':  'WGS84',                                          'projection_datum':  'geo-­‐WGS84'                                  },                                  'baseimage':  {                                          'number_of_lines':  0,                                          'number_of_samples':  0,                                          'west':  '-­‐8848524.833673440000000',                                          'line_pixel_size':  0,                                          'sample_pixel_size':  0,                                          'proj4':  'spherical_mercator',                                          'projection_datum':  'spherical_mercator',                                          'north':  '4945185.028635530000000',                                          'east':  '-­‐8347434.728720820000000',                                          'south':  '4444094.923682910000000'                                  }                          },                          'tile_layer_type':  'xyz',                          'provider_discount_rate':  100,                          'provider_discount_expire_option':  True,                          'x_conv':  1,                          'parents_count':  0,                          'status':  'Approved',                          'north':  39.723622,                          'description':  '<b>StreetPro  USA</b><br>\nVersion  2009.12<br><br>  \nStreetPro  offers  users  a  premier  street-­‐level  data  product  featuring  accuracy  and  street  display  quality  unparalleled  in  the  industry.  It  reflects  real  world  geographic  conditions  
  86. Rainbows and Unicorns

  87. Rails, Java, Python

  88. Rails, Java, Python

  89. Rails, Java, Python

  90. None
  91. Escape to the Cloud!

  92. Photo by Ezra.Wolfe - http://flic.kr/p/7UUnB9

  93. None
  94. Hosted GIS

  95. It’s teh awesome! http://www.flickr.com/photos/soundfromwayout/143822346

  96. None
  97. Analysis

  98. Analysis Storage and ETL

  99. Consumer Analysis

  100. None
  101. None
  102. 5IBOLT 2VFTUJPOT$PNNFOUT KGFF!XFPHFPDPN !DBHFZKBNFT TQBUJBMMZBEKVTUFEDPN XFPHFPDPN