getting data science with r and arcgis - esri€¦ · the data scientist’s toolbox spatial...

60
Getting Data Science with R and ArcGIS Shaun Walbridge Marjean Pobuda

Upload: others

Post on 05-Jun-2020

27 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Getting Data Science with R and ArcGIS - Esri€¦ · The Data Scientist’s Toolbox Spatial Statistical Data Analysis for GIS Users. Packages Clustering demo covers mclust and sp

GettingDataSciencewithRandArcGISShaunWalbridge

MarjeanPobuda

Page 3: Getting Data Science with R and ArcGIS - Esri€¦ · The Data Scientist’s Toolbox Spatial Statistical Data Analysis for GIS Users. Packages Clustering demo covers mclust and sp

DataScience

Page 4: Getting Data Science with R and ArcGIS - Esri€¦ · The Data Scientist’s Toolbox Spatial Statistical Data Analysis for GIS Users. Packages Clustering demo covers mclust and sp

DataScienceAmuch-hypedphrase,buteffectivelyisabouttheapplicationofstatisticsandmachinelearningtoreal-worlddata,anddevelopingformalizedtoolsinsteadofone-offanalyses.Combinesdiversefieldstosolveproblems.

Page 5: Getting Data Science with R and ArcGIS - Esri€¦ · The Data Scientist’s Toolbox Spatial Statistical Data Analysis for GIS Users. Packages Clustering demo covers mclust and sp

DataScienceWhat’sadatascientist?

“Adatascientistissomeonewhoisbetteratstatisticsthananysoftwareengineerandbetteratsoftwareengineeringthananystatistician.”—JoshWills

Page 6: Getting Data Science with R and ArcGIS - Esri€¦ · The Data Scientist’s Toolbox Spatial Statistical Data Analysis for GIS Users. Packages Clustering demo covers mclust and sp

DataScienceUsgeographicfolksalsorelyonknowledgefrommultipledomains.Weknowthatspatialismorethanjustanxandycolumninatable,

andhowtogetvalueoutofthisdata.

Page 7: Getting Data Science with R and ArcGIS - Esri€¦ · The Data Scientist’s Toolbox Spatial Statistical Data Analysis for GIS Users. Packages Clustering demo covers mclust and sp

DataScienceLanguagesPython(SciPystack,Jupyter,scikit-learn,…)

C++(Tensorflow,Shark,MLC++)Java(SparkMLlib,Weka)R( )

Manyworkflowsrequirecombiningcomponentsfrommultipleenvironments.

MLtaskview

Page 8: Getting Data Science with R and ArcGIS - Esri€¦ · The Data Scientist’s Toolbox Spatial Statistical Data Analysis for GIS Users. Packages Clustering demo covers mclust and sp

DataScienceJobs

R4Stats,DSjobreport

Page 9: Getting Data Science with R and ArcGIS - Esri€¦ · The Data Scientist’s Toolbox Spatial Statistical Data Analysis for GIS Users. Packages Clustering demo covers mclust and sp

Industrystandardforpackagemanagementinthedatasciencecontext,builtby

StartedwithPython,butasshownintheRsegmentoftheplenary,itcanbeusedtosupportR,andhybridworkflowswhichconnectmultiplelanguages.

TechnologypartnerofEsri,haveatalktomorrow:

Thurs10:30AM,MesquiteG-H

ContinuumAnaltyics

ExploringContinuumAnalytics’Open-SourceOfferings

Page 10: Getting Data Science with R and ArcGIS - Esri€¦ · The Data Scientist’s Toolbox Spatial Statistical Data Analysis for GIS Users. Packages Clustering demo covers mclust and sp

R

Page 11: Getting Data Science with R and ArcGIS - Esri€¦ · The Data Scientist’s Toolbox Spatial Statistical Data Analysis for GIS Users. Packages Clustering demo covers mclust and sp

Esriand ?IntegrationviaArcGIS–RbridgeJoined andMoretocome—GIShashistoricallybeenmorecoupledwithPython

RConsortium RFoundation

Page 12: Getting Data Science with R and ArcGIS - Esri€¦ · The Data Scientist’s Toolbox Spatial Statistical Data Analysis for GIS Users. Packages Clustering demo covers mclust and sp

Why ?Powerfulcoredatastructuresandoperations

Dataframes,functionalprogrammingUnparalleledbreadthofstatisticalroutines

ThedefactolanguageofStatisticiansCRAN:6400packagesforsolvingproblemsVersatileandpowerfulplotting

WeassumebasicproficiencyprogrammingSeeresourcesforadeeperdiveintoR

