Created
April 25, 2016 19:50
-
-
Save jenningsanderson/83333abfdc7964ad7e31453c0412a17a to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"cells": [ | |
{ | |
"cell_type": "markdown", | |
"metadata": { | |
"slideshow": { | |
"slide_type": "slide" | |
} | |
}, | |
"source": [ | |
"Nepal Earthquake OSM Data Exploration\n", | |
"=====================================\n", | |
"\n", | |
"First, require the main runtime of epic-osm; it is not bundled into a gem yet, so use the absolute path to where the framework was cloned on the running machine. Second, import the analysis window configuration file (YAML) and initialize." | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 2, | |
"metadata": { | |
"collapsed": false, | |
"slideshow": { | |
"slide_type": "slide" | |
} | |
}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"Successfully initialized Analysis Window: Nepal Earthquake\n", | |
"\n" | |
] | |
}, | |
{ | |
"data": { | |
"text/plain": [ | |
"#<AnalysisWindow:0x007f55ecdb99f0 @bounding_box=#<BoundingBox:0x007f55ecdb9c70 @bbox_array=[\"80.0134\", \"26.3033\", \"88.2202\", \"30.5149\"], @bottom_left=[80.0134, 26.3033], @top_right=[88.2202, 30.5149], @active=false>, @time_frame=#<TimeFrame:0x007f55ecdbaa30 @start_date=2015-04-25 00:00:00 +0000, @end_date=2015-05-31 00:00:00 +0000, @active=true>, @max_area=1000000000000, @min_area=1, @title=\"Nepal Earthquake\", @changeset_tags=nil>" | |
] | |
}, | |
"execution_count": 2, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"require '/opt/epic-osm/epic-osm.rb'\n", | |
"require 'json'\n", | |
"analysis_window = './nepal-earthquake.yml'\n", | |
"o = EpicOSM.new(analysis_window: analysis_window)\n", | |
"aw = o.analysis_window" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"## Visualize some changesets information\n", | |
"First we will collect all of the changesets and save them in memory as changeset objects. We will collect them in bins of 4 hours for initial analysis" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 3, | |
"metadata": { | |
"collapsed": false, | |
"scrolled": true | |
}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"{:unit=>:hour, :step=>4, :constraints=>{}, :collection=>\"changesets\", :type=>DomainObject::Changeset}\n", | |
"Query complete for: {:created_at=>{\"$gte\"=>2015-04-25 00:00:00 +0000, \"$lt\"=>2015-04-25 04:00:00 +0000}}\n", | |
"Query complete for: {:created_at=>{\"$gte\"=>2015-04-25 04:00:00 +0000, \"$lt\"=>2015-04-25 08:00:00 +0000}}\n", | |
"Query complete for: {:created_at=>{\"$gte\"=>2015-04-25 08:00:00 +0000, \"$lt\"=>2015-04-25 12:00:00 +0000}}\n", | |
"Query complete for: {:created_at=>{\"$gte\"=>2015-04-25 12:00:00 +0000, \"$lt\"=>2015-04-25 16:00:00 +0000}}\n", | |
"Query complete for: {:created_at=>{\"$gte\"=>2015-04-25 16:00:00 +0000, \"$lt\"=>2015-04-25 20:00:00 +0000}}\n", | |
"Query complete for: {:created_at=>{\"$gte\"=>2015-04-25 20:00:00 +0000, \"$lt\"=>2015-04-26 00:00:00 +0000}}\n", | |
"Query complete for: {:created_at=>{\"$gte\"=>2015-04-26 00:00:00 +0000, \"$lt\"=>2015-04-26 04:00:00 +0000}}\n", | |
"Query complete for: {:created_at=>{\"$gte\"=>2015-04-26 04:00:00 +0000, \"$lt\"=>2015-04-26 08:00:00 +0000}}\n", | |
"Query complete for: {:created_at=>{\"$gte\"=>2015-04-26 08:00:00 +0000, \"$lt\"=>2015-04-26 12:00:00 +0000}}\n", | |
"Query complete for: {:created_at=>{\"$gte\"=>2015-04-26 12:00:00 +0000, \"$lt\"=>2015-04-26 16:00:00 +0000}}\n", | |
"Query complete for: {:created_at=>{\"$gte\"=>2015-04-26 16:00:00 +0000, \"$lt\"=>2015-04-26 20:00:00 +0000}}\n", | |
"Query complete for: {:created_at=>{\"$gte\"=>2015-04-26 20:00:00 +0000, \"$lt\"=>2015-04-27 00:00:00 +0000}}\n", | |
"Query complete for: {:created_at=>{\"$gte\"=>2015-04-27 00:00:00 +0000, \"$lt\"=>2015-04-27 04:00:00 +0000}}\n", | |
"Query complete for: {:created_at=>{\"$gte\"=>2015-04-27 04:00:00 +0000, \"$lt\"=>2015-04-27 08:00:00 +0000}}\n", | |
"Query complete for: {:created_at=>{\"$gte\"=>2015-04-27 08:00:00 +0000, \"$lt\"=>2015-04-27 12:00:00 +0000}}\n", | |
"Query complete for: {:created_at=>{\"$gte\"=>2015-04-27 12:00:00 +0000, \"$lt\"=>2015-04-27 16:00:00 +0000}}\n", | |
"Query complete for: {:created_at=>{\"$gte\"=>2015-04-27 16:00:00 +0000, \"$lt\"=>2015-04-27 20:00:00 +0000}}\n", | |
"Query complete for: {:created_at=>{\"$gte\"=>2015-04-27 20:00:00 +0000, \"$lt\"=>2015-04-28 00:00:00 +0000}}\n", | |
"Query complete for: {:created_at=>{\"$gte\"=>2015-04-28 00:00:00 +0000, \"$lt\"=>2015-04-28 04:00:00 +0000}}\n", | |
"Query complete for: {:created_at=>{\"$gte\"=>2015-04-28 04:00:00 +0000, \"$lt\"=>2015-04-28 08:00:00 +0000}}\n", | |
"Query complete for: {:created_at=>{\"$gte\"=>2015-04-28 08:00:00 +0000, \"$lt\"=>2015-04-28 12:00:00 +0000}}\n", | |
"Query complete for: {:created_at=>{\"$gte\"=>2015-04-28 12:00:00 +0000, \"$lt\"=>2015-04-28 16:00:00 +0000}}\n", | |
"Query complete for: {:created_at=>{\"$gte\"=>2015-04-28 16:00:00 +0000, \"$lt\"=>2015-04-28 20:00:00 +0000}}\n", | |
"Query complete for: {:created_at=>{\"$gte\"=>2015-04-28 20:00:00 +0000, \"$lt\"=>2015-04-29 00:00:00 +0000}}\n", | |
"Query complete for: {:created_at=>{\"$gte\"=>2015-04-29 00:00:00 +0000, \"$lt\"=>2015-04-29 04:00:00 +0000}}\n", | |
"Query complete for: {:created_at=>{\"$gte\"=>2015-04-29 04:00:00 +0000, \"$lt\"=>2015-04-29 08:00:00 +0000}}\n", | |
"Query complete for: {:created_at=>{\"$gte\"=>2015-04-29 08:00:00 +0000, \"$lt\"=>2015-04-29 12:00:00 +0000}}\n", | |
"Query complete for: {:created_at=>{\"$gte\"=>2015-04-29 12:00:00 +0000, \"$lt\"=>2015-04-29 16:00:00 +0000}}\n", | |
"Query complete for: {:created_at=>{\"$gte\"=>2015-04-29 16:00:00 +0000, \"$lt\"=>2015-04-29 20:00:00 +0000}}\n", | |
"Query complete for: {:created_at=>{\"$gte\"=>2015-04-29 20:00:00 +0000, \"$lt\"=>2015-04-30 00:00:00 +0000}}\n", | |
"Query complete for: {:created_at=>{\"$gte\"=>2015-04-30 00:00:00 +0000, \"$lt\"=>2015-04-30 04:00:00 +0000}}\n", | |
"Query complete for: {:created_at=>{\"$gte\"=>2015-04-30 04:00:00 +0000, \"$lt\"=>2015-04-30 08:00:00 +0000}}\n", | |
"Query complete for: {:created_at=>{\"$gte\"=>2015-04-30 08:00:00 +0000, \"$lt\"=>2015-04-30 12:00:00 +0000}}\n", | |
"Query complete for: {:created_at=>{\"$gte\"=>2015-04-30 12:00:00 +0000, \"$lt\"=>2015-04-30 16:00:00 +0000}}\n", | |
"Query complete for: {:created_at=>{\"$gte\"=>2015-04-30 16:00:00 +0000, \"$lt\"=>2015-04-30 20:00:00 +0000}}\n", | |
"Query complete for: {:created_at=>{\"$gte\"=>2015-04-30 20:00:00 +0000, \"$lt\"=>2015-05-01 00:00:00 +0000}}\n", | |
"Query complete for: {:created_at=>{\"$gte\"=>2015-05-01 00:00:00 +0000, \"$lt\"=>2015-05-01 04:00:00 +0000}}\n", | |
"Query complete for: {:created_at=>{\"$gte\"=>2015-05-01 04:00:00 +0000, \"$lt\"=>2015-05-01 08:00:00 +0000}}\n", | |
"Query complete for: {:created_at=>{\"$gte\"=>2015-05-01 08:00:00 +0000, \"$lt\"=>2015-05-01 12:00:00 +0000}}\n", | |
"Query complete for: {:created_at=>{\"$gte\"=>2015-05-01 12:00:00 +0000, \"$lt\"=>2015-05-01 16:00:00 +0000}}\n", | |
"Query complete for: {:created_at=>{\"$gte\"=>2015-05-01 16:00:00 +0000, \"$lt\"=>2015-05-01 20:00:00 +0000}}\n", | |
"Query complete for: {:created_at=>{\"$gte\"=>2015-05-01 20:00:00 +0000, \"$lt\"=>2015-05-02 00:00:00 +0000}}\n", | |
"Query complete for: {:created_at=>{\"$gte\"=>2015-05-02 00:00:00 +0000, \"$lt\"=>2015-05-02 04:00:00 +0000}}\n", | |
"Query complete for: {:created_at=>{\"$gte\"=>2015-05-02 04:00:00 +0000, \"$lt\"=>2015-05-02 08:00:00 +0000}}\n", | |
"Query complete for: {:created_at=>{\"$gte\"=>2015-05-02 08:00:00 +0000, \"$lt\"=>2015-05-02 12:00:00 +0000}}\n", | |
"Query complete for: {:created_at=>{\"$gte\"=>2015-05-02 12:00:00 +0000, \"$lt\"=>2015-05-02 16:00:00 +0000}}\n", | |
"Query complete for: {:created_at=>{\"$gte\"=>2015-05-02 16:00:00 +0000, \"$lt\"=>2015-05-02 20:00:00 +0000}}\n", | |
"Query complete for: {:created_at=>{\"$gte\"=>2015-05-02 20:00:00 +0000, \"$lt\"=>2015-05-03 00:00:00 +0000}}\n", | |
"Query complete for: {:created_at=>{\"$gte\"=>2015-05-03 00:00:00 +0000, \"$lt\"=>2015-05-03 04:00:00 +0000}}\n", | |
"Query complete for: {:created_at=>{\"$gte\"=>2015-05-03 04:00:00 +0000, \"$lt\"=>2015-05-03 08:00:00 +0000}}\n", | |
"Query complete for: {:created_at=>{\"$gte\"=>2015-05-03 08:00:00 +0000, \"$lt\"=>2015-05-03 12:00:00 +0000}}\n", | |
"Query complete for: {:created_at=>{\"$gte\"=>2015-05-03 12:00:00 +0000, \"$lt\"=>2015-05-03 16:00:00 +0000}}\n", | |
"Query complete for: {:created_at=>{\"$gte\"=>2015-05-03 16:00:00 +0000, \"$lt\"=>2015-05-03 20:00:00 +0000}}\n", | |
"Query complete for: {:created_at=>{\"$gte\"=>2015-05-03 20:00:00 +0000, \"$lt\"=>2015-05-04 00:00:00 +0000}}\n", | |
"Query complete for: {:created_at=>{\"$gte\"=>2015-05-04 00:00:00 +0000, \"$lt\"=>2015-05-04 04:00:00 +0000}}\n", | |
"Query complete for: {:created_at=>{\"$gte\"=>2015-05-04 04:00:00 +0000, \"$lt\"=>2015-05-04 08:00:00 +0000}}\n", | |
"Query complete for: {:created_at=>{\"$gte\"=>2015-05-04 08:00:00 +0000, \"$lt\"=>2015-05-04 12:00:00 +0000}}\n", | |
"Query complete for: {:created_at=>{\"$gte\"=>2015-05-04 12:00:00 +0000, \"$lt\"=>2015-05-04 16:00:00 +0000}}\n", | |
"Query complete for: {:created_at=>{\"$gte\"=>2015-05-04 16:00:00 +0000, \"$lt\"=>2015-05-04 20:00:00 +0000}}\n", | |
"Query complete for: {:created_at=>{\"$gte\"=>2015-05-04 20:00:00 +0000, \"$lt\"=>2015-05-05 00:00:00 +0000}}\n", | |
"Query complete for: {:created_at=>{\"$gte\"=>2015-05-05 00:00:00 +0000, \"$lt\"=>2015-05-05 04:00:00 +0000}}\n", | |
"Query complete for: {:created_at=>{\"$gte\"=>2015-05-05 04:00:00 +0000, \"$lt\"=>2015-05-05 08:00:00 +0000}}\n", | |
"Query complete for: {:created_at=>{\"$gte\"=>2015-05-05 08:00:00 +0000, \"$lt\"=>2015-05-05 12:00:00 +0000}}\n", | |
"Query complete for: {:created_at=>{\"$gte\"=>2015-05-05 12:00:00 +0000, \"$lt\"=>2015-05-05 16:00:00 +0000}}\n", | |
"Query complete for: {:created_at=>{\"$gte\"=>2015-05-05 16:00:00 +0000, \"$lt\"=>2015-05-05 20:00:00 +0000}}\n", | |
"Query complete for: {:created_at=>{\"$gte\"=>2015-05-05 20:00:00 +0000, \"$lt\"=>2015-05-06 00:00:00 +0000}}\n", | |
"Query complete for: {:created_at=>{\"$gte\"=>2015-05-06 00:00:00 +0000, \"$lt\"=>2015-05-06 04:00:00 +0000}}\n", | |
"Query complete for: {:created_at=>{\"$gte\"=>2015-05-06 04:00:00 +0000, \"$lt\"=>2015-05-06 08:00:00 +0000}}\n", | |
"Query complete for: {:created_at=>{\"$gte\"=>2015-05-06 08:00:00 +0000, \"$lt\"=>2015-05-06 12:00:00 +0000}}\n", | |
"Query complete for: {:created_at=>{\"$gte\"=>2015-05-06 12:00:00 +0000, \"$lt\"=>2015-05-06 16:00:00 +0000}}\n", | |
"Query complete for: {:created_at=>{\"$gte\"=>2015-05-06 16:00:00 +0000, \"$lt\"=>2015-05-06 20:00:00 +0000}}\n", | |
"Query complete for: {:created_at=>{\"$gte\"=>2015-05-06 20:00:00 +0000, \"$lt\"=>2015-05-07 00:00:00 +0000}}\n", | |
"Query complete for: {:created_at=>{\"$gte\"=>2015-05-07 00:00:00 +0000, \"$lt\"=>2015-05-07 04:00:00 +0000}}\n", | |
"Query complete for: {:created_at=>{\"$gte\"=>2015-05-07 04:00:00 +0000, \"$lt\"=>2015-05-07 08:00:00 +0000}}\n", | |
"Query complete for: {:created_at=>{\"$gte\"=>2015-05-07 08:00:00 +0000, \"$lt\"=>2015-05-07 12:00:00 +0000}}\n", | |
"Query complete for: {:created_at=>{\"$gte\"=>2015-05-07 12:00:00 +0000, \"$lt\"=>2015-05-07 16:00:00 +0000}}\n", | |
"Query complete for: {:created_at=>{\"$gte\"=>2015-05-07 16:00:00 +0000, \"$lt\"=>2015-05-07 20:00:00 +0000}}\n", | |
"Query complete for: {:created_at=>{\"$gte\"=>2015-05-07 20:00:00 +0000, \"$lt\"=>2015-05-08 00:00:00 +0000}}\n", | |
"Query complete for: {:created_at=>{\"$gte\"=>2015-05-08 00:00:00 +0000, \"$lt\"=>2015-05-08 04:00:00 +0000}}\n", | |
"Query complete for: {:created_at=>{\"$gte\"=>2015-05-08 04:00:00 +0000, \"$lt\"=>2015-05-08 08:00:00 +0000}}\n", | |
"Query complete for: {:created_at=>{\"$gte\"=>2015-05-08 08:00:00 +0000, \"$lt\"=>2015-05-08 12:00:00 +0000}}\n", | |
"Query complete for: {:created_at=>{\"$gte\"=>2015-05-08 12:00:00 +0000, \"$lt\"=>2015-05-08 16:00:00 +0000}}\n", | |
"Query complete for: {:created_at=>{\"$gte\"=>2015-05-08 16:00:00 +0000, \"$lt\"=>2015-05-08 20:00:00 +0000}}\n", | |
"Query complete for: {:created_at=>{\"$gte\"=>2015-05-08 20:00:00 +0000, \"$lt\"=>2015-05-09 00:00:00 +0000}}\n", | |
"Query complete for: {:created_at=>{\"$gte\"=>2015-05-09 00:00:00 +0000, \"$lt\"=>2015-05-09 04:00:00 +0000}}\n", | |
"Query complete for: {:created_at=>{\"$gte\"=>2015-05-09 04:00:00 +0000, \"$lt\"=>2015-05-09 08:00:00 +0000}}\n", | |
"Query complete for: {:created_at=>{\"$gte\"=>2015-05-09 08:00:00 +0000, \"$lt\"=>2015-05-09 12:00:00 +0000}}\n", | |
"Query complete for: {:created_at=>{\"$gte\"=>2015-05-09 12:00:00 +0000, \"$lt\"=>2015-05-09 16:00:00 +0000}}\n", | |
"Query complete for: {:created_at=>{\"$gte\"=>2015-05-09 16:00:00 +0000, \"$lt\"=>2015-05-09 20:00:00 +0000}}\n", | |
"Query complete for: {:created_at=>{\"$gte\"=>2015-05-09 20:00:00 +0000, \"$lt\"=>2015-05-10 00:00:00 +0000}}\n", | |
"Query complete for: {:created_at=>{\"$gte\"=>2015-05-10 00:00:00 +0000, \"$lt\"=>2015-05-10 04:00:00 +0000}}\n", | |
"Query complete for: {:created_at=>{\"$gte\"=>2015-05-10 04:00:00 +0000, \"$lt\"=>2015-05-10 08:00:00 +0000}}\n", | |
"Query complete for: {:created_at=>{\"$gte\"=>2015-05-10 08:00:00 +0000, \"$lt\"=>2015-05-10 12:00:00 +0000}}\n", | |
"Query complete for: {:created_at=>{\"$gte\"=>2015-05-10 12:00:00 +0000, \"$lt\"=>2015-05-10 16:00:00 +0000}}\n", | |
"Query complete for: {:created_at=>{\"$gte\"=>2015-05-10 16:00:00 +0000, \"$lt\"=>2015-05-10 20:00:00 +0000}}\n", | |
"Query complete for: {:created_at=>{\"$gte\"=>2015-05-10 20:00:00 +0000, \"$lt\"=>2015-05-11 00:00:00 +0000}}\n", | |
"Query complete for: {:created_at=>{\"$gte\"=>2015-05-11 00:00:00 +0000, \"$lt\"=>2015-05-11 04:00:00 +0000}}\n", | |
"Query complete for: {:created_at=>{\"$gte\"=>2015-05-11 04:00:00 +0000, \"$lt\"=>2015-05-11 08:00:00 +0000}}\n", | |
"Query complete for: {:created_at=>{\"$gte\"=>2015-05-11 08:00:00 +0000, \"$lt\"=>2015-05-11 12:00:00 +0000}}\n", | |
"Query complete for: {:created_at=>{\"$gte\"=>2015-05-11 12:00:00 +0000, \"$lt\"=>2015-05-11 16:00:00 +0000}}\n", | |
"Query complete for: {:created_at=>{\"$gte\"=>2015-05-11 16:00:00 +0000, \"$lt\"=>2015-05-11 20:00:00 +0000}}\n", | |
"Query complete for: {:created_at=>{\"$gte\"=>2015-05-11 20:00:00 +0000, \"$lt\"=>2015-05-12 00:00:00 +0000}}\n", | |
"Query complete for: {:created_at=>{\"$gte\"=>2015-05-12 00:00:00 +0000, \"$lt\"=>2015-05-12 04:00:00 +0000}}\n", | |
"Query complete for: {:created_at=>{\"$gte\"=>2015-05-12 04:00:00 +0000, \"$lt\"=>2015-05-12 08:00:00 +0000}}\n", | |
"Query complete for: {:created_at=>{\"$gte\"=>2015-05-12 08:00:00 +0000, \"$lt\"=>2015-05-12 12:00:00 +0000}}\n", | |
"Query complete for: {:created_at=>{\"$gte\"=>2015-05-12 12:00:00 +0000, \"$lt\"=>2015-05-12 16:00:00 +0000}}\n", | |
"Query complete for: {:created_at=>{\"$gte\"=>2015-05-12 16:00:00 +0000, \"$lt\"=>2015-05-12 20:00:00 +0000}}\n", | |
"Query complete for: {:created_at=>{\"$gte\"=>2015-05-12 20:00:00 +0000, \"$lt\"=>2015-05-13 00:00:00 +0000}}\n", | |
"Query complete for: {:created_at=>{\"$gte\"=>2015-05-13 00:00:00 +0000, \"$lt\"=>2015-05-13 04:00:00 +0000}}\n", | |
"Query complete for: {:created_at=>{\"$gte\"=>2015-05-13 04:00:00 +0000, \"$lt\"=>2015-05-13 08:00:00 +0000}}\n", | |
"Query complete for: {:created_at=>{\"$gte\"=>2015-05-13 08:00:00 +0000, \"$lt\"=>2015-05-13 12:00:00 +0000}}\n", | |
"Query complete for: {:created_at=>{\"$gte\"=>2015-05-13 12:00:00 +0000, \"$lt\"=>2015-05-13 16:00:00 +0000}}\n", | |
"Query complete for: {:created_at=>{\"$gte\"=>2015-05-13 16:00:00 +0000, \"$lt\"=>2015-05-13 20:00:00 +0000}}\n", | |
"Query complete for: {:created_at=>{\"$gte\"=>2015-05-13 20:00:00 +0000, \"$lt\"=>2015-05-14 00:00:00 +0000}}\n", | |
"Query complete for: {:created_at=>{\"$gte\"=>2015-05-14 00:00:00 +0000, \"$lt\"=>2015-05-14 04:00:00 +0000}}\n", | |
"Query complete for: {:created_at=>{\"$gte\"=>2015-05-14 04:00:00 +0000, \"$lt\"=>2015-05-14 08:00:00 +0000}}\n", | |
"Query complete for: {:created_at=>{\"$gte\"=>2015-05-14 08:00:00 +0000, \"$lt\"=>2015-05-14 12:00:00 +0000}}\n", | |
"Query complete for: {:created_at=>{\"$gte\"=>2015-05-14 12:00:00 +0000, \"$lt\"=>2015-05-14 16:00:00 +0000}}\n", | |
"Query complete for: {:created_at=>{\"$gte\"=>2015-05-14 16:00:00 +0000, \"$lt\"=>2015-05-14 20:00:00 +0000}}\n", | |
"Query complete for: {:created_at=>{\"$gte\"=>2015-05-14 20:00:00 +0000, \"$lt\"=>2015-05-15 00:00:00 +0000}}\n", | |
"Query complete for: {:created_at=>{\"$gte\"=>2015-05-15 00:00:00 +0000, \"$lt\"=>2015-05-15 04:00:00 +0000}}\n", | |
"Query complete for: {:created_at=>{\"$gte\"=>2015-05-15 04:00:00 +0000, \"$lt\"=>2015-05-15 08:00:00 +0000}}\n", | |
"Query complete for: {:created_at=>{\"$gte\"=>2015-05-15 08:00:00 +0000, \"$lt\"=>2015-05-15 12:00:00 +0000}}\n", | |
"Query complete for: {:created_at=>{\"$gte\"=>2015-05-15 12:00:00 +0000, \"$lt\"=>2015-05-15 16:00:00 +0000}}\n", | |
"Query complete for: {:created_at=>{\"$gte\"=>2015-05-15 16:00:00 +0000, \"$lt\"=>2015-05-15 20:00:00 +0000}}\n", | |
"Query complete for: {:created_at=>{\"$gte\"=>2015-05-15 20:00:00 +0000, \"$lt\"=>2015-05-16 00:00:00 +0000}}\n", | |
"Query complete for: {:created_at=>{\"$gte\"=>2015-05-16 00:00:00 +0000, \"$lt\"=>2015-05-16 04:00:00 +0000}}\n", | |
"Query complete for: {:created_at=>{\"$gte\"=>2015-05-16 04:00:00 +0000, \"$lt\"=>2015-05-16 08:00:00 +0000}}\n", | |
"Query complete for: {:created_at=>{\"$gte\"=>2015-05-16 08:00:00 +0000, \"$lt\"=>2015-05-16 12:00:00 +0000}}\n", | |
"Query complete for: {:created_at=>{\"$gte\"=>2015-05-16 12:00:00 +0000, \"$lt\"=>2015-05-16 16:00:00 +0000}}\n", | |
"Query complete for: {:created_at=>{\"$gte\"=>2015-05-16 16:00:00 +0000, \"$lt\"=>2015-05-16 20:00:00 +0000}}\n", | |
"Query complete for: {:created_at=>{\"$gte\"=>2015-05-16 20:00:00 +0000, \"$lt\"=>2015-05-17 00:00:00 +0000}}\n", | |
"Query complete for: {:created_at=>{\"$gte\"=>2015-05-17 00:00:00 +0000, \"$lt\"=>2015-05-17 04:00:00 +0000}}\n", | |
"Query complete for: {:created_at=>{\"$gte\"=>2015-05-17 04:00:00 +0000, \"$lt\"=>2015-05-17 08:00:00 +0000}}\n", | |
"Query complete for: {:created_at=>{\"$gte\"=>2015-05-17 08:00:00 +0000, \"$lt\"=>2015-05-17 12:00:00 +0000}}\n", | |
"Query complete for: {:created_at=>{\"$gte\"=>2015-05-17 12:00:00 +0000, \"$lt\"=>2015-05-17 16:00:00 +0000}}\n", | |
"Query complete for: {:created_at=>{\"$gte\"=>2015-05-17 16:00:00 +0000, \"$lt\"=>2015-05-17 20:00:00 +0000}}\n", | |
"Query complete for: {:created_at=>{\"$gte\"=>2015-05-17 20:00:00 +0000, \"$lt\"=>2015-05-18 00:00:00 +0000}}\n", | |
"Query complete for: {:created_at=>{\"$gte\"=>2015-05-18 00:00:00 +0000, \"$lt\"=>2015-05-18 04:00:00 +0000}}\n", | |
"Query complete for: {:created_at=>{\"$gte\"=>2015-05-18 04:00:00 +0000, \"$lt\"=>2015-05-18 08:00:00 +0000}}\n", | |
"Query complete for: {:created_at=>{\"$gte\"=>2015-05-18 08:00:00 +0000, \"$lt\"=>2015-05-18 12:00:00 +0000}}\n", | |
"Query complete for: {:created_at=>{\"$gte\"=>2015-05-18 12:00:00 +0000, \"$lt\"=>2015-05-18 16:00:00 +0000}}\n", | |
"Query complete for: {:created_at=>{\"$gte\"=>2015-05-18 16:00:00 +0000, \"$lt\"=>2015-05-18 20:00:00 +0000}}\n", | |
"Query complete for: {:created_at=>{\"$gte\"=>2015-05-18 20:00:00 +0000, \"$lt\"=>2015-05-19 00:00:00 +0000}}\n", | |
"Query complete for: {:created_at=>{\"$gte\"=>2015-05-19 00:00:00 +0000, \"$lt\"=>2015-05-19 04:00:00 +0000}}\n", | |
"Query complete for: {:created_at=>{\"$gte\"=>2015-05-19 04:00:00 +0000, \"$lt\"=>2015-05-19 08:00:00 +0000}}\n", | |
"Query complete for: {:created_at=>{\"$gte\"=>2015-05-19 08:00:00 +0000, \"$lt\"=>2015-05-19 12:00:00 +0000}}\n", | |
"Query complete for: {:created_at=>{\"$gte\"=>2015-05-19 12:00:00 +0000, \"$lt\"=>2015-05-19 16:00:00 +0000}}\n", | |
"Query complete for: {:created_at=>{\"$gte\"=>2015-05-19 16:00:00 +0000, \"$lt\"=>2015-05-19 20:00:00 +0000}}\n", | |
"Query complete for: {:created_at=>{\"$gte\"=>2015-05-19 20:00:00 +0000, \"$lt\"=>2015-05-20 00:00:00 +0000}}\n", | |
"Query complete for: {:created_at=>{\"$gte\"=>2015-05-20 00:00:00 +0000, \"$lt\"=>2015-05-20 04:00:00 +0000}}\n", | |
"Query complete for: {:created_at=>{\"$gte\"=>2015-05-20 04:00:00 +0000, \"$lt\"=>2015-05-20 08:00:00 +0000}}\n", | |
"Query complete for: {:created_at=>{\"$gte\"=>2015-05-20 08:00:00 +0000, \"$lt\"=>2015-05-20 12:00:00 +0000}}\n", | |
"Query complete for: {:created_at=>{\"$gte\"=>2015-05-20 12:00:00 +0000, \"$lt\"=>2015-05-20 16:00:00 +0000}}\n", | |
"Query complete for: {:created_at=>{\"$gte\"=>2015-05-20 16:00:00 +0000, \"$lt\"=>2015-05-20 20:00:00 +0000}}\n", | |
"Query complete for: {:created_at=>{\"$gte\"=>2015-05-20 20:00:00 +0000, \"$lt\"=>2015-05-21 00:00:00 +0000}}\n", | |
"Query complete for: {:created_at=>{\"$gte\"=>2015-05-21 00:00:00 +0000, \"$lt\"=>2015-05-21 04:00:00 +0000}}\n", | |
"Query complete for: {:created_at=>{\"$gte\"=>2015-05-21 04:00:00 +0000, \"$lt\"=>2015-05-21 08:00:00 +0000}}\n", | |
"Query complete for: {:created_at=>{\"$gte\"=>2015-05-21 08:00:00 +0000, \"$lt\"=>2015-05-21 12:00:00 +0000}}\n", | |
"Query complete for: {:created_at=>{\"$gte\"=>2015-05-21 12:00:00 +0000, \"$lt\"=>2015-05-21 16:00:00 +0000}}\n", | |
"Query complete for: {:created_at=>{\"$gte\"=>2015-05-21 16:00:00 +0000, \"$lt\"=>2015-05-21 20:00:00 +0000}}\n", | |
"Query complete for: {:created_at=>{\"$gte\"=>2015-05-21 20:00:00 +0000, \"$lt\"=>2015-05-22 00:00:00 +0000}}\n", | |
"Query complete for: {:created_at=>{\"$gte\"=>2015-05-22 00:00:00 +0000, \"$lt\"=>2015-05-22 04:00:00 +0000}}\n", | |
"Query complete for: {:created_at=>{\"$gte\"=>2015-05-22 04:00:00 +0000, \"$lt\"=>2015-05-22 08:00:00 +0000}}\n", | |
"Query complete for: {:created_at=>{\"$gte\"=>2015-05-22 08:00:00 +0000, \"$lt\"=>2015-05-22 12:00:00 +0000}}\n", | |
"Query complete for: {:created_at=>{\"$gte\"=>2015-05-22 12:00:00 +0000, \"$lt\"=>2015-05-22 16:00:00 +0000}}\n", | |
"Query complete for: {:created_at=>{\"$gte\"=>2015-05-22 16:00:00 +0000, \"$lt\"=>2015-05-22 20:00:00 +0000}}\n", | |
"Query complete for: {:created_at=>{\"$gte\"=>2015-05-22 20:00:00 +0000, \"$lt\"=>2015-05-23 00:00:00 +0000}}\n", | |
"Query complete for: {:created_at=>{\"$gte\"=>2015-05-23 00:00:00 +0000, \"$lt\"=>2015-05-23 04:00:00 +0000}}\n", | |
"Query complete for: {:created_at=>{\"$gte\"=>2015-05-23 04:00:00 +0000, \"$lt\"=>2015-05-23 08:00:00 +0000}}\n", | |
"Query complete for: {:created_at=>{\"$gte\"=>2015-05-23 08:00:00 +0000, \"$lt\"=>2015-05-23 12:00:00 +0000}}\n", | |
"Query complete for: {:created_at=>{\"$gte\"=>2015-05-23 12:00:00 +0000, \"$lt\"=>2015-05-23 16:00:00 +0000}}\n", | |
"Query complete for: {:created_at=>{\"$gte\"=>2015-05-23 16:00:00 +0000, \"$lt\"=>2015-05-23 20:00:00 +0000}}\n", | |
"Query complete for: {:created_at=>{\"$gte\"=>2015-05-23 20:00:00 +0000, \"$lt\"=>2015-05-24 00:00:00 +0000}}\n", | |
"Query complete for: {:created_at=>{\"$gte\"=>2015-05-24 00:00:00 +0000, \"$lt\"=>2015-05-24 04:00:00 +0000}}\n", | |
"Query complete for: {:created_at=>{\"$gte\"=>2015-05-24 04:00:00 +0000, \"$lt\"=>2015-05-24 08:00:00 +0000}}\n", | |
"Query complete for: {:created_at=>{\"$gte\"=>2015-05-24 08:00:00 +0000, \"$lt\"=>2015-05-24 12:00:00 +0000}}\n", | |
"Query complete for: {:created_at=>{\"$gte\"=>2015-05-24 12:00:00 +0000, \"$lt\"=>2015-05-24 16:00:00 +0000}}\n", | |
"Query complete for: {:created_at=>{\"$gte\"=>2015-05-24 16:00:00 +0000, \"$lt\"=>2015-05-24 20:00:00 +0000}}\n", | |
"Query complete for: {:created_at=>{\"$gte\"=>2015-05-24 20:00:00 +0000, \"$lt\"=>2015-05-25 00:00:00 +0000}}\n", | |
"Query complete for: {:created_at=>{\"$gte\"=>2015-05-25 00:00:00 +0000, \"$lt\"=>2015-05-25 04:00:00 +0000}}\n", | |
"Query complete for: {:created_at=>{\"$gte\"=>2015-05-25 04:00:00 +0000, \"$lt\"=>2015-05-25 08:00:00 +0000}}\n", | |
"Query complete for: {:created_at=>{\"$gte\"=>2015-05-25 08:00:00 +0000, \"$lt\"=>2015-05-25 12:00:00 +0000}}\n", | |
"Query complete for: {:created_at=>{\"$gte\"=>2015-05-25 12:00:00 +0000, \"$lt\"=>2015-05-25 16:00:00 +0000}}\n", | |
"Query complete for: {:created_at=>{\"$gte\"=>2015-05-25 16:00:00 +0000, \"$lt\"=>2015-05-25 20:00:00 +0000}}\n", | |
"Query complete for: {:created_at=>{\"$gte\"=>2015-05-25 20:00:00 +0000, \"$lt\"=>2015-05-26 00:00:00 +0000}}\n", | |
"Query complete for: {:created_at=>{\"$gte\"=>2015-05-26 00:00:00 +0000, \"$lt\"=>2015-05-26 04:00:00 +0000}}\n", | |
"Query complete for: {:created_at=>{\"$gte\"=>2015-05-26 04:00:00 +0000, \"$lt\"=>2015-05-26 08:00:00 +0000}}\n", | |
"Query complete for: {:created_at=>{\"$gte\"=>2015-05-26 08:00:00 +0000, \"$lt\"=>2015-05-26 12:00:00 +0000}}\n", | |
"Query complete for: {:created_at=>{\"$gte\"=>2015-05-26 12:00:00 +0000, \"$lt\"=>2015-05-26 16:00:00 +0000}}\n", | |
"Query complete for: {:created_at=>{\"$gte\"=>2015-05-26 16:00:00 +0000, \"$lt\"=>2015-05-26 20:00:00 +0000}}\n", | |
"Query complete for: {:created_at=>{\"$gte\"=>2015-05-26 20:00:00 +0000, \"$lt\"=>2015-05-27 00:00:00 +0000}}\n", | |
"Query complete for: {:created_at=>{\"$gte\"=>2015-05-27 00:00:00 +0000, \"$lt\"=>2015-05-27 04:00:00 +0000}}\n", | |
"Query complete for: {:created_at=>{\"$gte\"=>2015-05-27 04:00:00 +0000, \"$lt\"=>2015-05-27 08:00:00 +0000}}\n", | |
"Query complete for: {:created_at=>{\"$gte\"=>2015-05-27 08:00:00 +0000, \"$lt\"=>2015-05-27 12:00:00 +0000}}\n", | |
"Query complete for: {:created_at=>{\"$gte\"=>2015-05-27 12:00:00 +0000, \"$lt\"=>2015-05-27 16:00:00 +0000}}\n", | |
"Query complete for: {:created_at=>{\"$gte\"=>2015-05-27 16:00:00 +0000, \"$lt\"=>2015-05-27 20:00:00 +0000}}\n", | |
"Query complete for: {:created_at=>{\"$gte\"=>2015-05-27 20:00:00 +0000, \"$lt\"=>2015-05-28 00:00:00 +0000}}\n", | |
"Query complete for: {:created_at=>{\"$gte\"=>2015-05-28 00:00:00 +0000, \"$lt\"=>2015-05-28 04:00:00 +0000}}\n", | |
"Query complete for: {:created_at=>{\"$gte\"=>2015-05-28 04:00:00 +0000, \"$lt\"=>2015-05-28 08:00:00 +0000}}\n", | |
"Query complete for: {:created_at=>{\"$gte\"=>2015-05-28 08:00:00 +0000, \"$lt\"=>2015-05-28 12:00:00 +0000}}\n", | |
"Query complete for: {:created_at=>{\"$gte\"=>2015-05-28 12:00:00 +0000, \"$lt\"=>2015-05-28 16:00:00 +0000}}\n", | |
"Query complete for: {:created_at=>{\"$gte\"=>2015-05-28 16:00:00 +0000, \"$lt\"=>2015-05-28 20:00:00 +0000}}\n", | |
"Query complete for: {:created_at=>{\"$gte\"=>2015-05-28 20:00:00 +0000, \"$lt\"=>2015-05-29 00:00:00 +0000}}\n", | |
"Query complete for: {:created_at=>{\"$gte\"=>2015-05-29 00:00:00 +0000, \"$lt\"=>2015-05-29 04:00:00 +0000}}\n", | |
"Query complete for: {:created_at=>{\"$gte\"=>2015-05-29 04:00:00 +0000, \"$lt\"=>2015-05-29 08:00:00 +0000}}\n", | |
"Query complete for: {:created_at=>{\"$gte\"=>2015-05-29 08:00:00 +0000, \"$lt\"=>2015-05-29 12:00:00 +0000}}\n", | |
"Query complete for: {:created_at=>{\"$gte\"=>2015-05-29 12:00:00 +0000, \"$lt\"=>2015-05-29 16:00:00 +0000}}\n", | |
"Query complete for: {:created_at=>{\"$gte\"=>2015-05-29 16:00:00 +0000, \"$lt\"=>2015-05-29 20:00:00 +0000}}\n", | |
"Query complete for: {:created_at=>{\"$gte\"=>2015-05-29 20:00:00 +0000, \"$lt\"=>2015-05-30 00:00:00 +0000}}\n", | |
"Query complete for: {:created_at=>{\"$gte\"=>2015-05-30 00:00:00 +0000, \"$lt\"=>2015-05-30 04:00:00 +0000}}\n", | |
"Query complete for: {:created_at=>{\"$gte\"=>2015-05-30 04:00:00 +0000, \"$lt\"=>2015-05-30 08:00:00 +0000}}\n", | |
"Query complete for: {:created_at=>{\"$gte\"=>2015-05-30 08:00:00 +0000, \"$lt\"=>2015-05-30 12:00:00 +0000}}\n", | |
"Query complete for: {:created_at=>{\"$gte\"=>2015-05-30 12:00:00 +0000, \"$lt\"=>2015-05-30 16:00:00 +0000}}\n", | |
"Query complete for: {:created_at=>{\"$gte\"=>2015-05-30 16:00:00 +0000, \"$lt\"=>2015-05-30 20:00:00 +0000}}\n", | |
"Query complete for: {:created_at=>{\"$gte\"=>2015-05-30 20:00:00 +0000, \"$lt\"=>2015-05-31 00:00:00 +0000}}\n" | |
] | |
} | |
], | |
"source": [ | |
"cSets_per_4hours = aw.changesets_x_hour(step: 4);\n", | |
"nil" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"The structure of every query result is a series of temporal buckets of the form: \n", | |
" \n", | |
" {start: <Time> end: <Time> objects: <array of domain objects>}" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 11, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"Start: 2015-04-25 04:00:00 +0000 | End: 2015-04-25 08:00:00 +0000 | Objects: 11\n" | |
] | |
} | |
], | |
"source": [ | |
"puts \"Start: #{cSets_per_4hours[1][:start_date]} | End: #{cSets_per_4hours[1][:end_date]} | Objects: #{cSets_per_4hours[1][:objects].length}\"" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"### Initial Filtering / Extraction from the buckets" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 16, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [], | |
"source": [ | |
"# Number of unique users editing per bucket\n", | |
"users_per_4hours = cSets_per_4hours.collect{|bucket| \n", | |
" {time: bucket[:start_date],\n", | |
" all_users: bucket[:objects].collect{|x| x.user}.uniq,\n", | |
" hot_users: bucket[:objects].select{|c| c.comment =~ /hot/}.collect{|x| x.user}.uniq\n", | |
" }\n", | |
"}\n", | |
"\n", | |
"# Save the geometries for each of these edits as well. Additionally, filter off the potential not_hot users as well.\n", | |
"geometries_per_4_hours = cSets_per_4hours.collect{|bucket| \n", | |
" {time: bucket[:start_date],\n", | |
" all_geometries: bucket[:objects].collect{|x| {geom: x.geometry, area: x.area, user: x.user}},\n", | |
" hot_geometries: bucket[:objects].select{|c| c.comment =~ /hot/}.collect{|x| {geom: x.geometry, area: x.area, user: x.user}},\n", | |
" not_hot_geometries: bucket[:objects].select{|c| not c.comment =~ /hot/}.collect{|x| {geom: x.geometry, area: x.area, user: x.user}}\n", | |
" }\n", | |
"}\n", | |
"\n", | |
"# Just count the number of editors in each bucket (NOT Unique overall)\n", | |
"counts_per_4_hours = users_per_4hours.collect{ |d| \n", | |
" { time: d[:time],\n", | |
" all_users: d[:all_users].count,\n", | |
" hot_users: d[:hot_users].count\n", | |
" }\n", | |
"}; nil" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"### We are interested in the differences within each bucket of not_hot geometries and hot geometries..." | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 17, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"0 0 0\n", | |
"11 0 11\n", | |
"53 0 53\n", | |
"72 232 304\n", | |
"94 986 1080\n", | |
"43 1195 1238\n", | |
"69 864 933\n", | |
"95 1317 1412\n", | |
"145 1642 1787\n", | |
"122 2367 2489\n" | |
] | |
} | |
], | |
"source": [ | |
"geometries_per_4_hours.first(10).each do |bucket|\n", | |
" puts \"#{bucket[:not_hot_geometries].size} #{bucket[:hot_geometries].size} #{bucket[:all_geometries].size}\"\n", | |
"end\n", | |
"nil" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"# Write results to disk as JSON for further visualization and analysis in Python/Javascript" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 24, | |
"metadata": { | |
"collapsed": false, | |
"scrolled": true | |
}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"Successfully wrote 76096 kb to Disk\n" | |
] | |
} | |
], | |
"source": [ | |
"results = File.write('json/geometries_per_4_hours.json', geometries_per_4_hours.to_json)\n", | |
"puts \"Successfully wrote #{results.to_i / 1024} kb to Disk\"" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 20, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"5749020" | |
] | |
}, | |
"execution_count": 20, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"#Write out the actual geometries for download:\n", | |
"# hot_geometries = {type: \"FeatureCollection\", features: [] }\n", | |
"# all_geometries = {type: \"FeatureCollection\", features: [] }\n", | |
"not_hot_geometries = {type: \"FeatureCollection\", features: [] }\n", | |
"\n", | |
"\n", | |
"geometries_per_4_hours.each do |bucket|\n", | |
"# bucket[:all_geometries].each do |all|\n", | |
"# all_geometries[:features] << {\n", | |
"# type: \"Feature\",\n", | |
"# geometry: all[:geom],\n", | |
"# properties: {user: all[:user], area: all[:area], time: bucket[:time]}\n", | |
"# }\n", | |
"# end\n", | |
" \n", | |
"# bucket[:hot_geometries].each do |hot|\n", | |
"# hot_geometries[:features] << {\n", | |
"# type: \"Feature\",\n", | |
"# geometry: hot[:geom],\n", | |
"# properties: {user: hot[:user], area: hot[:area], time: bucket[:time]}\n", | |
"# }\n", | |
"# end\n", | |
" \n", | |
" bucket[:not_hot_geometries].each do |hot|\n", | |
" not_hot_geometries[:features] << {\n", | |
" type: \"Feature\",\n", | |
" geometry: hot[:geom],\n", | |
" properties: {user: hot[:user], area: hot[:area], time: bucket[:time]}\n", | |
" }\n", | |
" end\n", | |
"end\n", | |
"\n", | |
"# File.write('json/all_geometries.geojson', all_geometries.to_json)\n", | |
"# File.write('json/hot_geometries.geojson', hot_geometries.to_json)\n", | |
"File.write('json/not_hot_geometries.geojson', not_hot_geometries.to_json)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 8, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"All users: 7068\n", | |
"HOT users: 6075\n" | |
] | |
} | |
], | |
"source": [ | |
"puts \"All users: #{ users_per_4hours.collect{|x| x[:all_users] }.flatten.uniq.length }\"\n", | |
"puts \"HOT users: #{ users_per_4hours.collect{|x| x[:hot_users] }.flatten.uniq.length }\"\n", | |
"nil" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": null, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [], | |
"source": [ | |
"#Write out JSON to visualize:\n", | |
"require 'json'\n", | |
"File.write('json/user_counts_per_4hour.json', counts_per_4_hours.to_json)" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"## Calculate Cumulative New Users?" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": null, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [], | |
"source": [ | |
"all_users = Set.new\n", | |
"hot_users = Set.new\n", | |
"cumulative_users = []\n", | |
"\n", | |
"cSets_per_4hours.each do |bucket|\n", | |
" t_all_users = bucket[:objects].collect{|x| x.user}.uniq.to_set\n", | |
" t_hot_users = bucket[:objects].select{|c| c.comment =~ /hot/}.collect{|x| x.user}.uniq.to_set\n", | |
" \n", | |
" \n", | |
" #Unless THIS set of users is a subset of ALL PREVIOUS users... add the difference!\n", | |
" unless t_all_users.subset?(all_users)\n", | |
" all_users = all_users.merge(t_all_users - all_users)\n", | |
" end\n", | |
" \n", | |
" unless t_hot_users.subset?(hot_users)\n", | |
" hot_users = hot_users.merge(t_hot_users - hot_users)\n", | |
" end\n", | |
" \n", | |
" cumulative_users << {time: bucket[:start_date], all_users: all_users.size, hot_users: hot_users.size}\n", | |
" \n", | |
"end\n", | |
"\n", | |
"cumulative_users[0..10].each do |u|\n", | |
" puts \"#{u[:time]}: #{u[:hot_users]}, #{u[:all_users]}\"\n", | |
"end\n", | |
"\n", | |
"File.write('json/cumulative_user_count.json', cumulative_users.to_json)\n", | |
"nil;" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"testing: {{x}}" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": { | |
"collapsed": true | |
}, | |
"source": [ | |
"## Building Statistics" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": null, | |
"metadata": { | |
"collapsed": false, | |
"scrolled": true | |
}, | |
"outputs": [], | |
"source": [ | |
"# 1. Get the buildings grouped by 4 hours:\n", | |
"buildings_per_4_hours = aw.ways_x_hour(step: 4, constraints: {version: 1, 'tags.building' => {'$ne' => nil}}); nil\n" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": null, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [], | |
"source": [ | |
"# 2. Sort the buildings\n", | |
"building_counts_per_4_hours = buildings_per_4_hours.collect{ |bucket| \n", | |
" by_users = bucket[:objects].group_by{|w| w.user }\n", | |
" { \n", | |
" t: bucket[:start_date],\n", | |
" c: bucket[:objects].size,\n", | |
" u_count: by_users.size,\n", | |
" per_user_count: by_users.collect{|k,v| {k => v.size}}\n", | |
" }\n", | |
"}; nil;" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": null, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [], | |
"source": [ | |
"# 3. Write the JSON file.\n", | |
"require 'json'\n", | |
"# File.write('json/new_buildings.json', building_counts_per_4_hours.to_json)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": null, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [], | |
"source": [ | |
"puts \"There were #{building_counts_per_4_hours.collect{|b| b[:c]}.inject(:+)} new buildings added\"" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": null, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [], | |
"source": [ | |
"uniq_users = building_counts_per_4_hours.collect{|b| b[:per_user_count].flatten.collect{|x| x.keys}}.flatten.uniq\n", | |
"uniq_users.size" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": null, | |
"metadata": { | |
"collapsed": true | |
}, | |
"outputs": [], | |
"source": [ | |
"buildings_per_user = building_counts_per_4_hours.collect{|b| b[:per_user_count].flatten.group_by{|x| x.keys}}" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": { | |
"collapsed": true | |
}, | |
"source": [ | |
"## Road Statistics\n", | |
"Pull info on (new) roads!" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": null, | |
"metadata": { | |
"collapsed": false, | |
"scrolled": true | |
}, | |
"outputs": [], | |
"source": [ | |
"roads_per_4hour = aw.ways_x_hour(step: 4, constraints: {version: 1, 'tags.highway' => {'$ne' => nil}})" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 7, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"210885" | |
] | |
}, | |
"execution_count": 7, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"# Filter, Count, & Export\n", | |
"road_counts_per_4_hours = roads_per_4hour.collect{ |bucket| \n", | |
" by_users = bucket[:objects].group_by{|w| w.user }\n", | |
" { \n", | |
" t: bucket[:start_date],\n", | |
" c: bucket[:objects].size,\n", | |
" u_count: by_users.size,\n", | |
" per_user_count: by_users.collect{|k,v| {k => v.size}}\n", | |
" }\n", | |
"}\n", | |
"\n", | |
"require 'json'\n", | |
"File.write('json/new_roads.json', road_counts_per_4_hours.to_json)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 8, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"There were 150097 new roads added\n" | |
] | |
} | |
], | |
"source": [ | |
"puts \"There were #{road_counts_per_4_hours.collect{|b| b[:c]}.inject(:+)} new roads added\"" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 10, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"216" | |
] | |
}, | |
"execution_count": 10, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"roads_per_4hour.count" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 22, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [], | |
"source": [ | |
"geometries = roads_per_4hour[3][:objects].collect{|w| w.geometry.to_json}\n", | |
"nil" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 24, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"871" | |
] | |
}, | |
"execution_count": 24, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": null, | |
"metadata": { | |
"collapsed": true | |
}, | |
"outputs": [], | |
"source": [] | |
} | |
], | |
"metadata": { | |
"kernelspec": { | |
"display_name": "Ruby 2.1.5", | |
"language": "ruby", | |
"name": "ruby" | |
}, | |
"language_info": { | |
"file_extension": ".rb", | |
"mimetype": "application/x-ruby", | |
"name": "ruby", | |
"version": "2.1.5" | |
} | |
}, | |
"nbformat": 4, | |
"nbformat_minor": 0 | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment