getting data science with r and arcgis -...

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

Upload: phungkien

Post on 16-Jul-2018

231 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Getting Data Science with R and ArcGIS - Esriproceedings.esri.com/library/userconf/devsummit17/papers/dev_int... · Technology partner of Esri ... Package Documentation. Demo: Getting

GettingDataSciencewithRandArcGISShaunWalbridge

MarjeanPobuda

Page 3: Getting Data Science with R and ArcGIS - Esriproceedings.esri.com/library/userconf/devsummit17/papers/dev_int... · Technology partner of Esri ... Package Documentation. Demo: Getting

DataScience

Page 4: Getting Data Science with R and ArcGIS - Esriproceedings.esri.com/library/userconf/devsummit17/papers/dev_int... · Technology partner of Esri ... Package Documentation. Demo: Getting

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

Page 5: Getting Data Science with R and ArcGIS - Esriproceedings.esri.com/library/userconf/devsummit17/papers/dev_int... · Technology partner of Esri ... Package Documentation. Demo: Getting

DataScienceWhat’sadatascientist?

“Adatascientistissomeonewhoisbetteratstatisticsthananysoftwareengineerandbetteratsoftwareengineeringthananystatistician.”—JoshWills

Page 6: Getting Data Science with R and ArcGIS - Esriproceedings.esri.com/library/userconf/devsummit17/papers/dev_int... · Technology partner of Esri ... Package Documentation. Demo: Getting

DataScienceUsgeographicfolksalsorelyonknowledgefrommultipledomains.Weknowthatspatialismorethanjustanxandycolumninatable,

andhowtogetvalueoutofthisdata.

Page 7: Getting Data Science with R and ArcGIS - Esriproceedings.esri.com/library/userconf/devsummit17/papers/dev_int... · Technology partner of Esri ... Package Documentation. Demo: Getting

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

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

Manyworkflowsrequirecombiningcomponentsfrommultipleenvironments.

MLtaskview

Page 8: Getting Data Science with R and ArcGIS - Esriproceedings.esri.com/library/userconf/devsummit17/papers/dev_int... · Technology partner of Esri ... Package Documentation. Demo: Getting

DataScienceJobs

R4Stats,DSjobreport

Page 9: Getting Data Science with R and ArcGIS - Esriproceedings.esri.com/library/userconf/devsummit17/papers/dev_int... · Technology partner of Esri ... Package Documentation. Demo: Getting

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 - Esriproceedings.esri.com/library/userconf/devsummit17/papers/dev_int... · Technology partner of Esri ... Package Documentation. Demo: Getting

R

Page 11: Getting Data Science with R and ArcGIS - Esriproceedings.esri.com/library/userconf/devsummit17/papers/dev_int... · Technology partner of Esri ... Package Documentation. Demo: Getting

Esriand ?IntegrationviaArcGIS–RbridgeJoined andMoretocome—GIShashistoricallybeenmorecoupledwithPython

RConsortium RFoundation

Page 12: Getting Data Science with R and ArcGIS - Esriproceedings.esri.com/library/userconf/devsummit17/papers/dev_int... · Technology partner of Esri ... Package Documentation. Demo: Getting

Why ?Powerfulcoredatastructuresandoperations

Dataframes,functionalprogrammingUnparalleledbreadthofstatisticalroutines

ThedefactolanguageofStatisticiansCRAN:6400packagesforsolvingproblemsVersatileandpowerfulplotting

WeassumebasicproficiencyprogrammingSeeresourcesforadeeperdiveintoR

Page 13: Getting Data Science with R and ArcGIS - Esriproceedings.esri.com/library/userconf/devsummit17/papers/dev_int... · Technology partner of Esri ... Package Documentation. Demo: Getting

RDataTypesyou’reusedtoseeing…

Numeric-Integer-Character-Logical-timestamp

…butothersyouprobablyaren’t:

vector-matrix-data.frame-factor

Datatypes

Page 14: Getting Data Science with R and ArcGIS - Esriproceedings.esri.com/library/userconf/devsummit17/papers/dev_int... · Technology partner of Esri ... Package Documentation. Demo: Getting

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

Page 15: Getting Data Science with R and ArcGIS - Esriproceedings.esri.com/library/userconf/devsummit17/papers/dev_int... · Technology partner of Esri ... Package Documentation. Demo: Getting

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