Page 13: Getting Data Science with R and ArcGIS - Esri€¦ · The Data Scientist’s Toolbox Spatial Statistical Data Analysis for GIS Users. Packages Clustering demo covers mclust and sp

RDataTypesyou’reusedtoseeing…

Numeric-Integer-Character-Logical-timestamp

…butothersyouprobablyaren’t:

vector-matrix-data.frame-factor

Datatypes

Page 14: Getting Data Science with R and ArcGIS - Esri€¦ · The Data Scientist’s Toolbox Spatial Statistical Data Analysis for GIS Users. Packages Clustering demo covers mclust and sp

DataFramesTreatstabular(andmulti-dimensional)dataasalabeled,indexedseriesofobservations.Soundssimple,butisagamechangerovertypicalsoftwarewhichisjustdoing2Dlayout(e.g.Excel)

Page 15: Getting Data Science with R and ArcGIS - Esri€¦ · The Data Scientist’s Toolbox Spatial Statistical Data Analysis for GIS Users. Packages Clustering demo covers mclust and sp

DataTypes#Createadataframeoutofanexistingsourcedf.from.csv<-read.csv("data/growth.csv",header=TRUE)

Page 16: Getting Data Science with R and ArcGIS - Esri€¦ · The Data Scientist’s Toolbox Spatial Statistical Data Analysis for GIS Users. Packages Clustering demo covers mclust and sp

DataTypes#Createadataframefromscratchquarter<-c(2,3,1)person<-c("Goodchild","Tobler","Krige")

met.quota<-c(TRUE,FALSE,TRUE)df<-data.frame(person,met.quota,quarter)

Page 17: Getting Data Science with R and ArcGIS - Esri€¦ · The Data Scientist’s Toolbox Spatial Statistical Data Analysis for GIS Users. Packages Clustering demo covers mclust and sp

DataTypesR>dfpersonmet.quotaquarter1GoodchildTRUE22ToblerFALSE33KrigeTRUE1

Page 18: Getting Data Science with R and ArcGIS - Esri€¦ · The Data Scientist’s Toolbox Spatial Statistical Data Analysis for GIS Users. Packages Clustering demo covers mclust and sp

0D:SpatialPoints1D:SpatialLines2D:SpatialPolygons3D:Solid4D:Space-time

spTypesEntity+Attributemodel

Page 19: Getting Data Science with R and ArcGIS - Esri€¦ · The Data Scientist’s Toolbox Spatial Statistical Data Analysis for GIS Users. Packages Clustering demo covers mclust and sp

R—ArcGISBridge

Page 20: Getting Data Science with R and ArcGIS - Esri€¦ · The Data Scientist’s Toolbox Spatial Statistical Data Analysis for GIS Users. Packages Clustering demo covers mclust and sp

R—ArcGISBridge

Page 21: Getting Data Science with R and ArcGIS - Esri€¦ · The Data Scientist’s Toolbox Spatial Statistical Data Analysis for GIS Users. Packages Clustering demo covers mclust and sp

R—ArcGISBridge

ArcGISdeveloperscancreatetoolsandtoolboxesthatintegrateArcGISandRArcGISuserscanaccessRcodethroughgeoprocessingscriptsRuserscanaccessorganizationsGIS’data,managedintraditionalGISways

https://r-arcgis.github.io

Page 22: Getting Data Science with R and ArcGIS - Esri€¦ · The Data Scientist’s Toolbox Spatial Statistical Data Analysis for GIS Users. Packages Clustering demo covers mclust and sp

R–ArcGISBridgeStoreyourdatainArcGIS,accessitquicklyinR,returnRobjectsback

toArcGISnativedatatypes(e.g.geodatabasefeatureclasses).

Knowshowtoconvertspatialdatatospobjects.

PackageDocumentation

Page 23: Getting Data Science with R and ArcGIS - Esri€¦ · The Data Scientist’s Toolbox Spatial Statistical Data Analysis for GIS Users. Packages Clustering demo covers mclust and sp

Demo:GettingStarted

Page 24: Getting Data Science with R and ArcGIS - Esri€¦ · The Data Scientist’s Toolbox Spatial Statistical Data Analysis for GIS Users. Packages Clustering demo covers mclust and sp

ArcGISvsRDataTypesArcGIS R ExampleValue

AddressLocator

Character AddressLocators\\MGRS

Any Character

Boolean Logical

CoordinateSystem

Character "PROJCS[\"WGS_1984_UTM_Zone_19N\"...

Dataset Character "C:\\workspace\\projects\\results.shp"

