Skip to content
Permalink
master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Go to file
 
 
Cannot retrieve contributors at this time
{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [],
"source": [
"import pandas as pd\n",
"import numpy as np\n",
"from math import floor, ceil"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [],
"source": [
"#1. Let's get the minimum and maximum times recorded here..."
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [],
"source": [
"start_time = float('inf')\n",
"end_time = 0"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"1404360000 1404922886\n",
"1404360000 1404922886\n",
"1404360000 1405378217\n",
"1404360000 1405378217\n",
"1404360000 1405601962\n",
"1404360000 1405601962\n",
"1404360000 1405601962\n",
"1404360000 1405778475\n",
"1404360000 1405778475\n",
"1404360000 1405778475\n",
"1404360000 1405827968\n",
"1404360000 1405827968\n"
]
}
],
"source": [
"for fn in [\"./data/od_part-m-{x}.pkl\".format(x=str(x).rjust(3,\"0\")) for x in range(12)]:\n",
" df = pd.read_pickle(fn)\n",
" start_time = min(start_time, min(df[\"ptime\"]))\n",
" end_time = max(end_time, max(df[\"ptime\"]))\n",
" start_time = min(start_time, min(df[\"dtime\"]))\n",
" end_time = max(end_time, max(df[\"dtime\"]))\n",
" \n",
" print(start_time, end_time)"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"1404360000 1405828798\n",
"1404360000 1405828798\n"
]
}
],
"source": [
"for fn in [\"./data/gps_part-r-{x}.pkl\".format(x=str(x).rjust(3,\"0\")) for x in range(2)]:\n",
" df = pd.read_pickle(fn)\n",
" start_time = min(start_time, min(df[\"time\"]))\n",
" end_time = max(end_time, max(df[\"time\"]))\n",
" \n",
" print(start_time, end_time)"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"1404360000\n",
"1405828798\n"
]
}
],
"source": [
"print(start_time)\n",
"print(end_time)"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {},
"outputs": [],
"source": [
"# 2. Now let's convert an arbitrary time to an array index!\n",
"def time_to_index(tt, st = 1404360000, divisor=60):\n",
" return floor((tt-st)/divisor)"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {},
"outputs": [],
"source": [
"assert time_to_index(start_time) == 0\n",
"assert time_to_index(start_time + 59) == 0\n",
"assert time_to_index(start_time + 60) == 1\n",
"assert time_to_index(start_time + 61) == 1"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"24480\n"
]
}
],
"source": [
"NN = ceil((end_time - start_time)/60)\n",
"print(NN)"
]
},
{
"cell_type": "code",
"execution_count": 30,
"metadata": {},
"outputs": [],
"source": [
"# 3. RegionID-ifier!\n",
"from matplotlib import path\n",
"\n",
"def process_line(line):\n",
" # Not sure what these values are\n",
" val1 = line[0]\n",
" val2 = line[1]\n",
" polyline = [float(v) for v in line[2:]]\n",
" polyline = np.array(list(zip(polyline[0::2], polyline[1::2])))\n",
" return val1, val2, polyline \n",
"\n",
"with open(\"./DataForUConn/DecideRegion/area.txt\") as f:\n",
" area = [process_line(line.split(\",\")) for line in f.read().strip().split(\"\\n\")]\n",
"\n",
"#polypaths = [path.Path(line[2][1:]) for line in area]\n",
"polypaths = [path.Path(line[2]) for line in area]\n",
"\n",
"def point_to_rids(point, polypaths=polypaths, radius=0.0):\n",
" RIDs = []\n",
" for rid, polypath in enumerate(polypaths):\n",
" if polypath.contains_point(point, radius=radius):\n",
" RIDs.append(rid)\n",
" \n",
" return RIDs"
]
},
{
"cell_type": "code",
"execution_count": 25,
"metadata": {},
"outputs": [],
"source": [
"df = pd.read_pickle(\"./data/od_part-m-000.pkl\")\n",
"ppoint = (df[\"plon\"][0], df[\"plat\"][0])"
]
},
{
"cell_type": "code",
"execution_count": 28,
"metadata": {
"collapsed": true,
"jupyter": {
"outputs_hidden": true
}
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"./data/od_part-m-000.pkl\n",
"ppoint 11 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 239 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 341 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 341 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 789 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 790 --> [181, 191]\n",
"./data/od_part-m-000.pkl\n",
"ppoint 805 --> [31, 241]\n",
"./data/od_part-m-000.pkl\n",
"dpoint 1021 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 1186 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 1270 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 1274 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 1275 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 1380 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 1438 --> [267, 268]\n",
"./data/od_part-m-000.pkl\n",
"dpoint 1442 --> [263, 267]\n",
"./data/od_part-m-000.pkl\n",
"dpoint 1863 --> [255, 341]\n",
"./data/od_part-m-000.pkl\n",
"dpoint 1951 --> [331, 339]\n",
"./data/od_part-m-000.pkl\n",
"dpoint 1980 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 1981 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 2520 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 2535 --> [409, 410]\n",
"./data/od_part-m-000.pkl\n",
"dpoint 2649 --> [187, 292]\n",
"./data/od_part-m-000.pkl\n",
"ppoint 2710 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 2732 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 2733 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 2733 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 2734 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 3356 --> [31, 133]\n",
"./data/od_part-m-000.pkl\n",
"dpoint 3523 --> [139, 240]\n",
"./data/od_part-m-000.pkl\n",
"dpoint 3756 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 3957 --> [31, 241]\n",
"./data/od_part-m-000.pkl\n",
"ppoint 4874 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 4875 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 5164 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 5360 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 5409 --> [203, 276]\n",
"./data/od_part-m-000.pkl\n",
"dpoint 5491 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 5492 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 5565 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 5566 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 5871 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 6153 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 6562 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 6562 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 6667 --> [283, 287]\n",
"./data/od_part-m-000.pkl\n",
"ppoint 6723 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 6767 --> [267, 268]\n",
"./data/od_part-m-000.pkl\n",
"dpoint 6779 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 6814 --> [31, 133]\n",
"./data/od_part-m-000.pkl\n",
"dpoint 7030 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 7096 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 7096 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 7097 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 7210 --> [306, 310]\n",
"./data/od_part-m-000.pkl\n",
"dpoint 7597 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 7666 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 7667 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 7811 --> [306, 310]\n",
"./data/od_part-m-000.pkl\n",
"ppoint 7812 --> [306, 310]\n",
"./data/od_part-m-000.pkl\n",
"dpoint 7846 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 7973 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 8213 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 8292 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 8406 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 8484 --> [30, 134]\n",
"./data/od_part-m-000.pkl\n",
"ppoint 8622 --> [255, 341]\n",
"./data/od_part-m-000.pkl\n",
"dpoint 8690 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 9082 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 9190 --> [31, 133]\n",
"./data/od_part-m-000.pkl\n",
"ppoint 9209 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 9430 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 9444 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 9461 --> [331, 339]\n",
"./data/od_part-m-000.pkl\n",
"ppoint 9615 --> [251, 265]\n",
"./data/od_part-m-000.pkl\n",
"dpoint 9754 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 10007 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 10008 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 10008 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 10014 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 10015 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 10441 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 10442 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 10442 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 10763 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 10979 --> [256, 342]\n",
"./data/od_part-m-000.pkl\n",
"ppoint 11109 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 11343 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 11343 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 11454 --> [203, 276]\n",
"./data/od_part-m-000.pkl\n",
"ppoint 11520 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 11600 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 11844 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 11854 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 11939 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 12021 --> [283, 286]\n",
"./data/od_part-m-000.pkl\n",
"dpoint 12025 --> [289, 309]\n",
"./data/od_part-m-000.pkl\n",
"dpoint 12509 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 12698 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 12784 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 12784 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 12812 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 12956 --> [5, 6]\n",
"./data/od_part-m-000.pkl\n",
"dpoint 13164 --> [313, 324]\n",
"./data/od_part-m-000.pkl\n",
"dpoint 13258 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 13464 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 13732 --> [306, 310]\n",
"./data/od_part-m-000.pkl\n",
"ppoint 13742 --> [306, 310]\n",
"./data/od_part-m-000.pkl\n",
"ppoint 13831 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 14207 --> [185, 186]\n",
"./data/od_part-m-000.pkl\n",
"dpoint 14395 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 14629 --> [179, 275]\n",
"./data/od_part-m-000.pkl\n",
"dpoint 14688 --> [306, 310]\n",
"./data/od_part-m-000.pkl\n",
"ppoint 14879 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 14946 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 15067 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 15150 --> [331, 339]\n",
"./data/od_part-m-000.pkl\n",
"ppoint 15541 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 15722 --> [215, 320]\n",
"./data/od_part-m-000.pkl\n",
"ppoint 16383 --> [306, 310]\n",
"./data/od_part-m-000.pkl\n",
"dpoint 16436 --> [331, 339]\n",
"./data/od_part-m-000.pkl\n",
"ppoint 16494 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 16830 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 16830 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 17018 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 17018 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 17033 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 17070 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 17072 --> [256, 342]\n",
"./data/od_part-m-000.pkl\n",
"ppoint 17200 --> [263, 267]\n",
"./data/od_part-m-000.pkl\n",
"ppoint 17258 --> [43, 196]\n",
"./data/od_part-m-000.pkl\n",
"dpoint 17306 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 17373 --> [267, 268]\n",
"./data/od_part-m-000.pkl\n",
"dpoint 17375 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 17630 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 17643 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 17744 --> [256, 342]\n",
"./data/od_part-m-000.pkl\n",
"dpoint 18349 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 18899 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 18910 --> [255, 341]\n",
"./data/od_part-m-000.pkl\n",
"dpoint 19112 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 19347 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 19694 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 19701 --> [255, 341]\n",
"./data/od_part-m-000.pkl\n",
"ppoint 19834 --> [255, 341]\n",
"./data/od_part-m-000.pkl\n",
"dpoint 19951 --> [255, 341]\n",
"./data/od_part-m-000.pkl\n",
"dpoint 20143 --> [256, 342]\n",
"./data/od_part-m-000.pkl\n",
"dpoint 20149 --> [267, 268]\n",
"./data/od_part-m-000.pkl\n",
"dpoint 20174 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 20225 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 20310 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 20757 --> [31, 133]\n",
"./data/od_part-m-000.pkl\n",
"dpoint 21013 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 21014 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 21052 --> [331, 339]\n",
"./data/od_part-m-000.pkl\n",
"ppoint 21256 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 21456 --> [267, 268]\n",
"./data/od_part-m-000.pkl\n",
"ppoint 21482 --> [331, 339]\n",
"./data/od_part-m-000.pkl\n",
"dpoint 21498 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 21708 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 21934 --> [31, 241]\n",
"./data/od_part-m-000.pkl\n",
"dpoint 22361 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 22548 --> [256, 342]\n",
"./data/od_part-m-000.pkl\n",
"ppoint 22655 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 22806 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 22816 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 22870 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 22879 --> [185, 186]\n",
"./data/od_part-m-000.pkl\n",
"ppoint 22996 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 23100 --> [289, 309]\n",
"./data/od_part-m-000.pkl\n",
"ppoint 23430 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 23430 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 23688 --> [331, 339]\n",
"./data/od_part-m-000.pkl\n",
"ppoint 23882 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 24359 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 24814 --> [306, 310]\n",
"./data/od_part-m-000.pkl\n",
"dpoint 25187 --> [58, 227]\n",
"./data/od_part-m-000.pkl\n",
"dpoint 25194 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 25250 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 25471 --> [410, 423]\n",
"./data/od_part-m-000.pkl\n",
"ppoint 25609 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 25609 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 25637 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 25750 --> [256, 342]\n",
"./data/od_part-m-000.pkl\n",
"ppoint 25809 --> [255, 341]\n",
"./data/od_part-m-000.pkl\n",
"ppoint 25901 --> [203, 276]\n",
"./data/od_part-m-000.pkl\n",
"ppoint 26289 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 26339 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 26366 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 26480 --> [251, 265]\n",
"./data/od_part-m-000.pkl\n",
"dpoint 26500 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 26539 --> [31, 241]\n",
"./data/od_part-m-000.pkl\n",
"ppoint 26701 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 26792 --> [224, 227]\n",
"./data/od_part-m-000.pkl\n",
"ppoint 27181 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 27335 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 27335 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 27465 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 27549 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 27615 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 27616 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 27616 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 28046 --> [261, 267]\n",
"./data/od_part-m-000.pkl\n",
"ppoint 28548 --> [331, 339]\n",
"./data/od_part-m-000.pkl\n",
"ppoint 28656 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 28656 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 28818 --> [3, 134]\n",
"./data/od_part-m-000.pkl\n",
"dpoint 28834 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 28862 --> [31, 133]\n",
"./data/od_part-m-000.pkl\n",
"dpoint 28868 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 28869 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 29426 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 29490 --> [251, 265]\n",
"./data/od_part-m-000.pkl\n",
"dpoint 29856 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 29868 --> [283, 287]\n",
"./data/od_part-m-000.pkl\n",
"ppoint 30054 --> [305, 308]\n",
"./data/od_part-m-000.pkl\n",
"dpoint 30268 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 30280 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 30377 --> [185, 186]\n",
"./data/od_part-m-000.pkl\n",
"dpoint 30660 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 30661 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 30661 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 30875 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 30889 --> [223, 247]\n",
"./data/od_part-m-000.pkl\n",
"dpoint 31020 --> [306, 310]\n",
"./data/od_part-m-000.pkl\n",
"dpoint 31610 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 31727 --> [130, 131]\n",
"./data/od_part-m-000.pkl\n",
"dpoint 31770 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 31808 --> [251, 265]\n",
"./data/od_part-m-000.pkl\n",
"ppoint 32048 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 32196 --> [226, 227]\n",
"./data/od_part-m-000.pkl\n",
"dpoint 32197 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 32233 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 32379 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 32380 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 32380 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 32381 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 32703 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 32728 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 32839 --> [431, 436]\n",
"./data/od_part-m-000.pkl\n",
"ppoint 32851 --> [306, 310]\n",
"./data/od_part-m-000.pkl\n",
"dpoint 32940 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 33142 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 33142 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 33462 --> [306, 310]\n",
"./data/od_part-m-000.pkl\n",
"dpoint 33535 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 33705 --> [306, 310]\n",
"./data/od_part-m-000.pkl\n",
"ppoint 33891 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 33989 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 33990 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 33990 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 34056 --> [331, 339]\n",
"./data/od_part-m-000.pkl\n",
"dpoint 34173 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 34469 --> [278, 279]\n",
"./data/od_part-m-000.pkl\n",
"ppoint 34525 --> [185, 186]\n",
"./data/od_part-m-000.pkl\n",
"dpoint 34975 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 35008 --> [207, 211]\n",
"./data/od_part-m-000.pkl\n",
"dpoint 35074 --> [306, 310]\n",
"./data/od_part-m-000.pkl\n",
"ppoint 35150 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 35150 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 35196 --> [187, 305]\n",
"./data/od_part-m-000.pkl\n",
"dpoint 35356 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 35513 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 35527 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 35535 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 35536 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 35537 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 35538 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 35618 --> [306, 310]\n",
"./data/od_part-m-000.pkl\n",
"ppoint 35721 --> [256, 341]\n",
"./data/od_part-m-000.pkl\n",
"ppoint 35895 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 36138 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 36195 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 36195 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 36380 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 36443 --> [31, 133]\n",
"./data/od_part-m-000.pkl\n",
"dpoint 36457 --> [331, 339]\n",
"./data/od_part-m-000.pkl\n",
"dpoint 36620 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 36921 --> [31, 241]\n",
"./data/od_part-m-000.pkl\n",
"dpoint 36952 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 36965 --> [30, 134]\n",
"./data/od_part-m-000.pkl\n",
"dpoint 36970 --> [331, 339]\n",
"./data/od_part-m-000.pkl\n",
"ppoint 37192 --> [281, 283]\n",
"./data/od_part-m-000.pkl\n",
"dpoint 37315 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 37364 --> [331, 339]\n",
"./data/od_part-m-000.pkl\n",
"ppoint 37401 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 37403 --> [453, 455]\n",
"./data/od_part-m-000.pkl\n",
"ppoint 37478 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 37482 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 37678 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 38125 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 38927 --> [224, 227]\n",
"./data/od_part-m-000.pkl\n",
"dpoint 39359 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 39404 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 39775 --> [58, 227]\n",
"./data/od_part-m-000.pkl\n",
"ppoint 39987 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 40009 --> [145, 232]\n",
"./data/od_part-m-000.pkl\n",
"dpoint 40223 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 40262 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 40424 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 40784 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 40834 --> [306, 310]\n",
"./data/od_part-m-000.pkl\n",
"ppoint 40835 --> [306, 310]\n",
"./data/od_part-m-000.pkl\n",
"ppoint 40874 --> [331, 339]\n",
"./data/od_part-m-000.pkl\n",
"ppoint 41214 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 41223 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 41265 --> [251, 265]\n",
"./data/od_part-m-000.pkl\n",
"dpoint 41470 --> [306, 310]\n",
"./data/od_part-m-000.pkl\n",
"dpoint 41629 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 41630 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 41630 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 41862 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 41950 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 42003 --> [139, 159]\n",
"./data/od_part-m-000.pkl\n",
"dpoint 42136 --> [226, 227]\n",
"./data/od_part-m-000.pkl\n",
"dpoint 42382 --> [306, 310]\n",
"./data/od_part-m-000.pkl\n",
"ppoint 42407 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 42867 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 43003 --> [139, 152]\n",
"./data/od_part-m-000.pkl\n",
"dpoint 43016 --> [306, 310]\n",
"./data/od_part-m-000.pkl\n",
"dpoint 43025 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 43044 --> [283, 286]\n",
"./data/od_part-m-000.pkl\n",
"dpoint 43246 --> [306, 310]\n",
"./data/od_part-m-000.pkl\n",
"ppoint 43247 --> [306, 310]\n",
"./data/od_part-m-000.pkl\n",
"ppoint 43319 --> [283, 286]\n",
"./data/od_part-m-000.pkl\n",
"dpoint 43585 --> [31, 241]\n",
"./data/od_part-m-000.pkl\n",
"ppoint 43670 --> [5, 30]\n",
"./data/od_part-m-000.pkl\n",
"dpoint 44037 --> [306, 310]\n",
"./data/od_part-m-000.pkl\n",
"ppoint 44038 --> [306, 310]\n",
"./data/od_part-m-000.pkl\n",
"ppoint 44130 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 44146 --> [31, 133]\n",
"./data/od_part-m-000.pkl\n",
"dpoint 44308 --> [215, 320]\n",
"./data/od_part-m-000.pkl\n",
"dpoint 44314 --> [331, 339]\n",
"./data/od_part-m-000.pkl\n",
"ppoint 44534 --> [203, 275]\n",
"./data/od_part-m-000.pkl\n",
"dpoint 44836 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 44857 --> [331, 339]\n",
"./data/od_part-m-000.pkl\n",
"dpoint 44990 --> [431, 436]\n",
"./data/od_part-m-000.pkl\n",
"dpoint 45143 --> [331, 339]\n",
"./data/od_part-m-000.pkl\n",
"dpoint 45369 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 45417 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 45421 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 45452 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 45597 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 45597 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 45697 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 46277 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 46336 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 46883 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 47087 --> [256, 341]\n",
"./data/od_part-m-000.pkl\n",
"dpoint 47101 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 47102 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 47455 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 47551 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 47561 --> [255, 341]\n",
"./data/od_part-m-000.pkl\n",
"dpoint 47664 --> [267, 268]\n",
"./data/od_part-m-000.pkl\n",
"dpoint 47746 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 47757 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 47781 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 48021 --> [255, 341]\n",
"./data/od_part-m-000.pkl\n",
"ppoint 48539 --> [127, 129]\n",
"./data/od_part-m-000.pkl\n",
"dpoint 48552 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 48617 --> [256, 342]\n",
"./data/od_part-m-000.pkl\n",
"ppoint 48653 --> [267, 268]\n",
"./data/od_part-m-000.pkl\n",
"dpoint 48825 --> [431, 436]\n",
"./data/od_part-m-000.pkl\n",
"ppoint 48921 --> [306, 310]\n",
"./data/od_part-m-000.pkl\n",
"dpoint 49216 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 49346 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 49759 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 50293 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 50320 --> [256, 341]\n",
"./data/od_part-m-000.pkl\n",
"ppoint 50507 --> [19, 218]\n",
"./data/od_part-m-000.pkl\n",
"dpoint 51218 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 51330 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 51330 --> [331, 339]\n",
"./data/od_part-m-000.pkl\n",
"ppoint 51409 --> [31, 241]\n",
"./data/od_part-m-000.pkl\n",
"ppoint 51466 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 51559 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 51665 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 51783 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 51783 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 51933 --> [255, 341]\n",
"./data/od_part-m-000.pkl\n",
"ppoint 52154 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 52216 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 52274 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 52354 --> [144, 146]\n",
"./data/od_part-m-000.pkl\n",
"dpoint 52582 --> [31, 241]\n",
"./data/od_part-m-000.pkl\n",
"ppoint 52669 --> [226, 227]\n",
"./data/od_part-m-000.pkl\n",
"dpoint 52783 --> [187, 292]\n",
"./data/od_part-m-000.pkl\n",
"dpoint 52877 --> [306, 310]\n",
"./data/od_part-m-000.pkl\n",
"dpoint 52902 --> [31, 133]\n",
"./data/od_part-m-000.pkl\n",
"ppoint 52998 --> [289, 309]\n",
"./data/od_part-m-000.pkl\n",
"dpoint 53040 --> [215, 320]\n",
"./data/od_part-m-000.pkl\n",
"ppoint 53373 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 53373 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 53585 --> [19, 218]\n",
"./data/od_part-m-000.pkl\n",
"ppoint 53677 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 53910 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 53924 --> [255, 341]\n",
"./data/od_part-m-000.pkl\n",
"ppoint 53936 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 53936 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 54006 --> [331, 339]\n",
"./data/od_part-m-000.pkl\n",
"ppoint 54074 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 54467 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 54659 --> [283, 286]\n",
"./data/od_part-m-000.pkl\n",
"ppoint 54718 --> [31, 133]\n",
"./data/od_part-m-000.pkl\n",
"ppoint 54770 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 54910 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 55015 --> [306, 310]\n",
"./data/od_part-m-000.pkl\n",
"dpoint 55329 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 55995 --> [207, 211]\n",
"./data/od_part-m-000.pkl\n",
"dpoint 56344 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 56393 --> [256, 341]\n",
"./data/od_part-m-000.pkl\n",
"dpoint 56594 --> [306, 310]\n",
"./data/od_part-m-000.pkl\n",
"ppoint 56651 --> [281, 283]\n",
"./data/od_part-m-000.pkl\n",
"dpoint 56737 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 56746 --> [306, 310]\n",
"./data/od_part-m-000.pkl\n",
"ppoint 56910 --> [239, 288]\n",
"./data/od_part-m-000.pkl\n",
"ppoint 57092 --> [256, 342]\n",
"./data/od_part-m-000.pkl\n",
"ppoint 57163 --> [243, 262]\n",
"./data/od_part-m-000.pkl\n",
"ppoint 57206 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 57206 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 57491 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 57509 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 57710 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 57724 --> [5, 30]\n",
"./data/od_part-m-000.pkl\n",
"dpoint 57885 --> [306, 310]\n",
"./data/od_part-m-000.pkl\n",
"dpoint 57968 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 57969 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 58375 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 58444 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 58570 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 58571 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 58672 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 58686 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 58687 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 58724 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 58725 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 58826 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 58827 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 58827 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 58828 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 58828 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 59038 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 59039 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 59039 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 59210 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 59211 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 59211 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 59212 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 59212 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 59220 --> [255, 341]\n",
"./data/od_part-m-000.pkl\n",
"ppoint 59254 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 59557 --> [340, 406]\n",
"./data/od_part-m-000.pkl\n",
"ppoint 59618 --> [224, 227]\n",
"./data/od_part-m-000.pkl\n",
"ppoint 59831 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 59846 --> [31, 133]\n",
"./data/od_part-m-000.pkl\n",
"dpoint 59860 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 59998 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 60027 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 60027 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 60075 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 60089 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 60138 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 60152 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 60492 --> [381, 453]\n",
"./data/od_part-m-000.pkl\n",
"ppoint 60679 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 60679 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 60680 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 60681 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 60681 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 60702 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 60702 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 60875 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 61125 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 61284 --> [139, 240]\n",
"./data/od_part-m-000.pkl\n",
"ppoint 61365 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 61366 --> [19, 218]\n",
"./data/od_part-m-000.pkl\n",
"ppoint 61564 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 61723 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 61835 --> [317, 319]\n",
"./data/od_part-m-000.pkl\n",
"dpoint 61962 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 62155 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 62220 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 62282 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 62322 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 62590 --> [182, 294]\n",
"./data/od_part-m-000.pkl\n",
"dpoint 62926 --> [220, 350]\n",
"./data/od_part-m-000.pkl\n",
"dpoint 63146 --> [313, 324]\n",
"./data/od_part-m-000.pkl\n",
"dpoint 63321 --> [281, 283]\n",
"./data/od_part-m-000.pkl\n",
"ppoint 63322 --> [281, 283]\n",
"./data/od_part-m-000.pkl\n",
"dpoint 63374 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 63375 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 64075 --> [249, 250]\n",
"./data/od_part-m-000.pkl\n",
"ppoint 64410 --> [258, 343]\n",
"./data/od_part-m-000.pkl\n",
"ppoint 64571 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 64707 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 64730 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 65058 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 65287 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 65359 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 65887 --> [182, 294]\n",
"./data/od_part-m-000.pkl\n",
"ppoint 65983 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 66027 --> [235, 238]\n",
"./data/od_part-m-000.pkl\n",
"dpoint 66229 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 66272 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 66396 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 66468 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 66496 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 66503 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 66504 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 66504 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 66505 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 66505 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 66506 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 66506 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 66507 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 66507 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 66508 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 66508 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 66509 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 66511 --> [389, 390]\n",
"./data/od_part-m-000.pkl\n",
"ppoint 66514 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 66516 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 66552 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 66677 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 67014 --> [306, 310]\n",
"./data/od_part-m-000.pkl\n",
"ppoint 67022 --> [431, 436]\n",
"./data/od_part-m-000.pkl\n",
"ppoint 67169 --> [306, 310]\n",
"./data/od_part-m-000.pkl\n",
"dpoint 67322 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 67343 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 67356 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 67419 --> [305, 308]\n",
"./data/od_part-m-000.pkl\n",
"dpoint 67651 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 67739 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 67922 --> [267, 268]\n",
"./data/od_part-m-000.pkl\n",
"ppoint 67923 --> [267, 268]\n",
"./data/od_part-m-000.pkl\n",
"ppoint 68070 --> [256, 342]\n",
"./data/od_part-m-000.pkl\n",
"ppoint 68141 --> [251, 265]\n",
"./data/od_part-m-000.pkl\n",
"ppoint 68212 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 68288 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 68561 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 68642 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 68656 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 68843 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 68877 --> [331, 340]\n",
"./data/od_part-m-000.pkl\n",
"dpoint 69212 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 69532 --> [187, 305]\n",
"./data/od_part-m-000.pkl\n",
"ppoint 69657 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 69657 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 69658 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 69658 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 69919 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 70128 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 70133 --> [43, 196]\n",
"./data/od_part-m-000.pkl\n",
"ppoint 70193 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 70227 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 70227 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 70228 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 70228 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 70229 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 70461 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 70587 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 70588 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 70617 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 70680 --> [306, 310]\n",
"./data/od_part-m-000.pkl\n",
"ppoint 70693 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 70693 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 70750 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 70793 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 71023 --> [306, 310]\n",
"./data/od_part-m-000.pkl\n",
"ppoint 71024 --> [306, 310]\n",
"./data/od_part-m-000.pkl\n",
"dpoint 71059 --> [31, 133]\n",
"./data/od_part-m-000.pkl\n",
"dpoint 71119 --> [226, 227]\n",
"./data/od_part-m-000.pkl\n",
"dpoint 71239 --> [31, 241]\n",
"./data/od_part-m-000.pkl\n",
"dpoint 71291 --> [139, 240]\n",
"./data/od_part-m-000.pkl\n",
"dpoint 71355 --> [203, 275]\n",
"./data/od_part-m-000.pkl\n",
"dpoint 71426 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 71427 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 71596 --> [306, 310]\n",
"./data/od_part-m-000.pkl\n",
"dpoint 71623 --> [251, 265]\n",
"./data/od_part-m-000.pkl\n",
"ppoint 71682 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 71858 --> [127, 130]\n",
"./data/od_part-m-000.pkl\n",
"dpoint 72022 --> [306, 310]\n",
"./data/od_part-m-000.pkl\n",
"dpoint 72093 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 72094 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 72094 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 72095 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 72228 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 72228 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 72428 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 72434 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 72597 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 72736 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 72743 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 72743 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 72780 --> [31, 133]\n"
]
},
{
"ename": "KeyboardInterrupt",
"evalue": "",
"output_type": "error",
"traceback": [
"\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
"\u001b[0;31mKeyboardInterrupt\u001b[0m Traceback (most recent call last)",
"\u001b[0;32m<ipython-input-28-b31f325d0aaa>\u001b[0m in \u001b[0;36m<module>\u001b[0;34m\u001b[0m\n\u001b[1;32m 6\u001b[0m \u001b[0mppoint\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;34m(\u001b[0m\u001b[0mdf\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m\"plon\"\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mii\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mdf\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m\"plat\"\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mii\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 7\u001b[0m \u001b[0mdpoint\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;34m(\u001b[0m\u001b[0mdf\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m\"dlon\"\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mii\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mdf\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m\"dlat\"\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mii\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 8\u001b[0;31m \u001b[0;32mif\u001b[0m \u001b[0;32mnot\u001b[0m \u001b[0mlen\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mpoint_to_rids\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mppoint\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;34m==\u001b[0m \u001b[0;36m1\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 9\u001b[0m \u001b[0mprint\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mfn\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 10\u001b[0m \u001b[0mprint\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34mf\"ppoint {ii} --> {point_to_rids(ppoint)}\"\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
"\u001b[0;32m<ipython-input-17-8b8331e1fde3>\u001b[0m in \u001b[0;36mpoint_to_rids\u001b[0;34m(point, polypaths, radius)\u001b[0m\n\u001b[1;32m 18\u001b[0m \u001b[0mRIDs\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;34m[\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 19\u001b[0m \u001b[0;32mfor\u001b[0m \u001b[0mrid\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mpolypath\u001b[0m \u001b[0;32min\u001b[0m \u001b[0menumerate\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mpolypaths\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 20\u001b[0;31m \u001b[0;32mif\u001b[0m \u001b[0mpolypath\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mcontains_point\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mpoint\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mradius\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mradius\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 21\u001b[0m \u001b[0mRIDs\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mappend\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mrid\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 22\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n",
"\u001b[0;32m~/miniconda3/envs/ds/lib/python3.7/site-packages/matplotlib/path.py\u001b[0m in \u001b[0;36mcontains_point\u001b[0;34m(self, point, transform, radius)\u001b[0m\n\u001b[1;32m 467\u001b[0m \u001b[0mself\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mtransform\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mtransform_path\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 468\u001b[0m \u001b[0mtransform\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;32mNone\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 469\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0m_path\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mpoint_in_path\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mpoint\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;36m0\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mpoint\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;36m1\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mradius\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mtransform\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 470\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 471\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0mcontains_points\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mpoints\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mtransform\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;32mNone\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mradius\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;36m0.0\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
"\u001b[0;31mKeyboardInterrupt\u001b[0m: "
]
}
],
"source": [
"# 3.1. Let's check that each lat-lon coordinate in each file corresponds to exactly ONE rid!\n",
"\n",
"for fn in [\"./data/od_part-m-{x}.pkl\".format(x=str(x).rjust(3,\"0\")) for x in range(12)]:\n",
" df = pd.read_pickle(fn)\n",
" for ii in range(len(df)):\n",
" ppoint = (df[\"plon\"][ii], df[\"plat\"][ii])\n",
" dpoint = (df[\"dlon\"][ii], df[\"dlat\"][ii])\n",
" if not len(point_to_rids(ppoint)) == 1:\n",
" print(fn)\n",
" print(f\"ppoint {ii} --> {point_to_rids(ppoint)}\")\n",
" if not len(point_to_rids(dpoint)) == 1:\n",
" print(fn)\n",
" print(f\"dpoint {ii} --> {point_to_rids(dpoint)}\")"
]
},
{
"cell_type": "code",
"execution_count": 29,
"metadata": {
"collapsed": true,
"jupyter": {
"outputs_hidden": true
}
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"./data/od_part-m-000.pkl\n",
"ppoint 0 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 1 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 2 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 3 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 5 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 6 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 8 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 9 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 10 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 10 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 11 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 13 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 14 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 16 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 16 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 25 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 28 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 29 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 29 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 30 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 31 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 34 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 36 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 37 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 38 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 39 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 41 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 42 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 42 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 43 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 44 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 45 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 46 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 46 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 47 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 47 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 48 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 48 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 49 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 49 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 50 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 50 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 51 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 52 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 53 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 54 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 55 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 56 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 56 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 57 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 58 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 63 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 63 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 64 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 66 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 67 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 67 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 68 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 68 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 71 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 73 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 74 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 77 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 78 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 81 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 81 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 82 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 85 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 86 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 87 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 88 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 92 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 97 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 98 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 100 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 101 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 103 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 104 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 106 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 110 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 112 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 117 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 118 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 120 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 120 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 121 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 121 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 125 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 128 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 129 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 131 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 132 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 133 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 134 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 135 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 136 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 137 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 138 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 140 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 141 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 142 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 142 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 143 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 144 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 144 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 154 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 154 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 156 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 157 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 159 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 160 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 161 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 165 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 166 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 166 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 167 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 168 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 168 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 170 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 171 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 172 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 175 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 176 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 176 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 178 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 180 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 182 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 183 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 184 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 185 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 188 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 188 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 189 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 189 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 193 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 194 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 195 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 195 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 196 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 197 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 198 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 201 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 202 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 203 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 204 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 206 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 206 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 207 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 208 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 209 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 210 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 212 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 213 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 214 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 215 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 215 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 217 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 218 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 219 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 219 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 220 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 224 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 225 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 226 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 227 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 229 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 229 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 230 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 231 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 235 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 236 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 237 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 238 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 239 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 246 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 246 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 247 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 250 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 250 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 251 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 252 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 253 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 254 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 255 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 255 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 256 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 256 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 257 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 260 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 264 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 265 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 266 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 267 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 268 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 268 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 269 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 269 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 270 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 270 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 272 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 272 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 273 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 273 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 274 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 275 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 277 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 277 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 280 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 280 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 281 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 281 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 282 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 286 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 287 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 288 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 289 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 290 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 291 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 292 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 292 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 293 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 294 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 294 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 295 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 297 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 298 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 298 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 300 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 301 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 305 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 307 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 312 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 313 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 313 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 315 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 315 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 318 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 319 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 320 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 321 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 321 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 322 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 324 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 325 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 328 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 329 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 332 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 335 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 341 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 341 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 342 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 343 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 344 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 345 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 346 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 346 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 348 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 352 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 353 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 355 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 356 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 357 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 358 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 362 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 364 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 366 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 367 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 368 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 369 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 372 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 373 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 374 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 375 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 375 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 376 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 379 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 381 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 383 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 386 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 387 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 388 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 389 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 390 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 391 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 392 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 392 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 393 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 394 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 395 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 395 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 396 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 396 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 397 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 399 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 403 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 406 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 407 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 410 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 411 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 414 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 415 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 416 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 417 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 418 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 419 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 420 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 424 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 431 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 433 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 434 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 435 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 436 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 436 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 437 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 438 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 439 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 440 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 440 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 447 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 448 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 451 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 452 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 453 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 456 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 458 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 459 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 460 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 461 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 463 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 463 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 465 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 465 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 467 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 471 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 471 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 472 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 472 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 473 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 474 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 475 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 476 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 477 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 478 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 480 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 482 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 484 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 485 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 485 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 486 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 486 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 488 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 488 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 489 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 490 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 490 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 491 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 491 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 492 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 493 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 493 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 494 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 494 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 495 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 497 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 498 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 499 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 499 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 501 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 501 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 502 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 502 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 503 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 504 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 505 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 505 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 506 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 507 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 507 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 508 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 508 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 512 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 518 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 518 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 521 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 521 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 522 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 522 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 523 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 523 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 527 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 529 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 530 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 530 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 531 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 533 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 534 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 534 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 535 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 536 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 537 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 538 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 538 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 539 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 543 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 544 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 547 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 550 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 552 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 552 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 553 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 554 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 555 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 558 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 558 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 559 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 560 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 561 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 561 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 564 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 568 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 570 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 571 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 572 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 572 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 573 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 574 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 576 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 578 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 583 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 584 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 585 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 588 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 589 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 589 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 591 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 600 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 601 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 601 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 603 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 605 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 607 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 608 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 609 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 611 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 611 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 617 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 618 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 619 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 619 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 620 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 627 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 628 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 630 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 631 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 632 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 635 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 636 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 636 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 637 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 638 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 639 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 642 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 643 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 644 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 645 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 645 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 646 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 651 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 655 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 660 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 660 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 661 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 664 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 665 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 666 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 667 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 667 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 669 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 672 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 674 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 675 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 676 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 677 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 678 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 680 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 680 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 681 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 685 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 685 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 686 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 687 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 688 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 688 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 689 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 690 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 692 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 692 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 693 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 695 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 695 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 696 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 701 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 702 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 704 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 706 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 708 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 709 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 710 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 712 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 713 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 714 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 717 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 718 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 720 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 720 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 721 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 721 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 722 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 728 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 729 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 730 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 738 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 739 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 740 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 741 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 742 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 742 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 746 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 749 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 750 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 751 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 751 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 756 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 757 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 760 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 761 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 762 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 762 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 764 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 765 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 766 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 766 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 767 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 767 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 768 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 769 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 771 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 772 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 776 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 776 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 777 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 777 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 778 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 782 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 788 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 789 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 790 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 792 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 794 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 795 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 796 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 796 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 797 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 798 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 799 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 799 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 800 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 800 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 801 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 801 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 802 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 804 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 805 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 806 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 807 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 808 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 809 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 810 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 810 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 811 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 811 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 812 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 812 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 813 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 814 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 814 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 815 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 817 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 817 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 819 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 821 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 822 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 823 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 823 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 824 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 825 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 826 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 827 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 828 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 830 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 831 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 832 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 834 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 835 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 835 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 837 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 839 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 840 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 841 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 844 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 846 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 852 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 853 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 855 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 856 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 857 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 858 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 859 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 860 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 862 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 866 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 869 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 870 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 871 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 876 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 877 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 878 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 881 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 884 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 885 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 885 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 886 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 887 --> []\n"
]
},
{
"ename": "KeyboardInterrupt",
"evalue": "",
"output_type": "error",
"traceback": [
"\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
"\u001b[0;31mKeyboardInterrupt\u001b[0m Traceback (most recent call last)",
"\u001b[0;32m<ipython-input-29-bbd39e32d4e3>\u001b[0m in \u001b[0;36m<module>\u001b[0;34m\u001b[0m\n\u001b[1;32m 7\u001b[0m \u001b[0mppoint\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;34m(\u001b[0m\u001b[0mdf\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m\"plon\"\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mii\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mdf\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m\"plat\"\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mii\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 8\u001b[0m \u001b[0mdpoint\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;34m(\u001b[0m\u001b[0mdf\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m\"dlon\"\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mii\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mdf\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m\"dlat\"\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mii\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 9\u001b[0;31m \u001b[0mprids\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mpoint_to_rids\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mppoint\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mradius\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;36m0.001\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 10\u001b[0m \u001b[0mdrids\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mpoint_to_rids\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mdpoint\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mradius\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;36m0.001\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 11\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0;32mnot\u001b[0m \u001b[0mlen\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mprids\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;34m==\u001b[0m \u001b[0;36m1\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
"\u001b[0;32m<ipython-input-17-8b8331e1fde3>\u001b[0m in \u001b[0;36mpoint_to_rids\u001b[0;34m(point, polypaths, radius)\u001b[0m\n\u001b[1;32m 18\u001b[0m \u001b[0mRIDs\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;34m[\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 19\u001b[0m \u001b[0;32mfor\u001b[0m \u001b[0mrid\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mpolypath\u001b[0m \u001b[0;32min\u001b[0m \u001b[0menumerate\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mpolypaths\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 20\u001b[0;31m \u001b[0;32mif\u001b[0m \u001b[0mpolypath\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mcontains_point\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mpoint\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mradius\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mradius\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 21\u001b[0m \u001b[0mRIDs\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mappend\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mrid\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 22\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n",
"\u001b[0;32m~/miniconda3/envs/ds/lib/python3.7/site-packages/matplotlib/path.py\u001b[0m in \u001b[0;36mcontains_point\u001b[0;34m(self, point, transform, radius)\u001b[0m\n\u001b[1;32m 467\u001b[0m \u001b[0mself\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mtransform\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mtransform_path\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 468\u001b[0m \u001b[0mtransform\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;32mNone\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 469\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0m_path\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mpoint_in_path\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mpoint\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;36m0\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mpoint\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;36m1\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mradius\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mtransform\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 470\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 471\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0mcontains_points\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mpoints\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mtransform\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;32mNone\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mradius\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;36m0.0\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
"\u001b[0;32m~/miniconda3/envs/ds/lib/python3.7/site-packages/matplotlib/path.py\u001b[0m in \u001b[0;36msimplify_threshold\u001b[0;34m(self)\u001b[0m\n\u001b[1;32m 234\u001b[0m \u001b[0mbe\u001b[0m \u001b[0msimplified\u001b[0m \u001b[0mout\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 235\u001b[0m \"\"\"\n\u001b[0;32m--> 236\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_simplify_threshold\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 237\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 238\u001b[0m \u001b[0;34m@\u001b[0m\u001b[0msimplify_threshold\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0msetter\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
"\u001b[0;31mKeyboardInterrupt\u001b[0m: "
]
}
],
"source": [
"# oh no -- appears to be a lot of empty points and a lot of overlaps!\n",
"# let's try again, with some radius.\n",
"\n",
"for fn in [\"./data/od_part-m-{x}.pkl\".format(x=str(x).rjust(3,\"0\")) for x in range(12)]:\n",
" df = pd.read_pickle(fn)\n",
" for ii in range(len(df)):\n",
" ppoint = (df[\"plon\"][ii], df[\"plat\"][ii])\n",
" dpoint = (df[\"dlon\"][ii], df[\"dlat\"][ii])\n",
" prids = point_to_rids(ppoint, radius=0.001)\n",
" drids = point_to_rids(dpoint, radius=0.001)\n",
" if not len(prids) >= 1:\n",
" print(fn)\n",
" print(f\"ppoint {ii} --> {prids}\")\n",
" if not len(drids) >= 1:\n",
" print(fn)\n",
" print(f\"dpoint {ii} --> {drids}\")"
]
},
{
"cell_type": "code",
"execution_count": 31,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"./data/od_part-m-000.pkl\n",
"ppoint 11 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 239 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 341 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 341 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 789 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 790 --> [181, 191]\n",
"./data/od_part-m-000.pkl\n",
"ppoint 805 --> [31, 241]\n",
"./data/od_part-m-000.pkl\n",
"dpoint 1021 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 1186 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 1270 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 1274 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 1275 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 1380 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 1438 --> [267, 268]\n",
"./data/od_part-m-000.pkl\n",
"dpoint 1442 --> [263, 267]\n"
]
},
{
"ename": "KeyboardInterrupt",
"evalue": "",
"output_type": "error",
"traceback": [
"\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
"\u001b[0;31mKeyboardInterrupt\u001b[0m Traceback (most recent call last)",
"\u001b[0;32m<ipython-input-31-216f057c890f>\u001b[0m in \u001b[0;36m<module>\u001b[0;34m\u001b[0m\n\u001b[1;32m 3\u001b[0m \u001b[0mdf\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mpd\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mread_pickle\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mfn\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 4\u001b[0m \u001b[0;32mfor\u001b[0m \u001b[0mii\u001b[0m \u001b[0;32min\u001b[0m \u001b[0mrange\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mlen\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mdf\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 5\u001b[0;31m \u001b[0mppoint\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;34m(\u001b[0m\u001b[0mdf\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m\"plon\"\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mii\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mdf\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m\"plat\"\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mii\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 6\u001b[0m \u001b[0mdpoint\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;34m(\u001b[0m\u001b[0mdf\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m\"dlon\"\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mii\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mdf\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m\"dlat\"\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mii\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 7\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0;32mnot\u001b[0m \u001b[0mlen\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mpoint_to_rids\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mppoint\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;34m==\u001b[0m \u001b[0;36m1\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
"\u001b[0;32m~/miniconda3/envs/ds/lib/python3.7/site-packages/pandas/core/frame.py\u001b[0m in \u001b[0;36m__getitem__\u001b[0;34m(self, key)\u001b[0m\n\u001b[1;32m 2968\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mis_hashable\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mkey\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 2969\u001b[0m \u001b[0;31m# shortcut if the key is in columns\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 2970\u001b[0;31m \u001b[0;32mif\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mcolumns\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mis_unique\u001b[0m \u001b[0;32mand\u001b[0m \u001b[0mkey\u001b[0m \u001b[0;32min\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mcolumns\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 2971\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mcolumns\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mnlevels\u001b[0m \u001b[0;34m>\u001b[0m \u001b[0;36m1\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 2972\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_getitem_multilevel\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mkey\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
"\u001b[0;32m~/miniconda3/envs/ds/lib/python3.7/site-packages/pandas/core/indexes/base.py\u001b[0m in \u001b[0;36m__contains__\u001b[0;34m(self, key)\u001b[0m\n\u001b[1;32m 4226\u001b[0m \"\"\"\n\u001b[1;32m 4227\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 4228\u001b[0;31m \u001b[0;34m@\u001b[0m\u001b[0mAppender\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0m_index_shared_docs\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m\"contains\"\u001b[0m\u001b[0;34m]\u001b[0m \u001b[0;34m%\u001b[0m \u001b[0m_index_doc_kwargs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 4229\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0m__contains__\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mkey\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 4230\u001b[0m \u001b[0mhash\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mkey\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
"\u001b[0;31mKeyboardInterrupt\u001b[0m: "
]
}
],
"source": [
"# hm. let's change polypaths to include that one line at the beginning, turn radius back to 0, and try...\n",
"for fn in [\"./data/od_part-m-{x}.pkl\".format(x=str(x).rjust(3,\"0\")) for x in range(12)]:\n",
" df = pd.read_pickle(fn)\n",
" for ii in range(len(df)):\n",
" ppoint = (df[\"plon\"][ii], df[\"plat\"][ii])\n",
" dpoint = (df[\"dlon\"][ii], df[\"dlat\"][ii])\n",
" if not len(point_to_rids(ppoint)) == 1:\n",
" print(fn)\n",
" print(f\"ppoint {ii} --> {point_to_rids(ppoint)}\")\n",
" if not len(point_to_rids(dpoint)) == 1:\n",
" print(fn)\n",
" print(f\"dpoint {ii} --> {point_to_rids(dpoint)}\")"
]
},
{
"cell_type": "code",
"execution_count": 35,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"./data/od_part-m-000.pkl\n",
"ppoint 0 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 0 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 1 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 2 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 3 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 4 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 5 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 6 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 8 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 9 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 10 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 10 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 11 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 13 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 14 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 16 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 16 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 25 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 28 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 29 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 29 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 30 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 31 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 31 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 32 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 33 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 34 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 36 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 36 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 37 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 38 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 39 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 41 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 42 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 42 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 43 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 44 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 45 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 45 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 46 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 46 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 47 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 47 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 48 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 48 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 49 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 49 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 50 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 50 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 51 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 51 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 52 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 53 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 54 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 55 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 56 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 56 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 57 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 57 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 58 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 60 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 61 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 63 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 63 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 64 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 66 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 66 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 67 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 67 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 68 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 68 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 71 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 72 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 73 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 74 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 75 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 76 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 77 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 77 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 78 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 81 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 81 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 82 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 85 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 86 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 87 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 88 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 92 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 97 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 98 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 98 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 100 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 101 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 103 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 104 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 106 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 110 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 112 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 117 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 118 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 120 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 120 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 121 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 121 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 124 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 125 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 127 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 128 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 129 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 131 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 132 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 133 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 133 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 134 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 135 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 136 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 137 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 138 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 140 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 141 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 142 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 142 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 143 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 144 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 144 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 150 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 151 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 154 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 154 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 156 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 157 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 159 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 160 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 161 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 165 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 166 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 167 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 168 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 169 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 170 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 171 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 172 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 175 --> []\n",
"./data/od_part-m-000.pkl\n",
"ppoint 176 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 176 --> []\n",
"./data/od_part-m-000.pkl\n",
"dpoint 177 --> []\n"
]
},
{
"ename": "KeyboardInterrupt",
"evalue": "",
"output_type": "error",
"traceback": [
"\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
"\u001b[0;31mKeyboardInterrupt\u001b[0m Traceback (most recent call last)",
"\u001b[0;32m<ipython-input-35-faede70f5f30>\u001b[0m in \u001b[0;36m<module>\u001b[0;34m\u001b[0m\n\u001b[1;32m 6\u001b[0m \u001b[0mppoint\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;34m(\u001b[0m\u001b[0mdf\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m\"plon\"\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mii\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mdf\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m\"plat\"\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mii\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 7\u001b[0m \u001b[0mdpoint\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;34m(\u001b[0m\u001b[0mdf\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m\"dlon\"\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mii\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mdf\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m\"dlat\"\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mii\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 8\u001b[0;31m \u001b[0mprids\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mpoint_to_rids\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mppoint\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mradius\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;36m0.001\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 9\u001b[0m \u001b[0mdrids\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mpoint_to_rids\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mdpoint\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mradius\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;36m0.001\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 10\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0;32mnot\u001b[0m \u001b[0mlen\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mprids\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;34m>=\u001b[0m \u001b[0;36m1\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
"\u001b[0;32m<ipython-input-30-33c81ea1a11c>\u001b[0m in \u001b[0;36mpoint_to_rids\u001b[0;34m(point, polypaths, radius)\u001b[0m\n\u001b[1;32m 19\u001b[0m \u001b[0mRIDs\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;34m[\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 20\u001b[0m \u001b[0;32mfor\u001b[0m \u001b[0mrid\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mpolypath\u001b[0m \u001b[0;32min\u001b[0m \u001b[0menumerate\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mpolypaths\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 21\u001b[0;31m \u001b[0;32mif\u001b[0m \u001b[0mpolypath\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mcontains_point\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mpoint\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mradius\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mradius\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 22\u001b[0m \u001b[0mRIDs\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mappend\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mrid\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 23\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n",
"\u001b[0;32m~/miniconda3/envs/ds/lib/python3.7/site-packages/matplotlib/path.py\u001b[0m in \u001b[0;36mcontains_point\u001b[0;34m(self, point, transform, radius)\u001b[0m\n\u001b[1;32m 467\u001b[0m \u001b[0mself\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mtransform\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mtransform_path\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 468\u001b[0m \u001b[0mtransform\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;32mNone\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 469\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0m_path\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mpoint_in_path\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mpoint\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;36m0\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mpoint\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;36m1\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mradius\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mtransform\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 470\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 471\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0mcontains_points\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mpoints\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mtransform\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;32mNone\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mradius\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;36m0.0\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
"\u001b[0;31mKeyboardInterrupt\u001b[0m: "
]
}
],
"source": [
"# retry again with radius=1...\n",
"polypaths = [path.Path(line[2][1:]) for line in area]\n",
"for fn in [\"./data/od_part-m-{x}.pkl\".format(x=str(x).rjust(3,\"0\")) for x in range(12)]:\n",
" df = pd.read_pickle(fn)\n",
" for ii in range(len(df)):\n",
" ppoint = (df[\"plon\"][ii], df[\"plat\"][ii])\n",
" dpoint = (df[\"dlon\"][ii], df[\"dlat\"][ii])\n",
" prids = point_to_rids(ppoint, radius=0.001)\n",
" drids = point_to_rids(dpoint, radius=0.001)\n",
" if not len(prids) >= 1:\n",
" print(fn)\n",
" print(f\"ppoint {ii} --> {prids}\")\n",
" if not len(drids) >= 1:\n",
" print(fn)\n",
" print(f\"dpoint {ii} --> {drids}\")"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"#cur_min_x = 113.735223\n",
"#cur_max_x = 114.649835\n",
"#cur_min_y = 22.426765\n",
"#cur_max_y = 22.845040"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"\n",
"\n",
"for fn in [\"./data/gps_part-r-{x}.pkl\".format(x=str(x).rjust(3,\"0\")) for x in range(2)]:\n",
" df = pd.read_pickle(fn)"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"# TODO:\n",
"\n",
"# Redo this notebook, using the *shapely* package, which supposedly works a lot better!\n"
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {},
"outputs": [],
"source": [
"# 4. Start the math...\n",
"\n",
"# We want, indexed by timestamp [0..24480) and regionID [0,..491),\n",
"# 1. Number of occupied, vacant, low-battery, and charging vehicles,\n",
"# 2. Demand (number of pickups in that timeslot),\n",
"# 3. Supply (something hard to calculate -- we'll get the code for this!)"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.7.5"
}
},
"nbformat": 4,
"nbformat_minor": 4
}