Page 16: Getting Data Science with R and ArcGIS - Esriproceedings.esri.com/library/userconf/devsummit17/papers/dev_int... · Technology partner of Esri ... Package Documentation. Demo: Getting

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 - Esriproceedings.esri.com/library/userconf/devsummit17/papers/dev_int... · Technology partner of Esri ... Package Documentation. Demo: Getting

DataTypesR>dfpersonmet.quotaquarter1GoodchildTRUE22ToblerFALSE33KrigeTRUE1

Page 18: Getting Data Science with R and ArcGIS - Esriproceedings.esri.com/library/userconf/devsummit17/papers/dev_int... · Technology partner of Esri ... Package Documentation. Demo: Getting

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

spTypesEntity+Attributemodel

Page 19: Getting Data Science with R and ArcGIS - Esriproceedings.esri.com/library/userconf/devsummit17/papers/dev_int... · Technology partner of Esri ... Package Documentation. Demo: Getting

R—ArcGISBridge

Page 20: Getting Data Science with R and ArcGIS - Esriproceedings.esri.com/library/userconf/devsummit17/papers/dev_int... · Technology partner of Esri ... Package Documentation. Demo: Getting

R—ArcGISBridge

Page 21: Getting Data Science with R and ArcGIS - Esriproceedings.esri.com/library/userconf/devsummit17/papers/dev_int... · Technology partner of Esri ... Package Documentation. Demo: Getting

R—ArcGISBridge

ArcGISdeveloperscancreatetoolsandtoolboxesthatintegrateArcGISandRArcGISuserscanaccessRcodethroughgeoprocessingscriptsRuserscanaccessorganizationsGIS’data,managedintraditionalGISways

https://r-arcgis.github.io

Page 22: Getting Data Science with R and ArcGIS - Esriproceedings.esri.com/library/userconf/devsummit17/papers/dev_int... · Technology partner of Esri ... Package Documentation. Demo: Getting

R–ArcGISBridgeStoreyourdatainArcGIS,accessitquicklyinR,returnRobjectsback

toArcGISnativedatatypes(e.g.geodatabasefeatureclasses).

Knowshowtoconvertspatialdatatospobjects.

PackageDocumentation

Page 23: Getting Data Science with R and ArcGIS - Esriproceedings.esri.com/library/userconf/devsummit17/papers/dev_int... · Technology partner of Esri ... Package Documentation. Demo: Getting

Demo:GettingStarted

Page 24: Getting Data Science with R and ArcGIS - Esriproceedings.esri.com/library/userconf/devsummit17/papers/dev_int... · Technology partner of Esri ... Package Documentation. Demo: Getting

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 - Esriproceedings.esri.com/library/userconf/devsummit17/papers/dev_int... · Technology partner of Esri ... Package Documentation. Demo: Getting

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 - Esriproceedings.esri.com/library/userconf/devsummit17/papers/dev_int... · Technology partner of Esri ... Package Documentation. Demo: Getting

AccessArcGISfromRStartbyloadingthelibrary,andinitializingconnectiontoArcGIS:

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

Page 27: Getting Data Science with R and ArcGIS - Esriproceedings.esri.com/library/userconf/devsummit17/papers/dev_int... · Technology partner of Esri ... Package Documentation. Demo: Getting

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 - Esriproceedings.esri.com/library/userconf/devsummit17/papers/dev_int... · Technology partner of Esri ... Package Documentation. Demo: Getting

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 - Esriproceedings.esri.com/library/userconf/devsummit17/papers/dev_int... · Technology partner of Esri ... Package Documentation. Demo: Getting

AccessArcGISfromRFinishedwithourworkinR,wanttogetthedatabacktoArcGIS.Writeourresultsbacktoanewfeatureclass,witharc.write:

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

Page 30: Getting Data Science with R and ArcGIS - Esriproceedings.esri.com/library/userconf/devsummit17/papers/dev_int... · Technology partner of Esri ... Package Documentation. Demo: Getting

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 - Esriproceedings.esri.com/library/userconf/devsummit17/papers/dev_int... · Technology partner of Esri ... Package Documentation. Demo: Getting

DataSciencewithR

Page 32: Getting Data Science with R and ArcGIS - Esriproceedings.esri.com/library/userconf/devsummit17/papers/dev_int... · Technology partner of Esri ... Package Documentation. Demo: Getting

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