Date Character "5/6/20152:21:12AM"

Double Numeric 22.87918

Page 25: Getting Data Science with R and ArcGIS - Esri€¦ · The Data Scientist’s Toolbox Spatial Statistical Data Analysis for GIS Users. Packages Clustering demo covers mclust and sp

ArcGISvsRDataTypesArcGIS R ExampleValue

Extent Vector(xmin,ymin,xmax,ymax)

c(0,-591.561,1000,992)

Field Character

Folder Character fullpath,usewithe.g.file.info()

Long Long 19827398L

String Character

TextFile Character fullpath

Workspace Character fullpath

Page 26: Getting Data Science with R and ArcGIS - Esri€¦ · The Data Scientist’s Toolbox Spatial Statistical Data Analysis for GIS Users. Packages Clustering demo covers mclust and sp

AccessArcGISfromRStartbyloadingthelibrary,andinitializingconnectiontoArcGIS:

#loadtheArcGIS-Rbridgelibrarylibrary(arcgisbinding)#initializetheconnectiontoArcGIS.OnlyneededwhenrunningdirectlyfromR.arc.check_product()

Page 27: Getting Data Science with R and ArcGIS - Esri€¦ · The Data Scientist’s Toolbox Spatial Statistical Data Analysis for GIS Users. Packages Clustering demo covers mclust and sp

AccessArcGISfromRFirst,selectadatasource(canbeafeatureclass,alayer,oratable):

Then,filterthedatatothesetyouwanttoworkwith(createsin-memorydataframe):

ThiscreatesanArcGISdataframe–lookslikeadataframe,butretainsreferencesbacktothegeometrydata.

input.fc<-arc.open('data.gdb/features')

filtered.df<-arc.select(input.fc,fields=c('fid','mean'),where_clause="mean<100")

Page 28: Getting Data Science with R and ArcGIS - Esri€¦ · The Data Scientist’s Toolbox Spatial Statistical Data Analysis for GIS Users. Packages Clustering demo covers mclust and sp

AccessArcGISfromRNow,ifwewanttodoanalysisinRwiththisspatialdata,weneedittoberepresentedasspobjects.arc.data2spdoestheconversion

forus:

arc.sp2datainvertsthisprocess,takingspobjectsandgeneratingArcGIScompatibledataframes.

df.as.sp<-arc.data2sp(filtered.df)

Page 29: Getting Data Science with R and ArcGIS - Esri€¦ · The Data Scientist’s Toolbox Spatial Statistical Data Analysis for GIS Users. Packages Clustering demo covers mclust and sp

AccessArcGISfromRFinishedwithourworkinR,wanttogetthedatabacktoArcGIS.Writeourresultsbacktoanewfeatureclass,witharc.write:

arc.write('data.gdb/new_features',results.df)

Page 30: Getting Data Science with R and ArcGIS - Esri€¦ · The Data Scientist’s Toolbox Spatial Statistical Data Analysis for GIS Users. Packages Clustering demo covers mclust and sp

AccessArcGISfromRWKTtoproj.4conversion:

Interactingdirectlywithgeometries:

Geoprocessingsessionspecific:

arc.fromP4ToWkt,arc.fromWktToP4

arc.shapeinfo,arc.shape2sp

arc.progress_pos,arc.progress_label,arc.env(readonly)

Page 31: Getting Data Science with R and ArcGIS - Esri€¦ · The Data Scientist’s Toolbox Spatial Statistical Data Analysis for GIS Users. Packages Clustering demo covers mclust and sp

DataSciencewithR

Page 32: Getting Data Science with R and ArcGIS - Esri€¦ · The Data Scientist’s Toolbox Spatial Statistical Data Analysis for GIS Users. Packages Clustering demo covers mclust and sp

HadleyStackDeveloperatRStudio,ProfessoratRiceUniversityggplot2,scales,dplyr,devtools,manyothersNew,incollaborationwithWesMcKinney:

HadleyWickham

feather

Page 33: Getting Data Science with R and ArcGIS - Esri€¦ · The Data Scientist’s Toolbox Spatial Statistical Data Analysis for GIS Users. Packages Clustering demo covers mclust and sp

StatisticalFormulas

DomainspecificlanguageforstatisticsSimilarpropertiesinotherpartsofthelanguage

formodelspecificationconsistency

fit.results<-lm(pollution~elevation+rainfall+ppm.nox+urban.density)

caret

Page 34: Getting Data Science with R and ArcGIS - Esri€¦ · The Data Scientist’s Toolbox Spatial Statistical Data Analysis for GIS Users. Packages Clustering demo covers mclust and sp

