diff --git a/doc/source/api.rst b/doc/source/api.rst index 64bad58..0d27ae4 100644 --- a/doc/source/api.rst +++ b/doc/source/api.rst @@ -12,6 +12,6 @@ Indexing .. autosummary:: :toctree: generated/ - ShapelySTRTreeIndex.__init__ - ShapelySTRTreeIndex.from_variables - ShapelySTRTreeIndex.sel + GeometryIndex + GeometryIndex.crs + GeometryIndex.sindex diff --git a/doc/source/conf.py b/doc/source/conf.py index da50322..a49b0da 100644 --- a/doc/source/conf.py +++ b/doc/source/conf.py @@ -17,6 +17,7 @@ "sphinx.ext.autodoc", "numpydoc", "sphinx.ext.autosummary", + "sphinx.ext.intersphinx", "myst_nb", "sphinx_copybutton", ] @@ -24,6 +25,12 @@ templates_path = ["_templates"] exclude_patterns = [] +intersphinx_mapping = { + "python": ("https://docs.python.org/3", None), + "shapely": ("https://shapely.readthedocs.io/en/latest/", None), + "pyproj": ("https://pyproj4.github.io/pyproj/latest/", None), + "xarray": ("https://docs.xarray.dev/en/latest/", None), +} # -- Options for HTML output ------------------------------------------------- # https://www.sphinx-doc.org/en/master/usage/configuration.html#options-for-html-output diff --git a/doc/source/quickstart.ipynb b/doc/source/quickstart.ipynb index d1b2068..9c9ec83 100644 --- a/doc/source/quickstart.ipynb +++ b/doc/source/quickstart.ipynb @@ -30,7 +30,7 @@ "import xarray\n", "import numpy\n", "\n", - "from xvec import ShapelySTRTreeIndex" + "from xvec import GeometryIndex" ] }, { @@ -82,8 +82,19 @@ "source": [ "mode = [\"car\", \"bike\", \"foot\"]\n", "day = pandas.date_range(\"2015-01-01\", periods=100)\n", - "hours = range(24)\n", - "data = numpy.random.randint(1, 100, size=(3, 100, 24, 100, 100))" + "hours = range(24)" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [], + "source": [ + "from numpy.random import default_rng\n", + "\n", + "rng = default_rng(1)\n", + "data = rng.integers(1, 100, size=(3, 100, 24, 100, 100))" ] }, { @@ -95,7 +106,7 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": 6, "metadata": {}, "outputs": [ { @@ -465,93 +476,93 @@ " fill: currentColor;\n", "}\n", "
<xarray.DataArray (mode: 3, day: 100, time: 24, origin: 100, destination: 100)>\n", - "array([[[[[96, 29, 64, ..., 47, 80, 71],\n", - " [79, 79, 96, ..., 92, 12, 90],\n", - " [19, 85, 60, ..., 43, 28, 53],\n", + "array([[[[[47, 51, 75, ..., 15, 54, 82],\n", + " [ 7, 68, 76, ..., 38, 3, 72],\n", + " [50, 65, 16, ..., 53, 91, 15],\n", " ...,\n", - " [96, 8, 35, ..., 39, 7, 62],\n", - " [82, 87, 18, ..., 1, 77, 38],\n", - " [99, 94, 20, ..., 92, 16, 42]],\n", + " [30, 1, 15, ..., 6, 36, 46],\n", + " [19, 47, 3, ..., 75, 42, 69],\n", + " [48, 94, 34, ..., 47, 54, 86]],\n", "\n", - " [[79, 53, 28, ..., 30, 56, 14],\n", - " [21, 88, 91, ..., 92, 73, 14],\n", - " [74, 49, 88, ..., 30, 23, 28],\n", + " [[67, 5, 73, ..., 95, 34, 44],\n", + " [80, 22, 89, ..., 93, 5, 41],\n", + " [47, 70, 65, ..., 44, 82, 54],\n", " ...,\n", - " [56, 76, 91, ..., 36, 94, 16],\n", - " [80, 83, 4, ..., 91, 38, 3],\n", - " [69, 61, 10, ..., 79, 15, 94]],\n", + " [91, 33, 38, ..., 24, 40, 5],\n", + " [78, 49, 9, ..., 45, 3, 9],\n", + " [87, 73, 52, ..., 32, 58, 48]],\n", "\n", - " [[91, 22, 13, ..., 45, 31, 17],\n", - " [86, 48, 23, ..., 88, 55, 94],\n", - " [56, 8, 55, ..., 68, 15, 48],\n", + " [[22, 57, 42, ..., 24, 60, 1],\n", + " [ 4, 3, 94, ..., 66, 40, 17],\n", + " [87, 55, 87, ..., 41, 26, 55],\n", " ...,\n", "...\n", " ...,\n", - " [27, 8, 29, ..., 96, 80, 60],\n", - " [ 1, 98, 63, ..., 1, 73, 98],\n", - " [77, 22, 88, ..., 6, 60, 7]],\n", + " [67, 50, 96, ..., 28, 89, 55],\n", + " [83, 98, 3, ..., 91, 25, 14],\n", + " [81, 7, 45, ..., 18, 78, 9]],\n", "\n", - " [[22, 40, 31, ..., 84, 62, 61],\n", - " [27, 83, 95, ..., 81, 15, 54],\n", - " [43, 45, 67, ..., 52, 2, 28],\n", + " [[29, 94, 53, ..., 3, 52, 47],\n", + " [93, 43, 11, ..., 94, 71, 37],\n", + " [80, 34, 29, ..., 12, 67, 48],\n", " ...,\n", - " [91, 75, 49, ..., 1, 76, 65],\n", - " [ 4, 78, 43, ..., 82, 20, 95],\n", - " [16, 65, 36, ..., 27, 92, 43]],\n", + " [31, 96, 58, ..., 71, 85, 90],\n", + " [72, 95, 55, ..., 83, 17, 97],\n", + " [72, 77, 15, ..., 42, 62, 9]],\n", "\n", - " [[11, 54, 89, ..., 64, 56, 78],\n", - " [ 1, 29, 49, ..., 46, 22, 95],\n", - " [99, 4, 33, ..., 89, 48, 60],\n", + " [[26, 76, 23, ..., 21, 92, 42],\n", + " [60, 80, 37, ..., 49, 91, 88],\n", + " [55, 64, 94, ..., 99, 91, 43],\n", " ...,\n", - " [18, 62, 84, ..., 12, 87, 52],\n", - " [42, 79, 90, ..., 5, 24, 57],\n", - " [51, 35, 71, ..., 55, 29, 11]]]]])\n", + " [80, 85, 15, ..., 23, 42, 52],\n", + " [66, 91, 73, ..., 10, 44, 22],\n", + " [75, 27, 89, ..., 37, 57, 20]]]]])\n", "Coordinates:\n", " * mode (mode) <U4 'car' 'bike' 'foot'\n", " * day (day) datetime64[ns] 2015-01-01 2015-01-02 ... 2015-04-10\n", " * time (time) int64 0 1 2 3 4 5 6 7 8 9 ... 15 16 17 18 19 20 21 22 23\n", " * origin (origin) object MULTIPOLYGON (((-81.4727554321289 36.2343559...\n", - " * destination (destination) object MULTIPOLYGON (((-81.4727554321289 36.23...
<xarray.DataArray (mode: 3, day: 100, time: 24, origin: 100, destination: 100)>\n", - "array([[[[[96, 29, 64, ..., 47, 80, 71],\n", - " [79, 79, 96, ..., 92, 12, 90],\n", - " [19, 85, 60, ..., 43, 28, 53],\n", + "array([[[[[47, 51, 75, ..., 15, 54, 82],\n", + " [ 7, 68, 76, ..., 38, 3, 72],\n", + " [50, 65, 16, ..., 53, 91, 15],\n", " ...,\n", - " [96, 8, 35, ..., 39, 7, 62],\n", - " [82, 87, 18, ..., 1, 77, 38],\n", - " [99, 94, 20, ..., 92, 16, 42]],\n", + " [30, 1, 15, ..., 6, 36, 46],\n", + " [19, 47, 3, ..., 75, 42, 69],\n", + " [48, 94, 34, ..., 47, 54, 86]],\n", "\n", - " [[79, 53, 28, ..., 30, 56, 14],\n", - " [21, 88, 91, ..., 92, 73, 14],\n", - " [74, 49, 88, ..., 30, 23, 28],\n", + " [[67, 5, 73, ..., 95, 34, 44],\n", + " [80, 22, 89, ..., 93, 5, 41],\n", + " [47, 70, 65, ..., 44, 82, 54],\n", " ...,\n", - " [56, 76, 91, ..., 36, 94, 16],\n", - " [80, 83, 4, ..., 91, 38, 3],\n", - " [69, 61, 10, ..., 79, 15, 94]],\n", + " [91, 33, 38, ..., 24, 40, 5],\n", + " [78, 49, 9, ..., 45, 3, 9],\n", + " [87, 73, 52, ..., 32, 58, 48]],\n", "\n", - " [[91, 22, 13, ..., 45, 31, 17],\n", - " [86, 48, 23, ..., 88, 55, 94],\n", - " [56, 8, 55, ..., 68, 15, 48],\n", + " [[22, 57, 42, ..., 24, 60, 1],\n", + " [ 4, 3, 94, ..., 66, 40, 17],\n", + " [87, 55, 87, ..., 41, 26, 55],\n", " ...,\n", "...\n", " ...,\n", - " [27, 8, 29, ..., 96, 80, 60],\n", - " [ 1, 98, 63, ..., 1, 73, 98],\n", - " [77, 22, 88, ..., 6, 60, 7]],\n", + " [67, 50, 96, ..., 28, 89, 55],\n", + " [83, 98, 3, ..., 91, 25, 14],\n", + " [81, 7, 45, ..., 18, 78, 9]],\n", "\n", - " [[22, 40, 31, ..., 84, 62, 61],\n", - " [27, 83, 95, ..., 81, 15, 54],\n", - " [43, 45, 67, ..., 52, 2, 28],\n", + " [[29, 94, 53, ..., 3, 52, 47],\n", + " [93, 43, 11, ..., 94, 71, 37],\n", + " [80, 34, 29, ..., 12, 67, 48],\n", " ...,\n", - " [91, 75, 49, ..., 1, 76, 65],\n", - " [ 4, 78, 43, ..., 82, 20, 95],\n", - " [16, 65, 36, ..., 27, 92, 43]],\n", + " [31, 96, 58, ..., 71, 85, 90],\n", + " [72, 95, 55, ..., 83, 17, 97],\n", + " [72, 77, 15, ..., 42, 62, 9]],\n", "\n", - " [[11, 54, 89, ..., 64, 56, 78],\n", - " [ 1, 29, 49, ..., 46, 22, 95],\n", - " [99, 4, 33, ..., 89, 48, 60],\n", + " [[26, 76, 23, ..., 21, 92, 42],\n", + " [60, 80, 37, ..., 49, 91, 88],\n", + " [55, 64, 94, ..., 99, 91, 43],\n", " ...,\n", - " [18, 62, 84, ..., 12, 87, 52],\n", - " [42, 79, 90, ..., 5, 24, 57],\n", - " [51, 35, 71, ..., 55, 29, 11]]]]])\n", + " [80, 85, 15, ..., 23, 42, 52],\n", + " [66, 91, 73, ..., 10, 44, 22],\n", + " [75, 27, 89, ..., 37, 57, 20]]]]])\n", "Coordinates:\n", " * mode (mode) <U4 'car' 'bike' 'foot'\n", " * day (day) datetime64[ns] 2015-01-01 2015-01-02 ... 2015-04-10\n", @@ -1519,48 +1530,48 @@ " * origin (origin) object MULTIPOLYGON (((-81.4727554321289 36.2343559...\n", " * destination (destination) object MULTIPOLYGON (((-81.4727554321289 36.23...\n", "Indexes:\n", - " origin ShapelySTRTreeIndex\n", - " destination ShapelySTRTreeIndex
<xarray.DataArray (mode: 3, origin: 2, destination: 2)>\n", - "array([[[14, 88],\n", - " [ 9, 22]],\n", - "\n", - " [[99, 46],\n", - " [25, 62]],\n", - "\n", - " [[20, 54],\n", - " [44, 17]]])\n", - "Coordinates:\n", - " * mode (mode) <U4 'car' 'bike' 'foot'\n", - " day datetime64[ns] 2015-01-01\n", - " time int64 0\n", - " origin (origin) object MULTIPOLYGON (((-79.91995239257812 34.807918...\n", - " destination (destination) object MULTIPOLYGON (((-80.72651672363281 35.5..." - ], - "text/plain": [ - "
<xarray.DataArray (mode: 3, day: 100, time: 24, origin: 2, destination: 100)>\n", + "array([[[[[47, 51, 75, ..., 15, 54, 82],\n", + " [ 7, 61, 46, ..., 7, 65, 17]],\n", "\n", - ".xr-header {\n", - " padding-top: 6px;\n", - " padding-bottom: 6px;\n", - " margin-bottom: 4px;\n", - " border-bottom: solid 1px var(--xr-border-color);\n", - "}\n", + " [[67, 5, 73, ..., 95, 34, 44],\n", + " [62, 80, 2, ..., 56, 38, 33]],\n", "\n", - ".xr-header > div,\n", - ".xr-header > ul {\n", - " display: inline;\n", - " margin-top: 0;\n", - " margin-bottom: 0;\n", - "}\n", + " [[22, 57, 42, ..., 24, 60, 1],\n", + " [47, 3, 82, ..., 52, 56, 23]],\n", "\n", - ".xr-obj-type,\n", - ".xr-array-name {\n", - " margin-left: 2px;\n", - " margin-right: 10px;\n", - "}\n", + " ...,\n", "\n", - ".xr-obj-type {\n", - " color: var(--xr-font-color2);\n", - "}\n", + " [[ 6, 83, 84, ..., 50, 77, 13],\n", + " [66, 67, 24, ..., 60, 14, 91]],\n", "\n", - ".xr-sections {\n", - " padding-left: 0 !important;\n", - " display: grid;\n", - " grid-template-columns: 150px auto auto 1fr 20px 20px;\n", - "}\n", + " [[55, 85, 99, ..., 28, 13, 39],\n", + " [76, 92, 33, ..., 18, 31, 75]],\n", "\n", - ".xr-section-item {\n", - " display: contents;\n", - "}\n", + " [[86, 47, 79, ..., 70, 99, 93],\n", + " [86, 87, 78, ..., 66, 26, 80]]],\n", "\n", - ".xr-section-item input {\n", - " display: none;\n", - "}\n", + "...\n", "\n", - ".xr-section-item input + label {\n", - " color: var(--xr-disabled-color);\n", - "}\n", + " [[[52, 34, 75, ..., 7, 84, 13],\n", + " [34, 11, 38, ..., 70, 89, 56]],\n", "\n", - ".xr-section-item input:enabled + label {\n", - " cursor: pointer;\n", - " color: var(--xr-font-color2);\n", - "}\n", + " [[ 9, 52, 95, ..., 82, 89, 44],\n", + " [84, 94, 76, ..., 54, 34, 49]],\n", "\n", - ".xr-section-item input:enabled + label:hover {\n", - " color: var(--xr-font-color0);\n", - "}\n", + " [[ 9, 64, 85, ..., 28, 44, 22],\n", + " [15, 18, 14, ..., 47, 81, 18]],\n", "\n", - ".xr-section-summary {\n", - " grid-column: 1;\n", - " color: var(--xr-font-color2);\n", - " font-weight: 500;\n", - "}\n", + " ...,\n", "\n", - ".xr-section-summary > span {\n", - " display: inline-block;\n", - " padding-left: 0.5em;\n", - "}\n", + " [[ 9, 82, 60, ..., 64, 56, 98],\n", + " [30, 70, 34, ..., 17, 34, 86]],\n", "\n", - ".xr-section-summary-in:disabled + label {\n", - " color: var(--xr-font-color2);\n", - "}\n", + " [[29, 94, 53, ..., 3, 52, 47],\n", + " [56, 99, 33, ..., 81, 88, 85]],\n", "\n", - ".xr-section-summary-in + label:before {\n", - " display: inline-block;\n", - " content: 'â–º';\n", - " font-size: 11px;\n", - " width: 15px;\n", - " text-align: center;\n", - "}\n", + " [[26, 76, 23, ..., 21, 92, 42],\n", + " [44, 47, 95, ..., 84, 5, 86]]]]])\n", + "Coordinates:\n", + " * mode (mode) <U4 'car' 'bike' 'foot'\n", + " * day (day) datetime64[ns] 2015-01-01 2015-01-02 ... 2015-04-10\n", + " * time (time) int64 0 1 2 3 4 5 6 7 8 9 ... 15 16 17 18 19 20 21 22 23\n", + " * origin (origin) object MULTIPOLYGON (((-81.4727554321289 36.2343559...\n", + " * destination (destination) object MULTIPOLYGON (((-81.4727554321289 36.23...\n", + "Indexes:\n", + " origin GeometryIndex (crs=EPSG:4267)\n", + " destination GeometryIndex (crs=EPSG:4267)" + ], + "text/plain": [ + "
<xarray.DataArray (mode: 3, origin: 2, destination: 2)>\n", + "array([[[47, 23],\n", + " [93, 84]],\n", + "\n", + " [[35, 46],\n", + " [18, 68]],\n", + "\n", + " [[62, 69],\n", + " [49, 32]]])\n", + "Coordinates:\n", + " * mode (mode) <U4 'car' 'bike' 'foot'\n", + " day datetime64[ns] 2015-01-01\n", + " time int64 0\n", + " * origin (origin) object MULTIPOLYGON (((-79.91995239257812 34.807918...\n", + " * destination (destination) object MULTIPOLYGON (((-80.72651672363281 35.5...\n", + "Indexes:\n", + " origin GeometryIndex (crs=EPSG:4267)\n", + " destination GeometryIndex (crs=EPSG:4267)" + ], + "text/plain": [ + "
<xarray.DataArray (mode: 3, day: 100, time: 24, origin: 41, destination: 100)>\n", + "array([[[[[77, 84, 80, ..., 31, 71, 18],\n", + " [30, 62, 58, ..., 26, 9, 61],\n", + " [96, 86, 84, ..., 31, 69, 57],\n", + " ...,\n", + " [98, 86, 56, ..., 94, 22, 75],\n", + " [85, 42, 89, ..., 23, 69, 10],\n", + " [98, 90, 56, ..., 35, 26, 39]],\n", + "\n", + " [[ 7, 45, 63, ..., 82, 61, 99],\n", + " [88, 96, 84, ..., 7, 87, 18],\n", + " [67, 72, 77, ..., 27, 54, 5],\n", + " ...,\n", + " [86, 52, 62, ..., 50, 51, 28],\n", + " [50, 8, 17, ..., 63, 93, 77],\n", + " [95, 50, 26, ..., 56, 85, 46]],\n", + "\n", + " [[27, 67, 87, ..., 88, 63, 37],\n", + " [27, 46, 96, ..., 26, 29, 10],\n", + " [60, 86, 15, ..., 9, 51, 29],\n", + " ...,\n", + "...\n", + " ...,\n", + " [86, 7, 13, ..., 66, 74, 38],\n", + " [59, 33, 37, ..., 85, 92, 18],\n", + " [90, 87, 39, ..., 15, 99, 71]],\n", + "\n", + " [[28, 62, 2, ..., 41, 2, 84],\n", + " [70, 99, 7, ..., 55, 28, 78],\n", + " [27, 78, 16, ..., 73, 89, 24],\n", + " ...,\n", + " [15, 80, 70, ..., 20, 12, 10],\n", + " [77, 7, 58, ..., 90, 12, 78],\n", + " [67, 89, 62, ..., 39, 8, 68]],\n", + "\n", + " [[87, 17, 38, ..., 41, 73, 36],\n", + " [58, 93, 31, ..., 13, 78, 28],\n", + " [30, 47, 25, ..., 92, 47, 74],\n", + " ...,\n", + " [12, 8, 60, ..., 86, 25, 44],\n", + " [88, 56, 41, ..., 39, 19, 93],\n", + " [29, 88, 17, ..., 54, 93, 57]]]]])\n", + "Coordinates:\n", + " * mode (mode) <U4 'car' 'bike' 'foot'\n", + " * day (day) datetime64[ns] 2015-01-01 2015-01-02 ... 2015-04-10\n", + " * time (time) int64 0 1 2 3 4 5 6 7 8 9 ... 15 16 17 18 19 20 21 22 23\n", + " * origin (origin) object MULTIPOLYGON (((-78.11376953125 34.720985412...\n", + " * destination (destination) object MULTIPOLYGON (((-81.4727554321289 36.23...\n", + "Indexes:\n", + " origin GeometryIndex (crs=EPSG:4267)\n", + " destination GeometryIndex (crs=EPSG:4267)" + ], + "text/plain": [ + "
<xarray.DataArray (mode: 3, day: 100, time: 24, origin: 41, destination: 100)>\n", - "array([[[[[41, 61, 90, ..., 86, 69, 39],\n", - " [38, 45, 93, ..., 95, 53, 80],\n", - " [53, 31, 5, ..., 74, 48, 96],\n", - " ...,\n", - " [98, 48, 42, ..., 41, 81, 69],\n", - " [87, 18, 10, ..., 97, 15, 33],\n", - " [38, 68, 19, ..., 71, 9, 70]],\n", + "<xarray.DataArray (mode: 3, day: 100, time: 24, origin: 2, destination: 2)>\n", + "array([[[[[108, 164],\n", + " [ 6, 144]],\n", + "\n", + " [[ 68, 88],\n", + " [ 10, 82]],\n", + "\n", + " [[120, 2],\n", + " [ 80, 34]],\n", + "\n", + " ...,\n", "\n", - " [[30, 3, 51, ..., 60, 70, 6],\n", - " [40, 3, 36, ..., 32, 22, 32],\n", - " [74, 8, 25, ..., 91, 65, 71],\n", - " ...,\n", - " [72, 63, 10, ..., 54, 84, 63],\n", - " [12, 77, 74, ..., 10, 30, 32],\n", - " [27, 73, 36, ..., 63, 16, 57]],\n", + " [[154, 26],\n", + " [104, 94]],\n", + "\n", + " [[ 26, 78],\n", + " [ 8, 152]],\n", + "\n", + " [[198, 186],\n", + " [ 40, 114]]],\n", "\n", - " [[68, 46, 26, ..., 71, 71, 33],\n", - " [21, 92, 65, ..., 94, 44, 88],\n", - " [62, 13, 97, ..., 10, 42, 2],\n", - " ...,\n", "...\n", - " ...,\n", - " [53, 77, 85, ..., 9, 56, 44],\n", - " [17, 72, 69, ..., 34, 63, 43],\n", - " [17, 3, 1, ..., 40, 55, 74]],\n", "\n", - " [[ 1, 27, 55, ..., 74, 12, 45],\n", - " [88, 31, 98, ..., 24, 4, 54],\n", - " [25, 94, 82, ..., 44, 6, 42],\n", - " ...,\n", - " [97, 21, 97, ..., 25, 99, 15],\n", - " [49, 44, 3, ..., 83, 13, 14],\n", - " [57, 69, 97, ..., 27, 32, 77]],\n", + " [[[168, 26],\n", + " [ 78, 10]],\n", "\n", - " [[76, 34, 34, ..., 62, 81, 11],\n", - " [59, 57, 36, ..., 86, 47, 48],\n", - " [71, 58, 18, ..., 26, 33, 70],\n", - " ...,\n", - " [55, 9, 44, ..., 63, 60, 5],\n", - " [44, 28, 3, ..., 61, 81, 9],\n", - " [51, 19, 7, ..., 39, 92, 50]]]]])\n", + " [[178, 88],\n", + " [114, 20]],\n", + "\n", + " [[ 88, 44],\n", + " [192, 184]],\n", + "\n", + " ...,\n", + "\n", + " [[112, 196],\n", + " [168, 120]],\n", + "\n", + " [[104, 94],\n", + " [142, 74]],\n", + "\n", + " [[184, 84],\n", + " [182, 176]]]]])\n", "Coordinates:\n", " * mode (mode) <U4 'car' 'bike' 'foot'\n", " * day (day) datetime64[ns] 2015-01-01 2015-01-02 ... 2015-04-10\n", " * time (time) int64 0 1 2 3 4 5 6 7 8 9 ... 15 16 17 18 19 20 21 22 23\n", - " origin (origin) object MULTIPOLYGON (((-78.11376953125 34.720985412...\n", - " * destination (destination) object MULTIPOLYGON (((-81.4727554321289 36.23...\n", + " * origin (origin) object MULTIPOLYGON (((-81.4727554321289 36.2343559...\n", + " * destination (destination) object MULTIPOLYGON (((-77.96073150634766 34.1...\n", "Indexes:\n", - " destination ShapelySTRTreeIndex
<xarray.DataArray (mode: 3, day: 100, time: 24, points: 2, destination: 100)>\n", - "array([[[[[31, 69, 46, ..., 85, 87, 41],\n", - " [63, 34, 15, ..., 62, 36, 23]],\n", + "<xarray.DataArray (mode: 3, day: 100, time: 24, origin: 4, destination: 100)>\n", + "array([[[[[47, 51, 75, ..., 15, 54, 82],\n", + " [ 7, 68, 76, ..., 38, 3, 72],\n", + " [19, 47, 3, ..., 75, 42, 69],\n", + " [48, 94, 34, ..., 47, 54, 86]],\n", "\n", - " [[79, 46, 26, ..., 75, 89, 12],\n", - " [99, 67, 18, ..., 93, 63, 9]],\n", + " [[67, 5, 73, ..., 95, 34, 44],\n", + " [80, 22, 89, ..., 93, 5, 41],\n", + " [78, 49, 9, ..., 45, 3, 9],\n", + " [87, 73, 52, ..., 32, 58, 48]],\n", "\n", - " [[ 7, 22, 63, ..., 78, 89, 64],\n", - " [60, 33, 13, ..., 39, 54, 33]],\n", + " [[22, 57, 42, ..., 24, 60, 1],\n", + " [ 4, 3, 94, ..., 66, 40, 17],\n", + " [81, 36, 30, ..., 5, 51, 6],\n", + " [54, 70, 25, ..., 30, 18, 37]],\n", "\n", " ...,\n", "\n", - " [[22, 59, 96, ..., 54, 84, 18],\n", - " [39, 52, 31, ..., 40, 45, 43]],\n", - "\n", - " [[15, 37, 54, ..., 30, 2, 57],\n", - " [29, 90, 1, ..., 60, 21, 29]],\n", - "\n", - " [[97, 47, 98, ..., 29, 76, 77],\n", - " [43, 42, 23, ..., 68, 56, 42]]],\n", - "\n", + " [[ 6, 83, 84, ..., 50, 77, 13],\n", + " [44, 84, 52, ..., 38, 52, 47],\n", + " [65, 26, 50, ..., 12, 21, 25],\n", "...\n", - "\n", - " [[[53, 70, 33, ..., 6, 78, 35],\n", - " [62, 58, 58, ..., 35, 88, 12]],\n", - "\n", - " [[27, 77, 3, ..., 62, 44, 34],\n", - " [95, 88, 66, ..., 67, 63, 83]],\n", - "\n", - " [[43, 78, 66, ..., 22, 16, 56],\n", - " [15, 82, 12, ..., 20, 26, 43]],\n", + " [44, 67, 26, ..., 29, 96, 92],\n", + " [38, 63, 87, ..., 32, 89, 62],\n", + " [ 1, 5, 28, ..., 88, 84, 58]],\n", "\n", " ...,\n", "\n", - " [[ 6, 65, 35, ..., 46, 17, 12],\n", - " [21, 22, 69, ..., 45, 58, 11]],\n", + " [[ 9, 82, 60, ..., 64, 56, 98],\n", + " [79, 62, 12, ..., 47, 84, 60],\n", + " [83, 98, 3, ..., 91, 25, 14],\n", + " [81, 7, 45, ..., 18, 78, 9]],\n", "\n", - " [[75, 78, 24, ..., 13, 37, 66],\n", - " [12, 90, 93, ..., 17, 52, 47]],\n", + " [[29, 94, 53, ..., 3, 52, 47],\n", + " [93, 43, 11, ..., 94, 71, 37],\n", + " [72, 95, 55, ..., 83, 17, 97],\n", + " [72, 77, 15, ..., 42, 62, 9]],\n", "\n", - " [[49, 62, 62, ..., 74, 70, 19],\n", - " [32, 8, 19, ..., 79, 16, 87]]]]])\n", + " [[26, 76, 23, ..., 21, 92, 42],\n", + " [60, 80, 37, ..., 49, 91, 88],\n", + " [66, 91, 73, ..., 10, 44, 22],\n", + " [75, 27, 89, ..., 37, 57, 20]]]]])\n", "Coordinates:\n", " * mode (mode) <U4 'car' 'bike' 'foot'\n", " * day (day) datetime64[ns] 2015-01-01 2015-01-02 ... 2015-04-10\n", " * time (time) int64 0 1 2 3 4 5 6 7 8 9 ... 15 16 17 18 19 20 21 22 23\n", - " origin (points) object MULTIPOLYGON (((-79.91995239257812 34.807918...\n", + " * origin (origin) object MULTIPOLYGON (((-81.4727554321289 36.2343559...\n", " * destination (destination) object MULTIPOLYGON (((-81.4727554321289 36.23...\n", - "Dimensions without coordinates: points\n", "Indexes:\n", - " destination ShapelySTRTreeIndex