HadleyWickham

feather

Page 33: Getting Data Science with R and ArcGIS - Esriproceedings.esri.com/library/userconf/devsummit17/papers/dev_int... · Technology partner of Esri ... Package Documentation. Demo: Getting

StatisticalFormulas

DomainspecificlanguageforstatisticsSimilarpropertiesinotherpartsofthelanguage

formodelspecificationconsistency

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

caret

Page 34: Getting Data Science with R and ArcGIS - Esriproceedings.esri.com/library/userconf/devsummit17/papers/dev_int... · Technology partner of Esri ... Package Documentation. Demo: Getting

LiterateProgramming

packages:RMarkdown,Roxygen2Jupyternotebooks

Ibelievethatthetimeisripeforsignificantlybetterdocumentationofprograms,andthatwecanbestachievethisbyconsideringprogramstobeworksofliterature.—DonaldKnuth,“LiterateProgramming”

Page 35: Getting Data Science with R and ArcGIS - Esriproceedings.esri.com/library/userconf/devsummit17/papers/dev_int... · Technology partner of Esri ... Package Documentation. Demo: Getting

DevelopmentEnvironments

néeIPython

Bestofclasstoolsforinteractingwithdata.

RToolsforVisualStudio

Page 36: Getting Data Science with R and ArcGIS - Esriproceedings.esri.com/library/userconf/devsummit17/papers/dev_int... · Technology partner of Esri ... Package Documentation. Demo: Getting

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

Introducingdplyr

Page 37: Getting Data Science with R and ArcGIS - Esriproceedings.esri.com/library/userconf/devsummit17/papers/dev_int... · Technology partner of Esri ... Package Documentation. Demo: Getting

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

Page 38: Getting Data Science with R and ArcGIS - Esriproceedings.esri.com/library/userconf/devsummit17/papers/dev_int... · Technology partner of Esri ... Package Documentation. Demo: Getting

R–ArcGISBridgeDeepDive

Page 39: Getting Data Science with R and ArcGIS - Esriproceedings.esri.com/library/userconf/devsummit17/papers/dev_int... · Technology partner of Esri ... Package Documentation. Demo: Getting

BuildingRScriptTools

Page 40: Getting Data Science with R and ArcGIS - Esriproceedings.esri.com/library/userconf/devsummit17/papers/dev_int... · Technology partner of Esri ... Package Documentation. Demo: Getting

Demo:R-ArcGISbridge

Page 41: Getting Data Science with R and ArcGIS - Esriproceedings.esri.com/library/userconf/devsummit17/papers/dev_int... · Technology partner of Esri ... Package Documentation. Demo: Getting

HowToInstallInstallwiththeRbridgeinstallDetailedinstallationinstructions

Page 42: Getting Data Science with R and ArcGIS - Esriproceedings.esri.com/library/userconf/devsummit17/papers/dev_int... · Technology partner of Esri ... Package Documentation. Demo: Getting

WhereCanIRunThis?

Page 43: Getting Data Science with R and ArcGIS - Esriproceedings.esri.com/library/userconf/devsummit17/papers/dev_int... · Technology partner of Esri ... Package Documentation. Demo: Getting

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 - Esriproceedings.esri.com/library/userconf/devsummit17/papers/dev_int... · Technology partner of Esri ... Package Documentation. Demo: Getting

What’sNext?CondaformanagingRenvironments

StartingatPro2.0,canbeinstalledasanyotherpackageRastersupport

Page 45: Getting Data Science with R and ArcGIS - Esriproceedings.esri.com/library/userconf/devsummit17/papers/dev_int... · Technology partner of Esri ... Package Documentation. Demo: Getting

Resources

Page 48: Getting Data Science with R and ArcGIS - Esriproceedings.esri.com/library/userconf/devsummit17/papers/dev_int... · Technology partner of Esri ... Package Documentation. Demo: Getting

RLookingforapackagetosolveaproblem?Usethe .

TonsofgoodbooksandresourcesonRavailable,checkouttheenginetofindresourcesforthelanguagewhichcanbe

difficulttolocatebecauseofthename.

CRANTaskViews

RSeek

RPackagesbyHadleyWickham