LiterateProgramming

packages:RMarkdown,Roxygen2Jupyternotebooks

Ibelievethatthetimeisripeforsignificantlybetterdocumentationofprograms,andthatwecanbestachievethisbyconsideringprogramstobeworksofliterature.—DonaldKnuth,“LiterateProgramming”

Page 35: Getting Data Science with R and ArcGIS - Esri€¦ · The Data Scientist’s Toolbox Spatial Statistical Data Analysis for GIS Users. Packages Clustering demo covers mclust and sp

DevelopmentEnvironments

néeIPython

Bestofclasstoolsforinteractingwithdata.

RToolsforVisualStudio

Page 36: Getting Data Science with R and ArcGIS - Esri€¦ · The Data Scientist’s Toolbox Spatial Statistical Data Analysis for GIS Users. Packages Clustering demo covers mclust and sp

dplyrPackageBatting%.%group_by(playerID)%.%summarise(total=sum(G))%.%arrange(desc(total))%.%head(5)

Introducingdplyr

Page 37: Getting Data Science with R and ArcGIS - Esri€¦ · The Data Scientist’s Toolbox Spatial Statistical Data Analysis for GIS Users. Packages Clustering demo covers mclust and sp

RChallengesPerformanceissuesNotageneralpurposelanguageLackspurelyUImodeofinteraction(e.g.plotsmustbemanuallyspecified)Programmeronly.Thereisshiny,butRisfirstandforemostalanguagethatexpectsfluencyfromitsusers

Page 38: Getting Data Science with R and ArcGIS - Esri€¦ · The Data Scientist’s Toolbox Spatial Statistical Data Analysis for GIS Users. Packages Clustering demo covers mclust and sp

R–ArcGISBridgeDeepDive

Page 39: Getting Data Science with R and ArcGIS - Esri€¦ · The Data Scientist’s Toolbox Spatial Statistical Data Analysis for GIS Users. Packages Clustering demo covers mclust and sp

BuildingRScriptTools

Page 40: Getting Data Science with R and ArcGIS - Esri€¦ · The Data Scientist’s Toolbox Spatial Statistical Data Analysis for GIS Users. Packages Clustering demo covers mclust and sp

Demo:R-ArcGISbridge

Page 41: Getting Data Science with R and ArcGIS - Esri€¦ · The Data Scientist’s Toolbox Spatial Statistical Data Analysis for GIS Users. Packages Clustering demo covers mclust and sp

HowToInstallInstallwiththeRbridgeinstallDetailedinstallationinstructions

Page 42: Getting Data Science with R and ArcGIS - Esri€¦ · The Data Scientist’s Toolbox Spatial Statistical Data Analysis for GIS Users. Packages Clustering demo covers mclust and sp

WhereCanIRunThis?

Page 43: Getting Data Science with R and ArcGIS - Esri€¦ · The Data Scientist’s Toolbox Spatial Statistical Data Analysis for GIS Users. Packages Clustering demo covers mclust and sp

WhereCanIRunThis?Now:

First, 3.1orlaterArcGISPro(64-bit)1.1orlaterArcMap10.3.1orlater:

32-bitRbydefault64-bitRavailableviaBackgroundGeoprocessing

ArcGISServer10.3.1+/ArcGISEnterprise

installR

Page 44: Getting Data Science with R and ArcGIS - Esri€¦ · The Data Scientist’s Toolbox Spatial Statistical Data Analysis for GIS Users. Packages Clustering demo covers mclust and sp

What’sNext?CondaformanagingRenvironments

StartingatPro2.0,canbeinstalledasanyotherpackageRastersupport

Page 45: Getting Data Science with R and ArcGIS - Esri€¦ · The Data Scientist’s Toolbox Spatial Statistical Data Analysis for GIS Users. Packages Clustering demo covers mclust and sp

Resources

Page 48: Getting Data Science with R and ArcGIS - Esri€¦ · The Data Scientist’s Toolbox Spatial Statistical Data Analysis for GIS Users. Packages Clustering demo covers mclust and sp

RLookingforapackagetosolveaproblem?Usethe .

TonsofgoodbooksandresourcesonRavailable,checkouttheenginetofindresourcesforthelanguagewhichcanbe

difficulttolocatebecauseofthename.

CRANTaskViews

RSeek

RPackagesbyHadleyWickham

Page 49: Getting Data Science with R and ArcGIS - Esri€¦ · The Data Scientist’s Toolbox Spatial Statistical Data Analysis for GIS Users. Packages Clustering demo covers mclust and sp

