{"id":1085501,"date":"2020-12-14T10:13:46","date_gmt":"2020-12-14T18:13:46","guid":{"rendered":"https:\/\/www.esri.com\/arcgis-blog\/?post_type=blog&#038;p=1085501"},"modified":"2021-07-08T16:57:24","modified_gmt":"2021-07-08T23:57:24","slug":"make-this-watershed-workbook-data-prep","status":"publish","type":"blog","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/insights\/mapping\/make-this-watershed-workbook-data-prep","title":{"rendered":"Make this Watershed Workbook: Some Assembly Required"},"author":129801,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"open","ping_status":"closed","template":"","format":"standard","meta":{"_acf_changed":false,"_searchwp_excluded":""},"categories":[23341,22941],"tags":[466322,761152,176452,24341,24351],"industry":[],"product":[36801],"class_list":["post-1085501","blog","type-blog","status-publish","format-standard","hentry","category-analytics","category-mapping","tag-arcgis-insights","tag-insights-watershed-analysis","tag-mapping","tag-python","tag-scripting","product-insights"],"acf":{"short_description":"Step through the workflow for preparing data within the Insights scripting environment.","flexible_content":[{"acf_fc_layout":"content","content":"<p><em>In this series, we\u2019ll be stepping through the workflow for creating an Insights workbook of watershed monitoring data using this <a href=\"https:\/\/arcg.is\/0PKeuL\">map<\/a> as inspiration. Along the way we\u2019ll be using the analysis strengths of Insights to crank things to \u201811\u2019.<\/em><\/p>\n<p>So following along or apply it to your own data analysis project as we set off on creating our next best workbook. Now if only we had some data to plug in and work with\u2026<\/p>\n<p>Thanks to the proliferation of sensors, many datasets are becoming much more readily available. In particular, those datasets pertaining to monitored phenomena are just about everywhere (think <a href=\"https:\/\/arcg.is\/1j0D1e0\">earthquakes<\/a>, <a href=\"https:\/\/arcg.is\/0m0WT\">weather<\/a>, and <a href=\"https:\/\/www.ndbc.noaa.gov\/\">oceans<\/a>). These datasets are often robust and long running; maintained by scientific, conservation, or government agencies that make the data available for download. However, the harsh reality is that sometimes with great volume, can come great inconvenience:<\/p>\n<ul>\n<li>Data volume is massive and often split into \u2018chunks\u2019 to facilitate transfer.<\/li>\n<li>Download interfaces put limits on the downloads (temporal ranges, number of sensors)<\/li>\n<li>Last but definitely not least, field names get changed over the course of the dataset (that\u2019s worth an audible groan).<\/li>\n<li>[Insert unique personal data complaint here].<\/li>\n<\/ul>\n<p>Fear not! With a little scripty-business you can piece the data back together, clean it up, and pull it right into Insights!<\/p>\n<p>Still have doubts? Thinking of copy\/pasting, removing headers, or collating your data manually? JUST WAIT, I wasn\u2019t sure my scripting skills were up to snuff either but buckle up because we\u2019re going to learn together!<\/p>\n<h1>Scripting Groundwork<\/h1>\n<p>Pausing just a moment. If scripting in Insights doesn\u2019t ring a bell, get all the background you need from this <a href=\"https:\/\/www.esri.com\/arcgis-blog\/products\/insights\/announcements\/scripting-insights-arcgis\/\">announcement<\/a>. It has all the details on the environments supported and how to set everything up. Bonus, it has some samples that are great reference in this <a href=\"https:\/\/github.com\/Esri\/insights-scripting-guide\">GitHub repo<\/a> (pssst, these proved invaluable for me getting started). Getting your desired environments set up shouldn\u2019t take long, I\u2019ll wait.<\/p>\n<p>All done? Great, now let\u2019s start digging into some data!<\/p>\n<h1>Data Collection<\/h1>\n<p>The data collection, processing, and analysis for the initial map took longer than I care to admit. Approaching this task with Insights, I was looking forward to letting Insights do the analytical heavy lifting.<\/p>\n<p>I started with gathering the data from <a href=\"https:\/\/www.grandriver.ca\/en\/index.aspx\">Grand River Conservation Authority<\/a>, my local conservation authority. I was interested in river flow again but many other variables are available from their <a href=\"https:\/\/data.grandriver.ca\/downloads-monitoring.html\">monitoring datasets<\/a>. This specific download interface limits the downloads to a 365-day range. However, I was looking to explore the data across a greater date range, I resigned to performing a number of downloads for the stations of interest.<\/p>\n<p>I dumped the files into a \u2018Data\u2019 folder for this project to keep things somewhat organized. After I inspected a sample file, I found that the csv has a header with some helpful metadata. Unfortunately, this metadata prevents me from simply smacking the data together. It would also be more useful stored in a column of the dataset since I\u2019m interested in multiple sensors.<\/p>\n"},{"acf_fc_layout":"image","image":{"ID":1086801,"id":1086801,"title":"DataHeaders","filename":"DataHeaders.png","filesize":69569,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/12\/DataHeaders.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/insights\/mapping\/make-this-watershed-workbook-data-prep\/dataheaders","alt":"Image shows the lines of header metadata present within the downloaded data.","author":"129801","description":"","caption":"Useful metadata, but mildy inconvenient.","name":"dataheaders","status":"inherit","uploaded_to":1085501,"date":"2020-12-15 15:07:30","modified":"2020-12-15 15:09:34","menu_order":0,"mime_type":"image\/png","type":"image","subtype":"png","icon":"https:\/\/www.esri.com\/arcgis-blog\/wp-includes\/images\/media\/default.png","width":575,"height":379,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/12\/DataHeaders-213x200.png","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/12\/DataHeaders.png","medium-width":396,"medium-height":261,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/12\/DataHeaders.png","medium_large-width":575,"medium_large-height":379,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/12\/DataHeaders.png","large-width":575,"large-height":379,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/12\/DataHeaders.png","1536x1536-width":575,"1536x1536-height":379,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/12\/DataHeaders.png","2048x2048-width":575,"2048x2048-height":379,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/12\/DataHeaders.png","card_image-width":575,"card_image-height":379,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/12\/DataHeaders.png","wide_image-width":575,"wide_image-height":379}},"image_position":"center","orientation":"horizontal","hyperlink":""},{"acf_fc_layout":"content","content":"<p>Enter a data preparation script, I could author a script to collate the data into a single complete dataset. Furthermore, transposing some of the sensor metadata from the file header into attributes of the dataset would give me a structured dataset containing multiple sensors and additional attributes for later use.<\/p>\n"},{"acf_fc_layout":"image","image":{"ID":1086811,"id":1086811,"title":"SchemaDiagram","filename":"SchemaDiagram.png","filesize":251325,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/12\/SchemaDiagram.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/insights\/mapping\/make-this-watershed-workbook-data-prep\/schemadiagram","alt":"Image shows how we'd like to transpose some of the data header into columns.","author":"129801","description":"","caption":"Transposing the sensor metadata provides a data structure that contains all sensors with additional attributes.","name":"schemadiagram","status":"inherit","uploaded_to":1085501,"date":"2020-12-15 15:10:21","modified":"2020-12-15 15:11:44","menu_order":0,"mime_type":"image\/png","type":"image","subtype":"png","icon":"https:\/\/www.esri.com\/arcgis-blog\/wp-includes\/images\/media\/default.png","width":1815,"height":675,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/12\/SchemaDiagram-213x200.png","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/12\/SchemaDiagram.png","medium-width":464,"medium-height":173,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/12\/SchemaDiagram.png","medium_large-width":768,"medium_large-height":286,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/12\/SchemaDiagram.png","large-width":1815,"large-height":675,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/12\/SchemaDiagram-1536x571.png","1536x1536-width":1536,"1536x1536-height":571,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/12\/SchemaDiagram.png","2048x2048-width":1815,"2048x2048-height":675,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/12\/SchemaDiagram-826x307.png","card_image-width":826,"card_image-height":307,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/12\/SchemaDiagram.png","wide_image-width":1815,"wide_image-height":675}},"image_position":"center","orientation":"horizontal","hyperlink":""},{"acf_fc_layout":"content","content":"<h1>Script<\/h1>\n<p>With the data structure in mind, I fired up the scripting environment in Insights and got to work. I dove right into the scripting environment in a new workbook and <a href=\"https:\/\/doc.arcgis.com\/en\/insights\/latest\/analyze\/connect-kernel-gateway.htm\">created a connection<\/a> to a Python kernel for this project. This is where I\u2019d author the script. You can also, load in previously created scripts, run them with datasets from Insights, and save out any scripts you author as Jupyter Notebook files (.ipynb). For those following along, here\u2019s my <a href=\"https:\/\/github.com\/Esri\/insights-scripting-guide\/tree\/master\/Py\/watershed-river-flow\">completed script<\/a> for reference.<\/p>\n"},{"acf_fc_layout":"image","image":{"ID":1086871,"id":1086871,"title":"ScriptEnvironment","filename":"ScriptEnvironment.png","filesize":40785,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/12\/ScriptEnvironment.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/insights\/mapping\/make-this-watershed-workbook-data-prep\/scriptenvironment","alt":"Image shows where to access the Insights scripting environment from within the toolbar.","author":"129801","description":"","caption":"Buckle up, here we go!","name":"scriptenvironment","status":"inherit","uploaded_to":1085501,"date":"2020-12-15 15:34:40","modified":"2020-12-15 16:10:35","menu_order":0,"mime_type":"image\/png","type":"image","subtype":"png","icon":"https:\/\/www.esri.com\/arcgis-blog\/wp-includes\/images\/media\/default.png","width":1126,"height":746,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/12\/ScriptEnvironment-213x200.png","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/12\/ScriptEnvironment.png","medium-width":394,"medium-height":261,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/12\/ScriptEnvironment.png","medium_large-width":768,"medium_large-height":509,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/12\/ScriptEnvironment.png","large-width":1126,"large-height":746,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/12\/ScriptEnvironment.png","1536x1536-width":1126,"1536x1536-height":746,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/12\/ScriptEnvironment.png","2048x2048-width":1126,"2048x2048-height":746,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/12\/ScriptEnvironment-702x465.png","card_image-width":702,"card_image-height":465,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/12\/ScriptEnvironment.png","wide_image-width":1126,"wide_image-height":746}},"image_position":"center","orientation":"horizontal","hyperlink":""},{"acf_fc_layout":"content","content":"<p>I started with importing the modules I figured I\u2019d need. In this case, I was going to wade into <a href=\"https:\/\/pandas.pydata.org\/\">pandas<\/a> for the first time. I made thorough use of the developer samples and modelled my script after this <a href=\"https:\/\/github.com\/Esri\/insights-scripting-guide\/blob\/master\/Py\/snowfall\/snowfall.py\">snowfall example<\/a> that performed a similar data assembly.<\/p>\n<h3>Gather Datasets<\/h3>\n<p>I began by setting my script to walk through my \u2018Data\u2019 folder containing my csv downloads and to a list of file names and paths.<\/p>\n"},{"acf_fc_layout":"image","image":{"ID":1086881,"id":1086881,"title":"Script1","filename":"Script1.png","filesize":35881,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/12\/Script1.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/insights\/mapping\/make-this-watershed-workbook-data-prep\/script1-3","alt":"","author":"129801","description":"","caption":"","name":"script1-3","status":"inherit","uploaded_to":1085501,"date":"2020-12-15 15:35:48","modified":"2020-12-15 15:35:48","menu_order":0,"mime_type":"image\/png","type":"image","subtype":"png","icon":"https:\/\/www.esri.com\/arcgis-blog\/wp-includes\/images\/media\/default.png","width":977,"height":289,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/12\/Script1-213x200.png","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/12\/Script1.png","medium-width":464,"medium-height":137,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/12\/Script1.png","medium_large-width":768,"medium_large-height":227,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/12\/Script1.png","large-width":977,"large-height":289,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/12\/Script1.png","1536x1536-width":977,"1536x1536-height":289,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/12\/Script1.png","2048x2048-width":977,"2048x2048-height":289,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/12\/Script1-826x244.png","card_image-width":826,"card_image-height":244,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/12\/Script1.png","wide_image-width":977,"wide_image-height":289}},"image_position":"center","orientation":"horizontal","hyperlink":""},{"acf_fc_layout":"content","content":"<p>For each of the files collected from my data directory, I\u2019d read those *.csv files into a pandas dataframe. I also transposed some of the attributes from the file header into new fields by referencing their row index within the second column. When complete I dropped these initial rows from the file. Now that my header was removed and I had my new columns, I organized the fields in the file.<\/p>\n"},{"acf_fc_layout":"image","image":{"ID":1086891,"id":1086891,"title":"Script2","filename":"Script2.png","filesize":71298,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/12\/Script2.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/insights\/mapping\/make-this-watershed-workbook-data-prep\/script2-2","alt":"","author":"129801","description":"","caption":"","name":"script2-2","status":"inherit","uploaded_to":1085501,"date":"2020-12-15 15:36:22","modified":"2020-12-15 15:36:22","menu_order":0,"mime_type":"image\/png","type":"image","subtype":"png","icon":"https:\/\/www.esri.com\/arcgis-blog\/wp-includes\/images\/media\/default.png","width":977,"height":310,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/12\/Script2-213x200.png","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/12\/Script2.png","medium-width":464,"medium-height":147,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/12\/Script2.png","medium_large-width":768,"medium_large-height":244,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/12\/Script2.png","large-width":977,"large-height":310,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/12\/Script2.png","1536x1536-width":977,"1536x1536-height":310,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/12\/Script2.png","2048x2048-width":977,"2048x2048-height":310,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/12\/Script2-826x262.png","card_image-width":826,"card_image-height":262,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/12\/Script2.png","wide_image-width":977,"wide_image-height":310}},"image_position":"center","orientation":"horizontal","hyperlink":""},{"acf_fc_layout":"content","content":"<h3>Merge and Organize<\/h3>\n<p>I concatenated all of the dataframes from the dictionary that was constructed. Moving forward, I&#8217;d have a single dataframe to work with in the script.<\/p>\n"},{"acf_fc_layout":"image","image":{"ID":1086901,"id":1086901,"title":"Script3","filename":"Script3.png","filesize":11489,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/12\/Script3.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/insights\/mapping\/make-this-watershed-workbook-data-prep\/script3","alt":"","author":"129801","description":"","caption":"","name":"script3","status":"inherit","uploaded_to":1085501,"date":"2020-12-15 15:37:55","modified":"2020-12-15 15:37:55","menu_order":0,"mime_type":"image\/png","type":"image","subtype":"png","icon":"https:\/\/www.esri.com\/arcgis-blog\/wp-includes\/images\/media\/default.png","width":977,"height":41,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/12\/Script3-213x41.png","thumbnail-width":213,"thumbnail-height":41,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/12\/Script3.png","medium-width":464,"medium-height":19,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/12\/Script3.png","medium_large-width":768,"medium_large-height":32,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/12\/Script3.png","large-width":977,"large-height":41,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/12\/Script3.png","1536x1536-width":977,"1536x1536-height":41,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/12\/Script3.png","2048x2048-width":977,"2048x2048-height":41,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/12\/Script3-826x35.png","card_image-width":826,"card_image-height":35,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/12\/Script3.png","wide_image-width":977,"wide_image-height":41}},"image_position":"center","orientation":"horizontal","hyperlink":""},{"acf_fc_layout":"content","content":"<p>It was at this point I went and added my assembled dataframe to Insights only to realize that I hadn\u2019t specified any datatypes for my fields. Thankfully, I\u2019d saved my script so I could open and modify it to set the column datatypes. I also realized it would be helpful to sort based on the \u2018timestamp\u2019 column so all of my data was in order based on when it was recorded.<\/p>\n"},{"acf_fc_layout":"image","image":{"ID":1086911,"id":1086911,"title":"Script4","filename":"Script4.png","filesize":35982,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/12\/Script4.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/insights\/mapping\/make-this-watershed-workbook-data-prep\/script4","alt":"","author":"129801","description":"","caption":"","name":"script4","status":"inherit","uploaded_to":1085501,"date":"2020-12-15 15:38:34","modified":"2020-12-15 15:38:34","menu_order":0,"mime_type":"image\/png","type":"image","subtype":"png","icon":"https:\/\/www.esri.com\/arcgis-blog\/wp-includes\/images\/media\/default.png","width":977,"height":156,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/12\/Script4-213x156.png","thumbnail-width":213,"thumbnail-height":156,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/12\/Script4.png","medium-width":464,"medium-height":74,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/12\/Script4.png","medium_large-width":768,"medium_large-height":123,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/12\/Script4.png","large-width":977,"large-height":156,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/12\/Script4.png","1536x1536-width":977,"1536x1536-height":156,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/12\/Script4.png","2048x2048-width":977,"2048x2048-height":156,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/12\/Script4-826x132.png","card_image-width":826,"card_image-height":132,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/12\/Script4.png","wide_image-width":977,"wide_image-height":156}},"image_position":"center","orientation":"horizontal","hyperlink":""},{"acf_fc_layout":"content","content":"<h3>Inspect Results<\/h3>\n<p>As I authored the script, I regularly used the <a href=\"https:\/\/pandas.pydata.org\/docs\/reference\/api\/pandas.DataFrame.shape.html\">.shape<\/a>, <a href=\"https:\/\/pandas.pydata.org\/docs\/reference\/api\/pandas.DataFrame.head.html\">.head<\/a>, and <a href=\"https:\/\/pandas.pydata.org\/docs\/reference\/api\/pandas.DataFrame.sample.html\">.sample<\/a> <a href=\"https:\/\/pandas.pydata.org\/\">pandas<\/a> properties to output the results to the <strong>Out[ ]<\/strong> cell and reveal how I was successfully, or more frequently unsuccessfully, progressing as I became familiar with pandas. With much more documentation searching and reference to the samples, I ended up with a table with all my data collated and the transposed attributes.<\/p>\n"},{"acf_fc_layout":"image","image":{"ID":1086921,"id":1086921,"title":"OutputTable","filename":"OutputTable.png","filesize":88732,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/12\/OutputTable.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/insights\/mapping\/make-this-watershed-workbook-data-prep\/outputtable","alt":"","author":"129801","description":"","caption":"Look at that, almost like I actually knew what I was doing!","name":"outputtable","status":"inherit","uploaded_to":1085501,"date":"2020-12-15 15:39:09","modified":"2020-12-15 15:39:40","menu_order":0,"mime_type":"image\/png","type":"image","subtype":"png","icon":"https:\/\/www.esri.com\/arcgis-blog\/wp-includes\/images\/media\/default.png","width":977,"height":372,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/12\/OutputTable-213x200.png","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/12\/OutputTable.png","medium-width":464,"medium-height":177,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/12\/OutputTable.png","medium_large-width":768,"medium_large-height":292,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/12\/OutputTable.png","large-width":977,"large-height":372,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/12\/OutputTable.png","1536x1536-width":977,"1536x1536-height":372,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/12\/OutputTable.png","2048x2048-width":977,"2048x2048-height":372,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/12\/OutputTable-826x315.png","card_image-width":826,"card_image-height":315,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/12\/OutputTable.png","wide_image-width":977,"wide_image-height":372}},"image_position":"center","orientation":"horizontal","hyperlink":""},{"acf_fc_layout":"content","content":"<h1>Output Dataset<\/h1>\n<p>With that everything I set out to achieve with this dataset was completed. I added the dataframe to the Insights datapane and gave it a descriptive name. I also saved my script as a <a href=\"https:\/\/github.com\/Esri\/insights-scripting-guide\/tree\/master\/Py\/watershed-river-flow\">Jupyter Notebook<\/a> for safekeeping.<\/p>\n"},{"acf_fc_layout":"image","image":{"ID":1086931,"id":1086931,"title":"Script5","filename":"Script5.png","filesize":8789,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/12\/Script5.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/insights\/mapping\/make-this-watershed-workbook-data-prep\/script5","alt":"","author":"129801","description":"","caption":"","name":"script5","status":"inherit","uploaded_to":1085501,"date":"2020-12-15 15:40:03","modified":"2020-12-15 15:40:03","menu_order":0,"mime_type":"image\/png","type":"image","subtype":"png","icon":"https:\/\/www.esri.com\/arcgis-blog\/wp-includes\/images\/media\/default.png","width":977,"height":41,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/12\/Script5-213x41.png","thumbnail-width":213,"thumbnail-height":41,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/12\/Script5.png","medium-width":464,"medium-height":19,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/12\/Script5.png","medium_large-width":768,"medium_large-height":32,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/12\/Script5.png","large-width":977,"large-height":41,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/12\/Script5.png","1536x1536-width":977,"1536x1536-height":41,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/12\/Script5.png","2048x2048-width":977,"2048x2048-height":41,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/12\/Script5-826x35.png","card_image-width":826,"card_image-height":35,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/12\/Script5.png","wide_image-width":977,"wide_image-height":41}},"image_position":"center","orientation":"horizontal","hyperlink":""},{"acf_fc_layout":"content","content":"<p>Once saved, this script can be easily re-run with the new results being added directly to Insights. I made frequent use of this as I constantly increased the scope of my dataset, occasionally adding more sensors and further increasing the timeframe. Rerunning my script and then updating the data sources in the Analysis View quickly updated the content of my workbook.<\/p>\n"},{"acf_fc_layout":"image","image":{"ID":1086941,"id":1086941,"title":"UpdateSources","filename":"UpdateSources.png","filesize":29764,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/12\/UpdateSources.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/insights\/mapping\/make-this-watershed-workbook-data-prep\/updatesources","alt":"","author":"129801","description":"","caption":"","name":"updatesources","status":"inherit","uploaded_to":1085501,"date":"2020-12-15 15:41:15","modified":"2020-12-15 15:41:15","menu_order":0,"mime_type":"image\/png","type":"image","subtype":"png","icon":"https:\/\/www.esri.com\/arcgis-blog\/wp-includes\/images\/media\/default.png","width":593,"height":474,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/12\/UpdateSources-213x200.png","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/12\/UpdateSources.png","medium-width":327,"medium-height":261,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/12\/UpdateSources.png","medium_large-width":593,"medium_large-height":474,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/12\/UpdateSources.png","large-width":593,"large-height":474,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/12\/UpdateSources.png","1536x1536-width":593,"1536x1536-height":474,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/12\/UpdateSources.png","2048x2048-width":593,"2048x2048-height":474,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/12\/UpdateSources-582x465.png","card_image-width":582,"card_image-height":465,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/12\/UpdateSources.png","wide_image-width":593,"wide_image-height":474}},"image_position":"center","orientation":"horizontal","hyperlink":""},{"acf_fc_layout":"content","content":"<p>Phew, that wasn\u2019t so bad right? This was just a simple exercise and we managed to collate all of our downloaded datasets into one table, rearrange the fields to improve the structure, and bring the new dataset right into Insights. As you wade deeper into the scripting capabilities,\u00a0 you can further manage and prepare you data and conduct analysis without jumping between applications. The best part is if we need to repeat our analysis, add more data, or modify the scope we can simply run our script again and Insights can refresh our workbook with the new sources (can\u2019t get much more convenient than that, right?).<\/p>\n<p>Stayed tuned for a future walkthrough where we\u2019ll use this dataset to build out a <a href=\"https:\/\/www.esri.com\/arcgis-blog\/products\/insights\/mapping\/make-this-watershed-workbook-chart-vision\">complete workbook with visualizations<\/a> that reveal trends in the data and eventually create a polished presentation to share with others.<\/p>\n"}],"authors":[{"ID":129801,"user_firstname":"Warren","user_lastname":"Davison","nickname":"Warren Davison","user_nicename":"wdavison","display_name":"Warren Davison","user_email":"wdavison@esri.com","user_url":"https:\/\/warrenrdavison.wixsite.com\/maps","user_registered":"2020-11-18 21:21:08","user_description":"I specialize in creating engaging maps and graphics that tell immersive, place-based stories. Based in Kitchener, Canada, I work with Esri\u2019s StoryMaps team, where I enjoy sharing the creative process behind each project. When I'm not exploring vectors and pixels, you\u2019ll likely find me cycling around town with my kids along for the ride.","user_avatar":"<img data-del=\"avatar\" src='https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/09\/Profile_UC-e1662557773428-261x261.jpg' class='avatar pp-user-avatar avatar-96 photo ' height='96' width='96'\/>"}],"related_articles":[{"ID":488312,"post_author":"7711","post_date":"2019-04-18 14:50:06","post_date_gmt":"2019-04-18 21:50:06","post_content":"","post_title":"Scripting in Insights for ArcGIS","post_excerpt":"","post_status":"publish","comment_status":"closed","ping_status":"closed","post_password":"","post_name":"scripting-insights-arcgis","to_ping":"","pinged":"","post_modified":"2019-04-18 14:57:05","post_modified_gmt":"2019-04-18 21:57:05","post_content_filtered":"","post_parent":0,"guid":"https:\/\/www.esri.com\/arcgis-blog\/?post_type=blog&#038;p=488312","menu_order":0,"post_type":"blog","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":324122,"post_author":"6671","post_date":"2018-09-28 00:00:22","post_date_gmt":"2018-09-28 07:00:22","post_content":"","post_title":"Exploring Ocean Sensors with Insights for ArcGIS","post_excerpt":"","post_status":"publish","comment_status":"closed","ping_status":"closed","post_password":"","post_name":"use-insights-to-explore-sensor-data","to_ping":"","pinged":"","post_modified":"2019-01-17 09:59:07","post_modified_gmt":"2019-01-17 17:59:07","post_content_filtered":"","post_parent":0,"guid":"http:\/\/www.esri.com\/arcgis-blog\/?post_type=blog&#038;p=324122","menu_order":0,"post_type":"blog","post_mime_type":"","comment_count":"0","filter":"raw"}],"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/12\/WatershedBanner_Card.png","wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/12\/WatershedBanner_Wide.png"},"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v25.9 (Yoast SEO v25.9) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Make this Watershed Workbook: Some Assembly Required<\/title>\n<meta name=\"description\" content=\"Step through this workflow for preparing data within the Insights scripting environment and create a workbook of river flow monitoring data.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.esri.com\/arcgis-blog\/products\/insights\/mapping\/make-this-watershed-workbook-data-prep\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Make this Watershed Workbook: Some Assembly Required\" \/>\n<meta property=\"og:description\" content=\"Step through this workflow for preparing data within the Insights scripting environment and create a workbook of river flow monitoring data.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.esri.com\/arcgis-blog\/products\/insights\/mapping\/make-this-watershed-workbook-data-prep\" \/>\n<meta property=\"og:site_name\" content=\"ArcGIS Blog\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/esrigis\/\" \/>\n<meta property=\"article:modified_time\" content=\"2021-07-08T23:57:24+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.esri.com\/arcgis-blog\/wp-content\/uploads\/2020\/12\/WatershedBanner_Card.png\" \/>\n\t<meta property=\"og:image:width\" content=\"826\" \/>\n\t<meta property=\"og:image:height\" content=\"465\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:site\" content=\"@ESRI\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":[\"Article\",\"BlogPosting\"],\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/insights\/mapping\/make-this-watershed-workbook-data-prep#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/insights\/mapping\/make-this-watershed-workbook-data-prep\"},\"author\":{\"name\":\"Warren Davison\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/83d26318b30c9057df8e1bf304b10580\"},\"headline\":\"Make this Watershed Workbook: Some Assembly Required\",\"datePublished\":\"2020-12-14T18:13:46+00:00\",\"dateModified\":\"2021-07-08T23:57:24+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/insights\/mapping\/make-this-watershed-workbook-data-prep\"},\"wordCount\":7,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#organization\"},\"keywords\":[\"ArcGIS Insights\",\"insights watershed analysis\",\"mapping\",\"python\",\"scripting\"],\"articleSection\":[\"Analytics\",\"Mapping\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.esri.com\/arcgis-blog\/products\/insights\/mapping\/make-this-watershed-workbook-data-prep#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/insights\/mapping\/make-this-watershed-workbook-data-prep\",\"url\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/insights\/mapping\/make-this-watershed-workbook-data-prep\",\"name\":\"Make this Watershed Workbook: Some Assembly Required\",\"isPartOf\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#website\"},\"datePublished\":\"2020-12-14T18:13:46+00:00\",\"dateModified\":\"2021-07-08T23:57:24+00:00\",\"description\":\"Step through this workflow for preparing data within the Insights scripting environment and create a workbook of river flow monitoring data.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/insights\/mapping\/make-this-watershed-workbook-data-prep#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.esri.com\/arcgis-blog\/products\/insights\/mapping\/make-this-watershed-workbook-data-prep\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/insights\/mapping\/make-this-watershed-workbook-data-prep#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.esri.com\/arcgis-blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Make this Watershed Workbook: Some Assembly Required\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#website\",\"url\":\"https:\/\/www.esri.com\/arcgis-blog\/\",\"name\":\"ArcGIS Blog\",\"description\":\"Get insider info from Esri product teams\",\"publisher\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.esri.com\/arcgis-blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#organization\",\"name\":\"Esri\",\"url\":\"https:\/\/www.esri.com\/arcgis-blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/Esri.png\",\"contentUrl\":\"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/Esri.png\",\"width\":400,\"height\":400,\"caption\":\"Esri\"},\"image\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/esrigis\/\",\"https:\/\/x.com\/ESRI\",\"https:\/\/www.linkedin.com\/company\/5311\/\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/83d26318b30c9057df8e1bf304b10580\",\"name\":\"Warren Davison\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/09\/Profile_UC-e1662557773428-261x261.jpg\",\"contentUrl\":\"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/09\/Profile_UC-e1662557773428-261x261.jpg\",\"caption\":\"Warren Davison\"},\"description\":\"I specialize in creating engaging maps and graphics that tell immersive, place-based stories. Based in Kitchener, Canada, I work with Esri\u2019s StoryMaps team, where I enjoy sharing the creative process behind each project. When I'm not exploring vectors and pixels, you\u2019ll likely find me cycling around town with my kids along for the ride.\",\"sameAs\":[\"https:\/\/warrenrdavison.wixsite.com\/maps\",\"www.linkedin.com\/in\/warren-davison\",\"https:\/\/x.com\/WarrenDz\"],\"url\":\"https:\/\/www.esri.com\/arcgis-blog\/author\/wdavison\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Make this Watershed Workbook: Some Assembly Required","description":"Step through this workflow for preparing data within the Insights scripting environment and create a workbook of river flow monitoring data.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.esri.com\/arcgis-blog\/products\/insights\/mapping\/make-this-watershed-workbook-data-prep","og_locale":"en_US","og_type":"article","og_title":"Make this Watershed Workbook: Some Assembly Required","og_description":"Step through this workflow for preparing data within the Insights scripting environment and create a workbook of river flow monitoring data.","og_url":"https:\/\/www.esri.com\/arcgis-blog\/products\/insights\/mapping\/make-this-watershed-workbook-data-prep","og_site_name":"ArcGIS Blog","article_publisher":"https:\/\/www.facebook.com\/esrigis\/","article_modified_time":"2021-07-08T23:57:24+00:00","og_image":[{"width":826,"height":465,"url":"https:\/\/www.esri.com\/arcgis-blog\/wp-content\/uploads\/2020\/12\/WatershedBanner_Card.png","type":"image\/png"}],"twitter_card":"summary_large_image","twitter_site":"@ESRI","schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":["Article","BlogPosting"],"@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/insights\/mapping\/make-this-watershed-workbook-data-prep#article","isPartOf":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/insights\/mapping\/make-this-watershed-workbook-data-prep"},"author":{"name":"Warren Davison","@id":"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/83d26318b30c9057df8e1bf304b10580"},"headline":"Make this Watershed Workbook: Some Assembly Required","datePublished":"2020-12-14T18:13:46+00:00","dateModified":"2021-07-08T23:57:24+00:00","mainEntityOfPage":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/insights\/mapping\/make-this-watershed-workbook-data-prep"},"wordCount":7,"commentCount":0,"publisher":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/#organization"},"keywords":["ArcGIS Insights","insights watershed analysis","mapping","python","scripting"],"articleSection":["Analytics","Mapping"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.esri.com\/arcgis-blog\/products\/insights\/mapping\/make-this-watershed-workbook-data-prep#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/insights\/mapping\/make-this-watershed-workbook-data-prep","url":"https:\/\/www.esri.com\/arcgis-blog\/products\/insights\/mapping\/make-this-watershed-workbook-data-prep","name":"Make this Watershed Workbook: Some Assembly Required","isPartOf":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/#website"},"datePublished":"2020-12-14T18:13:46+00:00","dateModified":"2021-07-08T23:57:24+00:00","description":"Step through this workflow for preparing data within the Insights scripting environment and create a workbook of river flow monitoring data.","breadcrumb":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/insights\/mapping\/make-this-watershed-workbook-data-prep#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.esri.com\/arcgis-blog\/products\/insights\/mapping\/make-this-watershed-workbook-data-prep"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/insights\/mapping\/make-this-watershed-workbook-data-prep#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.esri.com\/arcgis-blog\/"},{"@type":"ListItem","position":2,"name":"Make this Watershed Workbook: Some Assembly Required"}]},{"@type":"WebSite","@id":"https:\/\/www.esri.com\/arcgis-blog\/#website","url":"https:\/\/www.esri.com\/arcgis-blog\/","name":"ArcGIS Blog","description":"Get insider info from Esri product teams","publisher":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.esri.com\/arcgis-blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.esri.com\/arcgis-blog\/#organization","name":"Esri","url":"https:\/\/www.esri.com\/arcgis-blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/Esri.png","contentUrl":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/Esri.png","width":400,"height":400,"caption":"Esri"},"image":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/esrigis\/","https:\/\/x.com\/ESRI","https:\/\/www.linkedin.com\/company\/5311\/"]},{"@type":"Person","@id":"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/83d26318b30c9057df8e1bf304b10580","name":"Warren Davison","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/image\/","url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/09\/Profile_UC-e1662557773428-261x261.jpg","contentUrl":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/09\/Profile_UC-e1662557773428-261x261.jpg","caption":"Warren Davison"},"description":"I specialize in creating engaging maps and graphics that tell immersive, place-based stories. Based in Kitchener, Canada, I work with Esri\u2019s StoryMaps team, where I enjoy sharing the creative process behind each project. When I'm not exploring vectors and pixels, you\u2019ll likely find me cycling around town with my kids along for the ride.","sameAs":["https:\/\/warrenrdavison.wixsite.com\/maps","www.linkedin.com\/in\/warren-davison","https:\/\/x.com\/WarrenDz"],"url":"https:\/\/www.esri.com\/arcgis-blog\/author\/wdavison"}]}},"text_date":"December 14, 2020","author_name":"Warren Davison","author_page":"https:\/\/www.esri.com\/arcgis-blog\/author\/wdavison","custom_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/12\/WatershedBanner_Wide.png","primary_product":"ArcGIS Insights","tag_data":[{"term_id":466322,"name":"ArcGIS Insights","slug":"arcgis-insights","term_group":0,"term_taxonomy_id":466322,"taxonomy":"post_tag","description":"","parent":0,"count":24,"filter":"raw"},{"term_id":761152,"name":"insights watershed analysis","slug":"insights-watershed-analysis","term_group":0,"term_taxonomy_id":761152,"taxonomy":"post_tag","description":"","parent":0,"count":1,"filter":"raw"},{"term_id":176452,"name":"mapping","slug":"mapping","term_group":0,"term_taxonomy_id":176452,"taxonomy":"post_tag","description":"","parent":0,"count":60,"filter":"raw"},{"term_id":24341,"name":"python","slug":"python","term_group":0,"term_taxonomy_id":24341,"taxonomy":"post_tag","description":"","parent":0,"count":171,"filter":"raw"},{"term_id":24351,"name":"scripting","slug":"scripting","term_group":0,"term_taxonomy_id":24351,"taxonomy":"post_tag","description":"","parent":0,"count":15,"filter":"raw"}],"category_data":[{"term_id":23341,"name":"Analytics","slug":"analytics","term_group":0,"term_taxonomy_id":23341,"taxonomy":"category","description":"","parent":0,"count":1325,"filter":"raw"},{"term_id":22941,"name":"Mapping","slug":"mapping","term_group":0,"term_taxonomy_id":22941,"taxonomy":"category","description":"","parent":0,"count":2683,"filter":"raw"}],"product_data":[{"term_id":36801,"name":"ArcGIS Insights","slug":"insights","term_group":0,"term_taxonomy_id":36801,"taxonomy":"product","description":"","parent":36591,"count":119,"filter":"raw"}],"primary_product_link":"https:\/\/www.esri.com\/arcgis-blog\/?s=#&products=insights","_links":{"self":[{"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/blog\/1085501","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/blog"}],"about":[{"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/types\/blog"}],"author":[{"embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/users\/129801"}],"replies":[{"embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/comments?post=1085501"}],"version-history":[{"count":0,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/blog\/1085501\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/media?parent=1085501"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/categories?post=1085501"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/tags?post=1085501"},{"taxonomy":"industry","embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/industry?post=1085501"},{"taxonomy":"product","embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/product?post=1085501"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}