Page 49: Getting Data Science with R and ArcGIS - Esriproceedings.esri.com/library/userconf/devsummit17/papers/dev_int... · Technology partner of Esri ... Package Documentation. Demo: Getting

SpatialR/DataScience Afreeand

accessibleversionoftheclassicinthefield,ElementsofStatisticalLearning.

AnIntroductiontoStaisticalLearning(PDF) website

GettingStartedinDataScience

Page 50: Getting Data Science with R and ArcGIS - Esriproceedings.esri.com/library/userconf/devsummit17/papers/dev_int... · Technology partner of Esri ... Package Documentation. Demo: Getting

ArcGIS+RDemoof

CamPlouffe(EsriCA)ranan ,coversmaterialsinmoredepth.

UCPlenaryDemo:StatisticalIntegrationwithRSSN:spatialmodelingonstreamnetworks

RArcGISWorkshop

Page 51: Getting Data Science with R and ArcGIS - Esriproceedings.esri.com/library/userconf/devsummit17/papers/dev_int... · Technology partner of Esri ... Package Documentation. Demo: Getting

MaterialsCourses:

Books:

KonstantinKrivoruchko(GAcreator)

Toobigtoprint.Tonsofusefulstuff,coversbothRandArcGISextensively.

HighPerformanceScientificComputingTheDataScientist’sToolbox

SpatialStatisticalDataAnalysisforGISUsers

Page 52: Getting Data Science with R and ArcGIS - Esriproceedings.esri.com/library/userconf/devsummit17/papers/dev_int... · Technology partner of Esri ... Package Documentation. Demo: Getting

PackagesClusteringdemocoversmclustandsp.

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

CARTLittleBookofR

Page 53: Getting Data Science with R and ArcGIS - Esriproceedings.esri.com/library/userconf/devsummit17/papers/dev_int... · Technology partner of Esri ... Package Documentation. Demo: Getting

RArcGISExtensions

CombinesPython,R,andMATLABtosolveawidevarietyofproblems

AnRflavoredlanguageforspatialanalysis

RArcGISBridgeMarineGeospatialEcologyTools(MGET)

GeospatialModelingEnvironment

Page 54: Getting Data Science with R and ArcGIS - Esriproceedings.esri.com/library/userconf/devsummit17/papers/dev_int... · Technology partner of Esri ... Package Documentation. Demo: Getting

ConferencesuseR2016isbeingheldJuly5-7inBrussels,Belgium

Manyhappeningaroundworld,someupcomingones:ODSCEastMay3-5inBostonODSCWestNov2-4inSanFrancisco

useR!Conference

OpenDataScienceConference(ODSC)

Page 55: Getting Data Science with R and ArcGIS - Esriproceedings.esri.com/library/userconf/devsummit17/papers/dev_int... · Technology partner of Esri ... Package Documentation. Demo: Getting

Closing

Page 56: Getting Data Science with R and ArcGIS - Esriproceedings.esri.com/library/userconf/devsummit17/papers/dev_int... · Technology partner of Esri ... Package Documentation. Demo: Getting

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

Page 57: Getting Data Science with R and ArcGIS - Esriproceedings.esri.com/library/userconf/devsummit17/papers/dev_int... · Technology partner of Esri ... Package Documentation. Demo: Getting

CommunityOpensourceproject,differentethosContributionsarethecurrency

Thatsaid,majoruptakeinthecommercialspace:MicrosoftR(boughtRevolutionAnalytics);RStudio

Page 58: Getting Data Science with R and ArcGIS - Esriproceedings.esri.com/library/userconf/devsummit17/papers/dev_int... · Technology partner of Esri ... Package Documentation. Demo: Getting

ThanksRteam:DmitryPavlushko,SteveKopp,MarkJanikas;today’sspeakers

GeoprocessingTeamContactUs

Page 59: Getting Data Science with R and ArcGIS - Esriproceedings.esri.com/library/userconf/devsummit17/papers/dev_int... · Technology partner of Esri ... Package Documentation. Demo: Getting

RateThisSessioniOS,Android:Feedbackfromwithintheapp

WindowsPhone,ornosmartphone?Cuneiformtabletsaccepted.

Page 60: Getting Data Science with R and ArcGIS - Esriproceedings.esri.com/library/userconf/devsummit17/papers/dev_int... · Technology partner of Esri ... Package Documentation. Demo: Getting