SpatialR/DataScience Afreeand

accessibleversionoftheclassicinthefield,ElementsofStatisticalLearning.

AnIntroductiontoStaisticalLearning(PDF) website

GettingStartedinDataScience

Page 50: Getting Data Science with R and ArcGIS - Esri€¦ · The Data Scientist’s Toolbox Spatial Statistical Data Analysis for GIS Users. Packages Clustering demo covers mclust and sp

ArcGIS+RDemoof

CamPlouffe(EsriCA)ranan ,coversmaterialsinmoredepth.

UCPlenaryDemo:StatisticalIntegrationwithRSSN:spatialmodelingonstreamnetworks

RArcGISWorkshop

Page 51: Getting Data Science with R and ArcGIS - Esri€¦ · The Data Scientist’s Toolbox Spatial Statistical Data Analysis for GIS Users. Packages Clustering demo covers mclust and sp

MaterialsCourses:

Books:

KonstantinKrivoruchko(GAcreator)

Toobigtoprint.Tonsofusefulstuff,coversbothRandArcGISextensively.

HighPerformanceScientificComputingTheDataScientist’sToolbox

SpatialStatisticalDataAnalysisforGISUsers

Page 52: Getting Data Science with R and ArcGIS - Esri€¦ · The Data Scientist’s Toolbox Spatial Statistical Data Analysis for GIS Users. Packages Clustering demo covers mclust and sp

PackagesClusteringdemocoversmclustandsp.

Tree-basedmodels,e.g.Timeseriesdata,e.g.

CARTLittleBookofR

Page 53: Getting Data Science with R and ArcGIS - Esri€¦ · The Data Scientist’s Toolbox Spatial Statistical Data Analysis for GIS Users. Packages Clustering demo covers mclust and sp

RArcGISExtensions

CombinesPython,R,andMATLABtosolveawidevarietyofproblems

AnRflavoredlanguageforspatialanalysis

RArcGISBridgeMarineGeospatialEcologyTools(MGET)

GeospatialModelingEnvironment

Page 54: Getting Data Science with R and ArcGIS - Esri€¦ · The Data Scientist’s Toolbox Spatial Statistical Data Analysis for GIS Users. Packages Clustering demo covers mclust and sp

ConferencesuseR2016isbeingheldJuly5-7inBrussels,Belgium

Manyhappeningaroundworld,someupcomingones:ODSCEastMay3-5inBostonODSCWestNov2-4inSanFrancisco

useR!Conference

OpenDataScienceConference(ODSC)

Page 55: Getting Data Science with R and ArcGIS - Esri€¦ · The Data Scientist’s Toolbox Spatial Statistical Data Analysis for GIS Users. Packages Clustering demo covers mclust and sp

Closing

Page 56: Getting Data Science with R and ArcGIS - Esri€¦ · The Data Scientist’s Toolbox Spatial Statistical Data Analysis for GIS Users. Packages Clustering demo covers mclust and sp

OutreachResourcesandoutreach–connectthedots,wantthistobeoutreachsowecanbuildupmoreR+ArcGISpeoplewhoaren’tascommonasourcorelanguagefolks.Futureoftheproject,questions

Page 57: Getting Data Science with R and ArcGIS - Esri€¦ · The Data Scientist’s Toolbox Spatial Statistical Data Analysis for GIS Users. Packages Clustering demo covers mclust and sp

CommunityOpensourceproject,differentethosContributionsarethecurrency

Thatsaid,majoruptakeinthecommercialspace:MicrosoftR(boughtRevolutionAnalytics);RStudio

Page 58: Getting Data Science with R and ArcGIS - Esri€¦ · The Data Scientist’s Toolbox Spatial Statistical Data Analysis for GIS Users. Packages Clustering demo covers mclust and sp

ThanksRteam:DmitryPavlushko,SteveKopp,MarkJanikas;today’sspeakers

GeoprocessingTeamContactUs

Page 59: Getting Data Science with R and ArcGIS - Esri€¦ · The Data Scientist’s Toolbox Spatial Statistical Data Analysis for GIS Users. Packages Clustering demo covers mclust and sp

RateThisSessioniOS,Android:Feedbackfromwithintheapp

WindowsPhone,ornosmartphone?Cuneiformtabletsaccepted.

Page 60: Getting Data Science with R and ArcGIS - Esri€¦ · The Data Scientist’s Toolbox Spatial Statistical Data Analysis for GIS Users. Packages Clustering demo covers mclust and sp