• Save
Professional GIS - You Are a Programmer
Upcoming SlideShare
Loading in...5
×
 

Professional GIS - You Are a Programmer

on

  • 2,551 views

If you are a GIS Professional, James says you are a programmer. How is that? Watch and find out.

If you are a GIS Professional, James says you are a programmer. How is that? Watch and find out.

Statistics

Views

Total Views
2,551
Views on SlideShare
2,551
Embed Views
0

Actions

Likes
1
Downloads
0
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Professional GIS - You Are a Programmer Professional GIS - You Are a Programmer Presentation Transcript

  • Professional GIS Argle bargle, or fooforawJames FeeChief Evangelist - WeoGeo.comMonday, October 29, 12
  • What is GIS?Monday, October 29, 12
  • What is GIS? Who Cares?Monday, October 29, 12
  • What are GIS Professionals?Monday, October 29, 12
  • What are GIS Professionals? Programmers!Monday, October 29, 12
  • Say Wut?Monday, October 29, 12
  • Programmer /= DeveloperMonday, October 29, 12
  • Monday, October 29, 12
  • Monday, October 29, 12
  • James’ Definition of a GIS Professional Someone digitally creates and "manipulates" spatial areas that may be jurisdictional, purpose, or application- oriented.Monday, October 29, 12
  • Image attribution: ESRI International User Conference - 2011 - San Diego, California by Kris Krüg http://flic.kr/p/a2rdhq CC BY-NC-SA 2.0Monday, October 29, 12
  • Embrace the Tools of ProgrammersMonday, October 29, 12
  • Monday, October 29, 12
  • I S GMonday, October 29, 12
  • Esri in the 70’sMonday, October 29, 12
  • ArcInfoMonday, October 29, 12
  • ARC/INFO Required Prime ComputerMonday, October 29, 12
  • Monday, October 29, 12
  • Monday, October 29, 12
  • Monday, October 29, 12
  • Monday, October 29, 12
  • Monday, October 29, 12
  • Monday, October 29, 12
  • Monday, October 29, 12
  • ArcGIS DesktopMonday, October 29, 12
  • ArcGIS DesktopMonday, October 29, 12
  • ArcGIS DesktopMonday, October 29, 12
  • Monday, October 29, 12
  • Monday, October 29, 12
  • Monday, October 29, 12
  • Why The History Lesson?Monday, October 29, 12
  • Photo by dullhunk - http://flic.kr/p/zDLZmMonday, October 29, 12
  • Monday, October 29, 12
  • A Simpler TimeMonday, October 29, 12
  • A Simpler TimeMonday, October 29, 12
  • Problems with Wizards • Wizards cause us to conform • Options are either preset or confusing • Lack of documenting the processMonday, October 29, 12
  • Familiarity is a Tough Nut to Crack Most GIS Professionals only know ArcToolboxMonday, October 29, 12
  • Monday, October 29, 12
  • Monday, October 29, 12
  • Monday, October 29, 12
  • 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!Monday, October 29, 12
  • Programming GIS 1999-2004Monday, October 29, 12
  • Programming GIS 1999-2004 • Start up ArcCatalog (wait 2-4 min while it loads)Monday, October 29, 12
  • Programming GIS 1999-2004 • Start up ArcCatalog (wait 2-4 min while it loads) • Browse for toolbox (clicking through the endless tree)Monday, October 29, 12
  • Programming GIS 1999-2004 • Start up ArcCatalog (wait 2-4 min while it loads) • Browse for toolbox (clicking through the endless tree) • Open tool dialogMonday, October 29, 12
  • Programming GIS 1999-2004 • Start up ArcCatalog (wait 2-4 min while it loads) • Browse for toolbox (clicking through the endless tree) • Open tool dialog • Browse for input datasetMonday, October 29, 12
  • Programming GIS 1999-2004 • 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 analysisMonday, October 29, 12
  • Programming GIS 1999-2004 • 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 locationMonday, October 29, 12
  • Programming GIS 1999-2004 • 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 optionsMonday, October 29, 12
  • Programming GIS 1999-2004 • 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 crashMonday, October 29, 12
  • Programming GIS the ArcINFO WayMonday, October 29, 12
  • Programming GIS the ArcINFO Way • Start up Command Prompt (about a second)Monday, October 29, 12
  • Programming GIS the ArcINFO Way • Start up Command Prompt (about a second) • Type simple command (BUILD, CLIP, etc)Monday, October 29, 12
  • Programming GIS the ArcINFO Way • Start up Command Prompt (about a second) • Type simple command (BUILD, CLIP, etc) • Hit EnterMonday, October 29, 12
  • Programming GIS the ArcINFO Way • Start up Command Prompt (about a second) • Type simple command (BUILD, CLIP, etc) • Hit Enter • Tell everyone how hard it wasMonday, October 29, 12
  • AML Scripting in ARC/INFO clip  soils  studbndy  stdysoilMonday, October 29, 12
  • 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 languageMonday, October 29, 12
  • 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.Monday, October 29, 12
  • Python Scripting in ArcGIS arcpy.Clip_analysis(soils.shp,  studbndy.shp,  stdysoil)Monday, October 29, 12
  • 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)Monday, October 29, 12
  • 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)Monday, October 29, 12
  • Python http://www.flickr.com/photos/wwarby/2989238425/Monday, October 29, 12
  • 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)Monday, October 29, 12
  • Export to KMLarcpy.LayerToKML_conversion(input.shp,  output.kml,  scale)Monday, October 29, 12
  • Python LibrariesMonday, October 29, 12
  • Monday, October 29, 12
  • Monday, October 29, 12
  • Monday, October 29, 12
  • If you like GIS, you like statisticsMonday, October 29, 12
  • If you like GIS, you like statistics If you like statistics, you like baseballMonday, October 29, 12
  • If you like GIS, you like statistics If you like statistics, you like baseball If you like baseball, you should root for the 2010 World Series Champion San Francisco GiantsMonday, October 29, 12
  • Baseball as an Excuse to ProgramMonday, October 29, 12
  • Monday, October 29, 12
  • NYY 95 67 .586 +136 BAL 93 69 .574 +7 TAM 90 72 .556 +120 TOR 73 89 .451 -68 BOS 69 93 .426 -72 DET 88 74 .543 +56 CHS 85 77 .525 +72 KAN 72 90 .444 -70 CLE 68 94 .420 -178 MIN 66 96 .407 -131 OAK 94 68 .580 +99 TEX 93 69 .574 +101 LAA 89 73 .549 +68 SEA 75 87 .463 -32 WAS 98 64 .605 +137 ATL 94 68 .580 +100 PHI 81 81 .500 +4 NYM 74 88 .457 -59 MIA 69 93 .426 -115 CIN 97 65 .599 +81 STL 88 74 .543 +117 MIL 83 79 .512 +43 PIT 79 83 .488 -23 CHC 61 101 .377 -146 HOU 55 107 .340 -211 SFG 94 68 .580 +69 LAD 86 76 .531 +40 ARI 81 81 .500 +46 SDP 76 86 .469 -59 COL 64 98 .395 -132Monday, October 29, 12
  • Monday, October 29, 12
  • #!/usr/bin/python from  scipy  import  stats from  pylab  import  * #  Read  in  the  data. mlb  =  loadtxt(mlb.txt,  dtype=[(team,  S3),  (w,  i),  (l,  i),   (pct,  f),    (rdiff,  i)]) #  Plot  the  data  with  invisible  points. scatter(mlb[rdiff],  mlb[w],  s=0) xlabel(Run  differential) ylabel(Wins) #  Put  team  names  at  the  data  points. for  (t,  w,  rd)  in  zip(mlb[team],  mlb[w],  mlb[rdiff]):   text(rd,  w,  t,  size=9,     horizontalalignment=center,  verticalalignment=center) #  Perform  the  linear  regression m,  b,  r,  p,  stderr  =  stats.linregress(mlb[rdiff],  mlb[w]) #  Get  endpoints  of  regression  line  and  plot  it. rdMin  =  min(mlb[rdiff]) wMin  =  m*rdMin  +  b rdMax  =  max(mlb[rdiff]) wMax  =  m*rdMax  +  b plot([rdMin,  rdMax],  [wMin,  wMax]) show()Monday, October 29, 12
  • Monday, October 29, 12
  • Monday, October 29, 12
  • Rainbows and UnicornsMonday, October 29, 12
  • PySAL https://geodacenter.asu.edu/pysalMonday, October 29, 12
  • OpenGeoDa • Spatial Data Manipulation • Visualization and Queries • Mapping • Exploratory Data Analysis • Spatial Statistics https://geodacenter.asu.edu/Monday, October 29, 12
  • Monday, October 29, 12
  • The Future for GIS ProfessionalsMonday, October 29, 12
  • So You Want to be a Word ProcessorMonday, October 29, 12
  • The Future for Word ProcessorsMonday, October 29, 12
  • Monday, October 29, 12
  • If You... • Put points on a map and throw up a scale bar • Perform geoprocessing without Python or Model Builder • Have a job description of “Plotter Operator” • Have no idea what “fuzzy tolerance” isMonday, October 29, 12
  • You’ll be out of a jobMonday, October 29, 12
  • If You... • Embrace Python as your GIS tool of choice. • Use Model Builder to automate your work flows. • Learn new tools such as TileMill/Mapnik/ PostGISMonday, October 29, 12
  • Monday, October 29, 12
  • History of GIS ProfessionalsMonday, October 29, 12
  • Monday, October 29, 12
  • Monday, October 29, 12
  • Rise of the DatabaseMonday, October 29, 12
  • Rise of the WebMonday, October 29, 12
  • Monday, October 29, 12
  • Monday, October 29, 12
  • Monday, October 29, 12
  • Monday, October 29, 12
  • Monday, October 29, 12
  • Monday, October 29, 12
  • Monday, October 29, 12
  • GISMonday, October 29, 12
  • GIS Professionals Assimilate New TechnologyMonday, October 29, 12
  • Technology Comes Early to GISMonday, October 29, 12
  • Don’t Settle Down with GISMonday, October 29, 12
  • Cutting edge is lots of work.Monday, October 29, 12
  • Monday, October 29, 12
  • One More Thing...Monday, October 29, 12
  • WeoGeo OpenStreetMapMonday, October 29, 12
  • Monday, October 29, 12
  • WeoGeo OSM • Early availability tomorrow (10/12) • Clip/Ship to FGDB, GML, KML, DWG, CSV and FFS • Available Western USA, then rest of the world • Updated monthly • Free!Monday, October 29, 12
  • James Fee jfee@weogeo.com @cageyjames spatiallyadjusted.com Thanks!Monday, October 29, 12