Created
September 27, 2024 23:24
-
-
Save ajfriend/5594157463b88eb8d4cae35705657d8d to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| { | |
| "cells": [ | |
| { | |
| "cell_type": "code", | |
| "execution_count": 1, | |
| "id": "154c140d-b03a-4bea-a5bc-3429db1f54ac", | |
| "metadata": { | |
| "execution": { | |
| "iopub.execute_input": "2024-09-27T23:21:17.038243Z", | |
| "iopub.status.busy": "2024-09-27T23:21:17.038075Z", | |
| "iopub.status.idle": "2024-09-27T23:21:18.008799Z", | |
| "shell.execute_reply": "2024-09-27T23:21:18.008275Z", | |
| "shell.execute_reply.started": "2024-09-27T23:21:17.038225Z" | |
| } | |
| }, | |
| "outputs": [], | |
| "source": [ | |
| "import h3\n", | |
| "\n", | |
| "def logical_poly(cell, res):\n", | |
| " \"\"\"\n", | |
| " Return the polygon representing the geometric area covered\n", | |
| " by the children of `cell` at resolution `res`.\n", | |
| "\n", | |
| " Expectation: A single polygon with one outer loop and no holes.\n", | |
| " Currently: Getting multipolygons with holes (seems like a bug), or just errors for malformed polygons.\n", | |
| " \"\"\"\n", | |
| " kids = h3.cell_to_children(cell, res)\n", | |
| " mpoly = h3.cells_to_h3shape(kids, tight=False)\n", | |
| " return mpoly\n", | |
| "\n", | |
| "def do_res(res):\n", | |
| " for p in h3.get_pentagons(0):\n", | |
| " print(p, logical_poly(p, res))" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 2, | |
| "id": "14f6dd46-4cd3-4f8b-a289-7c5a10f4f550", | |
| "metadata": { | |
| "execution": { | |
| "iopub.execute_input": "2024-09-27T23:21:18.670585Z", | |
| "iopub.status.busy": "2024-09-27T23:21:18.669979Z", | |
| "iopub.status.idle": "2024-09-27T23:21:18.679104Z", | |
| "shell.execute_reply": "2024-09-27T23:21:18.678281Z", | |
| "shell.execute_reply.started": "2024-09-27T23:21:18.670550Z" | |
| } | |
| }, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "text/plain": [ | |
| "{'c': '4.1.0', 'python': '4.1.0b2'}" | |
| ] | |
| }, | |
| "execution_count": 2, | |
| "metadata": {}, | |
| "output_type": "execute_result" | |
| } | |
| ], | |
| "source": [ | |
| "h3.versions()" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 3, | |
| "id": "2deaf1e2-8531-452d-82e2-380e652d5698", | |
| "metadata": { | |
| "execution": { | |
| "iopub.execute_input": "2024-09-27T23:21:18.902943Z", | |
| "iopub.status.busy": "2024-09-27T23:21:18.902508Z", | |
| "iopub.status.idle": "2024-09-27T23:21:18.909529Z", | |
| "shell.execute_reply": "2024-09-27T23:21:18.908889Z", | |
| "shell.execute_reply.started": "2024-09-27T23:21:18.902916Z" | |
| } | |
| }, | |
| "outputs": [ | |
| { | |
| "name": "stdout", | |
| "output_type": "stream", | |
| "text": [ | |
| "8009fffffffffff <LatLngMultiPoly: [5]>\n", | |
| "801dfffffffffff <LatLngMultiPoly: [5]>\n", | |
| "8031fffffffffff <LatLngMultiPoly: [5]>\n", | |
| "804dfffffffffff <LatLngMultiPoly: [5]>\n", | |
| "8063fffffffffff <LatLngMultiPoly: [5]>\n", | |
| "8075fffffffffff <LatLngMultiPoly: [5]>\n", | |
| "807ffffffffffff <LatLngMultiPoly: [5]>\n", | |
| "8091fffffffffff <LatLngMultiPoly: [5]>\n", | |
| "80a7fffffffffff <LatLngMultiPoly: [5]>\n", | |
| "80c3fffffffffff <LatLngMultiPoly: [5]>\n", | |
| "80d7fffffffffff <LatLngMultiPoly: [5]>\n", | |
| "80ebfffffffffff <LatLngMultiPoly: [5]>\n" | |
| ] | |
| } | |
| ], | |
| "source": [ | |
| "do_res(0)" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 4, | |
| "id": "8dd4e5d5-10b7-4c5b-8c01-8aeada0f21e9", | |
| "metadata": { | |
| "execution": { | |
| "iopub.execute_input": "2024-09-27T23:21:19.478257Z", | |
| "iopub.status.busy": "2024-09-27T23:21:19.477633Z", | |
| "iopub.status.idle": "2024-09-27T23:21:19.605713Z", | |
| "shell.execute_reply": "2024-09-27T23:21:19.605339Z", | |
| "shell.execute_reply.started": "2024-09-27T23:21:19.478225Z" | |
| } | |
| }, | |
| "outputs": [ | |
| { | |
| "name": "stdout", | |
| "output_type": "stream", | |
| "text": [ | |
| "8009fffffffffff <LatLngMultiPoly: [15]>\n", | |
| "801dfffffffffff <LatLngMultiPoly: [15]>\n", | |
| "8031fffffffffff <LatLngMultiPoly: [15]>\n", | |
| "804dfffffffffff <LatLngMultiPoly: [15]>\n", | |
| "8063fffffffffff <LatLngMultiPoly: [15]>\n", | |
| "8075fffffffffff <LatLngMultiPoly: [15]>\n", | |
| "807ffffffffffff <LatLngMultiPoly: [15]>\n", | |
| "8091fffffffffff <LatLngMultiPoly: [15]>\n", | |
| "80a7fffffffffff <LatLngMultiPoly: [15]>\n", | |
| "80c3fffffffffff <LatLngMultiPoly: [15]>\n", | |
| "80d7fffffffffff <LatLngMultiPoly: [15]>\n" | |
| ] | |
| }, | |
| { | |
| "ename": "ValueError", | |
| "evalue": "Non-empty LatLngPoly loops need at least 3 points.", | |
| "output_type": "error", | |
| "traceback": [ | |
| "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", | |
| "\u001b[0;31mValueError\u001b[0m Traceback (most recent call last)", | |
| "Cell \u001b[0;32mIn[4], line 1\u001b[0m\n\u001b[0;32m----> 1\u001b[0m \u001b[43mdo_res\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;241;43m1\u001b[39;49m\u001b[43m)\u001b[49m\n", | |
| "Cell \u001b[0;32mIn[1], line 17\u001b[0m, in \u001b[0;36mdo_res\u001b[0;34m(res)\u001b[0m\n\u001b[1;32m 15\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21mdo_res\u001b[39m(res):\n\u001b[1;32m 16\u001b[0m \u001b[38;5;28;01mfor\u001b[39;00m p \u001b[38;5;129;01min\u001b[39;00m h3\u001b[38;5;241m.\u001b[39mget_pentagons(\u001b[38;5;241m0\u001b[39m):\n\u001b[0;32m---> 17\u001b[0m \u001b[38;5;28mprint\u001b[39m(p, \u001b[43mlogical_poly\u001b[49m\u001b[43m(\u001b[49m\u001b[43mp\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mres\u001b[49m\u001b[43m)\u001b[49m)\n", | |
| "Cell \u001b[0;32mIn[1], line 12\u001b[0m, in \u001b[0;36mlogical_poly\u001b[0;34m(cell, res)\u001b[0m\n\u001b[1;32m 4\u001b[0m \u001b[38;5;250m\u001b[39m\u001b[38;5;124;03m\"\"\"\u001b[39;00m\n\u001b[1;32m 5\u001b[0m \u001b[38;5;124;03mReturn the polygon representing the geometric area covered\u001b[39;00m\n\u001b[1;32m 6\u001b[0m \u001b[38;5;124;03mby the children of `cell` at resolution `res`.\u001b[39;00m\n\u001b[0;32m (...)\u001b[0m\n\u001b[1;32m 9\u001b[0m \u001b[38;5;124;03mCurrently: Getting multipolygons with holes (seems like a bug), or just errors for malformed polygons.\u001b[39;00m\n\u001b[1;32m 10\u001b[0m \u001b[38;5;124;03m\"\"\"\u001b[39;00m\n\u001b[1;32m 11\u001b[0m kids \u001b[38;5;241m=\u001b[39m h3\u001b[38;5;241m.\u001b[39mcell_to_children(cell, res)\n\u001b[0;32m---> 12\u001b[0m mpoly \u001b[38;5;241m=\u001b[39m \u001b[43mh3\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mcells_to_h3shape\u001b[49m\u001b[43m(\u001b[49m\u001b[43mkids\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mtight\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;28;43;01mFalse\u001b[39;49;00m\u001b[43m)\u001b[49m\n\u001b[1;32m 13\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m mpoly\n", | |
| "File \u001b[0;32m~/work/2024-09-03_h3_compact_lookup/env/lib/python3.11/site-packages/h3/api/basic_str/__init__.py:556\u001b[0m, in \u001b[0;36mcells_to_h3shape\u001b[0;34m(cells, tight)\u001b[0m\n\u001b[1;32m 553\u001b[0m cells \u001b[38;5;241m=\u001b[39m _in_collection(cells)\n\u001b[1;32m 554\u001b[0m mpoly \u001b[38;5;241m=\u001b[39m _cy\u001b[38;5;241m.\u001b[39mcells_to_multi_polygon(cells)\n\u001b[0;32m--> 556\u001b[0m polys \u001b[38;5;241m=\u001b[39m \u001b[43m[\u001b[49m\u001b[43mLatLngPoly\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mpoly\u001b[49m\u001b[43m)\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;28;43;01mfor\u001b[39;49;00m\u001b[43m \u001b[49m\u001b[43mpoly\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;129;43;01min\u001b[39;49;00m\u001b[43m \u001b[49m\u001b[43mmpoly\u001b[49m\u001b[43m]\u001b[49m\n\u001b[1;32m 557\u001b[0m out \u001b[38;5;241m=\u001b[39m LatLngMultiPoly(\u001b[38;5;241m*\u001b[39mpolys)\n\u001b[1;32m 559\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m tight \u001b[38;5;129;01mand\u001b[39;00m \u001b[38;5;28mlen\u001b[39m(out) \u001b[38;5;241m==\u001b[39m \u001b[38;5;241m1\u001b[39m:\n", | |
| "File \u001b[0;32m~/work/2024-09-03_h3_compact_lookup/env/lib/python3.11/site-packages/h3/api/basic_str/__init__.py:556\u001b[0m, in \u001b[0;36m<listcomp>\u001b[0;34m(.0)\u001b[0m\n\u001b[1;32m 553\u001b[0m cells \u001b[38;5;241m=\u001b[39m _in_collection(cells)\n\u001b[1;32m 554\u001b[0m mpoly \u001b[38;5;241m=\u001b[39m _cy\u001b[38;5;241m.\u001b[39mcells_to_multi_polygon(cells)\n\u001b[0;32m--> 556\u001b[0m polys \u001b[38;5;241m=\u001b[39m [\u001b[43mLatLngPoly\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mpoly\u001b[49m\u001b[43m)\u001b[49m \u001b[38;5;28;01mfor\u001b[39;00m poly \u001b[38;5;129;01min\u001b[39;00m mpoly]\n\u001b[1;32m 557\u001b[0m out \u001b[38;5;241m=\u001b[39m LatLngMultiPoly(\u001b[38;5;241m*\u001b[39mpolys)\n\u001b[1;32m 559\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m tight \u001b[38;5;129;01mand\u001b[39;00m \u001b[38;5;28mlen\u001b[39m(out) \u001b[38;5;241m==\u001b[39m \u001b[38;5;241m1\u001b[39m:\n", | |
| "File \u001b[0;32m~/work/2024-09-03_h3_compact_lookup/env/lib/python3.11/site-packages/h3/_h3shape.py:58\u001b[0m, in \u001b[0;36mLatLngPoly.__init__\u001b[0;34m(self, outer, *holes)\u001b[0m\n\u001b[1;32m 56\u001b[0m \u001b[38;5;28;01mfor\u001b[39;00m loop \u001b[38;5;129;01min\u001b[39;00m loops:\n\u001b[1;32m 57\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28mlen\u001b[39m(loop) \u001b[38;5;129;01min\u001b[39;00m (\u001b[38;5;241m1\u001b[39m, \u001b[38;5;241m2\u001b[39m):\n\u001b[0;32m---> 58\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m \u001b[38;5;167;01mValueError\u001b[39;00m(\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mNon-empty LatLngPoly loops need at least 3 points.\u001b[39m\u001b[38;5;124m'\u001b[39m)\n\u001b[1;32m 60\u001b[0m point_dimensions \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mset\u001b[39m(\u001b[38;5;28mmap\u001b[39m(\u001b[38;5;28mlen\u001b[39m, loop))\n\u001b[1;32m 61\u001b[0m \u001b[38;5;66;03m# empty set is possible for empty polygons, so we check if a subset\u001b[39;00m\n", | |
| "\u001b[0;31mValueError\u001b[0m: Non-empty LatLngPoly loops need at least 3 points." | |
| ] | |
| } | |
| ], | |
| "source": [ | |
| "do_res(1)" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 5, | |
| "id": "74b5effb-c861-4c83-9d20-d4eb8c2d607f", | |
| "metadata": { | |
| "execution": { | |
| "iopub.execute_input": "2024-09-27T23:21:25.309818Z", | |
| "iopub.status.busy": "2024-09-27T23:21:25.309383Z", | |
| "iopub.status.idle": "2024-09-27T23:21:25.371169Z", | |
| "shell.execute_reply": "2024-09-27T23:21:25.370197Z", | |
| "shell.execute_reply.started": "2024-09-27T23:21:25.309786Z" | |
| } | |
| }, | |
| "outputs": [ | |
| { | |
| "ename": "ValueError", | |
| "evalue": "Non-empty LatLngPoly loops need at least 3 points.", | |
| "output_type": "error", | |
| "traceback": [ | |
| "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", | |
| "\u001b[0;31mValueError\u001b[0m Traceback (most recent call last)", | |
| "Cell \u001b[0;32mIn[5], line 1\u001b[0m\n\u001b[0;32m----> 1\u001b[0m \u001b[43mdo_res\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;241;43m2\u001b[39;49m\u001b[43m)\u001b[49m\n", | |
| "Cell \u001b[0;32mIn[1], line 17\u001b[0m, in \u001b[0;36mdo_res\u001b[0;34m(res)\u001b[0m\n\u001b[1;32m 15\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21mdo_res\u001b[39m(res):\n\u001b[1;32m 16\u001b[0m \u001b[38;5;28;01mfor\u001b[39;00m p \u001b[38;5;129;01min\u001b[39;00m h3\u001b[38;5;241m.\u001b[39mget_pentagons(\u001b[38;5;241m0\u001b[39m):\n\u001b[0;32m---> 17\u001b[0m \u001b[38;5;28mprint\u001b[39m(p, \u001b[43mlogical_poly\u001b[49m\u001b[43m(\u001b[49m\u001b[43mp\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mres\u001b[49m\u001b[43m)\u001b[49m)\n", | |
| "Cell \u001b[0;32mIn[1], line 12\u001b[0m, in \u001b[0;36mlogical_poly\u001b[0;34m(cell, res)\u001b[0m\n\u001b[1;32m 4\u001b[0m \u001b[38;5;250m\u001b[39m\u001b[38;5;124;03m\"\"\"\u001b[39;00m\n\u001b[1;32m 5\u001b[0m \u001b[38;5;124;03mReturn the polygon representing the geometric area covered\u001b[39;00m\n\u001b[1;32m 6\u001b[0m \u001b[38;5;124;03mby the children of `cell` at resolution `res`.\u001b[39;00m\n\u001b[0;32m (...)\u001b[0m\n\u001b[1;32m 9\u001b[0m \u001b[38;5;124;03mCurrently: Getting multipolygons with holes (seems like a bug), or just errors for malformed polygons.\u001b[39;00m\n\u001b[1;32m 10\u001b[0m \u001b[38;5;124;03m\"\"\"\u001b[39;00m\n\u001b[1;32m 11\u001b[0m kids \u001b[38;5;241m=\u001b[39m h3\u001b[38;5;241m.\u001b[39mcell_to_children(cell, res)\n\u001b[0;32m---> 12\u001b[0m mpoly \u001b[38;5;241m=\u001b[39m \u001b[43mh3\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mcells_to_h3shape\u001b[49m\u001b[43m(\u001b[49m\u001b[43mkids\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mtight\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;28;43;01mFalse\u001b[39;49;00m\u001b[43m)\u001b[49m\n\u001b[1;32m 13\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m mpoly\n", | |
| "File \u001b[0;32m~/work/2024-09-03_h3_compact_lookup/env/lib/python3.11/site-packages/h3/api/basic_str/__init__.py:556\u001b[0m, in \u001b[0;36mcells_to_h3shape\u001b[0;34m(cells, tight)\u001b[0m\n\u001b[1;32m 553\u001b[0m cells \u001b[38;5;241m=\u001b[39m _in_collection(cells)\n\u001b[1;32m 554\u001b[0m mpoly \u001b[38;5;241m=\u001b[39m _cy\u001b[38;5;241m.\u001b[39mcells_to_multi_polygon(cells)\n\u001b[0;32m--> 556\u001b[0m polys \u001b[38;5;241m=\u001b[39m \u001b[43m[\u001b[49m\u001b[43mLatLngPoly\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mpoly\u001b[49m\u001b[43m)\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;28;43;01mfor\u001b[39;49;00m\u001b[43m \u001b[49m\u001b[43mpoly\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;129;43;01min\u001b[39;49;00m\u001b[43m \u001b[49m\u001b[43mmpoly\u001b[49m\u001b[43m]\u001b[49m\n\u001b[1;32m 557\u001b[0m out \u001b[38;5;241m=\u001b[39m LatLngMultiPoly(\u001b[38;5;241m*\u001b[39mpolys)\n\u001b[1;32m 559\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m tight \u001b[38;5;129;01mand\u001b[39;00m \u001b[38;5;28mlen\u001b[39m(out) \u001b[38;5;241m==\u001b[39m \u001b[38;5;241m1\u001b[39m:\n", | |
| "File \u001b[0;32m~/work/2024-09-03_h3_compact_lookup/env/lib/python3.11/site-packages/h3/api/basic_str/__init__.py:556\u001b[0m, in \u001b[0;36m<listcomp>\u001b[0;34m(.0)\u001b[0m\n\u001b[1;32m 553\u001b[0m cells \u001b[38;5;241m=\u001b[39m _in_collection(cells)\n\u001b[1;32m 554\u001b[0m mpoly \u001b[38;5;241m=\u001b[39m _cy\u001b[38;5;241m.\u001b[39mcells_to_multi_polygon(cells)\n\u001b[0;32m--> 556\u001b[0m polys \u001b[38;5;241m=\u001b[39m [\u001b[43mLatLngPoly\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mpoly\u001b[49m\u001b[43m)\u001b[49m \u001b[38;5;28;01mfor\u001b[39;00m poly \u001b[38;5;129;01min\u001b[39;00m mpoly]\n\u001b[1;32m 557\u001b[0m out \u001b[38;5;241m=\u001b[39m LatLngMultiPoly(\u001b[38;5;241m*\u001b[39mpolys)\n\u001b[1;32m 559\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m tight \u001b[38;5;129;01mand\u001b[39;00m \u001b[38;5;28mlen\u001b[39m(out) \u001b[38;5;241m==\u001b[39m \u001b[38;5;241m1\u001b[39m:\n", | |
| "File \u001b[0;32m~/work/2024-09-03_h3_compact_lookup/env/lib/python3.11/site-packages/h3/_h3shape.py:58\u001b[0m, in \u001b[0;36mLatLngPoly.__init__\u001b[0;34m(self, outer, *holes)\u001b[0m\n\u001b[1;32m 56\u001b[0m \u001b[38;5;28;01mfor\u001b[39;00m loop \u001b[38;5;129;01min\u001b[39;00m loops:\n\u001b[1;32m 57\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28mlen\u001b[39m(loop) \u001b[38;5;129;01min\u001b[39;00m (\u001b[38;5;241m1\u001b[39m, \u001b[38;5;241m2\u001b[39m):\n\u001b[0;32m---> 58\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m \u001b[38;5;167;01mValueError\u001b[39;00m(\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mNon-empty LatLngPoly loops need at least 3 points.\u001b[39m\u001b[38;5;124m'\u001b[39m)\n\u001b[1;32m 60\u001b[0m point_dimensions \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mset\u001b[39m(\u001b[38;5;28mmap\u001b[39m(\u001b[38;5;28mlen\u001b[39m, loop))\n\u001b[1;32m 61\u001b[0m \u001b[38;5;66;03m# empty set is possible for empty polygons, so we check if a subset\u001b[39;00m\n", | |
| "\u001b[0;31mValueError\u001b[0m: Non-empty LatLngPoly loops need at least 3 points." | |
| ] | |
| } | |
| ], | |
| "source": [ | |
| "do_res(2)" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 6, | |
| "id": "f3923c08-2cd2-4a63-9875-f6617ee21e4d", | |
| "metadata": { | |
| "execution": { | |
| "iopub.execute_input": "2024-09-27T23:21:27.589909Z", | |
| "iopub.status.busy": "2024-09-27T23:21:27.589328Z", | |
| "iopub.status.idle": "2024-09-27T23:21:27.610386Z", | |
| "shell.execute_reply": "2024-09-27T23:21:27.609951Z", | |
| "shell.execute_reply.started": "2024-09-27T23:21:27.589876Z" | |
| } | |
| }, | |
| "outputs": [ | |
| { | |
| "name": "stdout", | |
| "output_type": "stream", | |
| "text": [ | |
| "8009fffffffffff <LatLngMultiPoly: [135]>\n", | |
| "801dfffffffffff <LatLngMultiPoly: [135]>\n", | |
| "8031fffffffffff <LatLngMultiPoly: [135]>\n", | |
| "804dfffffffffff <LatLngMultiPoly: [135]>\n", | |
| "8063fffffffffff <LatLngMultiPoly: [135]>\n", | |
| "8075fffffffffff <LatLngMultiPoly: [135]>\n", | |
| "807ffffffffffff <LatLngMultiPoly: [135]>\n", | |
| "8091fffffffffff <LatLngMultiPoly: [135]>\n", | |
| "80a7fffffffffff <LatLngMultiPoly: [135]>\n", | |
| "80c3fffffffffff <LatLngMultiPoly: [135]>\n", | |
| "80d7fffffffffff <LatLngMultiPoly: [135]>\n", | |
| "80ebfffffffffff <LatLngMultiPoly: [135]>\n" | |
| ] | |
| } | |
| ], | |
| "source": [ | |
| "do_res(3)" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 7, | |
| "id": "5f644551-0e0f-417e-b935-f4bbdd82f636", | |
| "metadata": { | |
| "execution": { | |
| "iopub.execute_input": "2024-09-27T23:21:28.335265Z", | |
| "iopub.status.busy": "2024-09-27T23:21:28.334881Z", | |
| "iopub.status.idle": "2024-09-27T23:21:28.413410Z", | |
| "shell.execute_reply": "2024-09-27T23:21:28.413133Z", | |
| "shell.execute_reply.started": "2024-09-27T23:21:28.335234Z" | |
| } | |
| }, | |
| "outputs": [ | |
| { | |
| "name": "stdout", | |
| "output_type": "stream", | |
| "text": [ | |
| "8009fffffffffff <LatLngMultiPoly: [405]>\n", | |
| "801dfffffffffff <LatLngMultiPoly: [405]>\n", | |
| "8031fffffffffff <LatLngMultiPoly: [405]>\n", | |
| "804dfffffffffff <LatLngMultiPoly: [405]>\n", | |
| "8063fffffffffff <LatLngMultiPoly: [405]>\n", | |
| "8075fffffffffff <LatLngMultiPoly: [405]>\n", | |
| "807ffffffffffff <LatLngMultiPoly: [405]>\n", | |
| "8091fffffffffff <LatLngMultiPoly: [405]>\n", | |
| "80a7fffffffffff <LatLngMultiPoly: [405]>\n", | |
| "80c3fffffffffff <LatLngMultiPoly: [405]>\n", | |
| "80d7fffffffffff <LatLngMultiPoly: [405]>\n", | |
| "80ebfffffffffff <LatLngMultiPoly: [405]>\n" | |
| ] | |
| } | |
| ], | |
| "source": [ | |
| "do_res(4)" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 8, | |
| "id": "125061bc-ead8-4f43-93b0-44b8afa1b52a", | |
| "metadata": { | |
| "execution": { | |
| "iopub.execute_input": "2024-09-27T23:21:28.894267Z", | |
| "iopub.status.busy": "2024-09-27T23:21:28.893899Z", | |
| "iopub.status.idle": "2024-09-27T23:21:29.190382Z", | |
| "shell.execute_reply": "2024-09-27T23:21:29.190186Z", | |
| "shell.execute_reply.started": "2024-09-27T23:21:28.894238Z" | |
| } | |
| }, | |
| "outputs": [ | |
| { | |
| "name": "stdout", | |
| "output_type": "stream", | |
| "text": [ | |
| "8009fffffffffff <LatLngMultiPoly: [1215]>\n", | |
| "801dfffffffffff <LatLngMultiPoly: [1215]>\n", | |
| "8031fffffffffff <LatLngMultiPoly: [1215]>\n", | |
| "804dfffffffffff <LatLngMultiPoly: [1215]>\n", | |
| "8063fffffffffff <LatLngMultiPoly: [1215]>\n", | |
| "8075fffffffffff <LatLngMultiPoly: [1215]>\n", | |
| "807ffffffffffff <LatLngMultiPoly: [1215]>\n", | |
| "8091fffffffffff <LatLngMultiPoly: [1215]>\n", | |
| "80a7fffffffffff <LatLngMultiPoly: [1215]>\n", | |
| "80c3fffffffffff <LatLngMultiPoly: [1215]>\n", | |
| "80d7fffffffffff <LatLngMultiPoly: [1215]>\n", | |
| "80ebfffffffffff <LatLngMultiPoly: [1215]>\n" | |
| ] | |
| } | |
| ], | |
| "source": [ | |
| "do_res(5)" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 9, | |
| "id": "c2c3388a-460e-4e97-b7a8-13817b436003", | |
| "metadata": { | |
| "execution": { | |
| "iopub.execute_input": "2024-09-27T23:21:29.877625Z", | |
| "iopub.status.busy": "2024-09-27T23:21:29.877008Z", | |
| "iopub.status.idle": "2024-09-27T23:21:31.559295Z", | |
| "shell.execute_reply": "2024-09-27T23:21:31.559035Z", | |
| "shell.execute_reply.started": "2024-09-27T23:21:29.877591Z" | |
| } | |
| }, | |
| "outputs": [ | |
| { | |
| "name": "stdout", | |
| "output_type": "stream", | |
| "text": [ | |
| "8009fffffffffff <LatLngMultiPoly: [3645]>\n", | |
| "801dfffffffffff <LatLngMultiPoly: [3645]>\n", | |
| "8031fffffffffff <LatLngMultiPoly: [3645]>\n", | |
| "804dfffffffffff <LatLngMultiPoly: [3645]>\n", | |
| "8063fffffffffff <LatLngMultiPoly: [3645]>\n", | |
| "8075fffffffffff <LatLngMultiPoly: [3645]>\n", | |
| "807ffffffffffff <LatLngMultiPoly: [3645]>\n", | |
| "8091fffffffffff <LatLngMultiPoly: [3645]>\n", | |
| "80a7fffffffffff <LatLngMultiPoly: [3645]>\n", | |
| "80c3fffffffffff <LatLngMultiPoly: [3645]>\n", | |
| "80d7fffffffffff <LatLngMultiPoly: [3645]>\n", | |
| "80ebfffffffffff <LatLngMultiPoly: [3645]>\n" | |
| ] | |
| } | |
| ], | |
| "source": [ | |
| "do_res(6)" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 10, | |
| "id": "f17cecd4-e667-4228-bcc7-243235d1a71a", | |
| "metadata": { | |
| "execution": { | |
| "iopub.execute_input": "2024-09-27T23:21:31.560049Z", | |
| "iopub.status.busy": "2024-09-27T23:21:31.559966Z", | |
| "iopub.status.idle": "2024-09-27T23:21:42.562057Z", | |
| "shell.execute_reply": "2024-09-27T23:21:42.561827Z", | |
| "shell.execute_reply.started": "2024-09-27T23:21:31.560041Z" | |
| } | |
| }, | |
| "outputs": [ | |
| { | |
| "name": "stdout", | |
| "output_type": "stream", | |
| "text": [ | |
| "8009fffffffffff <LatLngMultiPoly: [10935]>\n", | |
| "801dfffffffffff <LatLngMultiPoly: [10935]>\n", | |
| "8031fffffffffff <LatLngMultiPoly: [10935]>\n", | |
| "804dfffffffffff <LatLngMultiPoly: [10935]>\n", | |
| "8063fffffffffff <LatLngMultiPoly: [10935]>\n", | |
| "8075fffffffffff <LatLngMultiPoly: [10935]>\n", | |
| "807ffffffffffff <LatLngMultiPoly: [10935]>\n", | |
| "8091fffffffffff <LatLngMultiPoly: [10935]>\n", | |
| "80a7fffffffffff <LatLngMultiPoly: [10935]>\n", | |
| "80c3fffffffffff <LatLngMultiPoly: [10935]>\n", | |
| "80d7fffffffffff <LatLngMultiPoly: [10935]>\n", | |
| "80ebfffffffffff <LatLngMultiPoly: [10935]>\n" | |
| ] | |
| } | |
| ], | |
| "source": [ | |
| "do_res(7)" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 11, | |
| "id": "8cc7a233-9a2f-4b0b-b8c8-a8240f60b92c", | |
| "metadata": { | |
| "execution": { | |
| "iopub.execute_input": "2024-09-27T23:21:42.562382Z", | |
| "iopub.status.busy": "2024-09-27T23:21:42.562308Z", | |
| "iopub.status.idle": "2024-09-27T23:22:59.475953Z", | |
| "shell.execute_reply": "2024-09-27T23:22:59.475709Z", | |
| "shell.execute_reply.started": "2024-09-27T23:21:42.562375Z" | |
| } | |
| }, | |
| "outputs": [ | |
| { | |
| "name": "stdout", | |
| "output_type": "stream", | |
| "text": [ | |
| "8009fffffffffff <LatLngMultiPoly: [32805]>\n", | |
| "801dfffffffffff <LatLngMultiPoly: [32805]>\n", | |
| "8031fffffffffff <LatLngMultiPoly: [32805]>\n", | |
| "804dfffffffffff <LatLngMultiPoly: [32805]>\n", | |
| "8063fffffffffff <LatLngMultiPoly: [32805]>\n", | |
| "8075fffffffffff <LatLngMultiPoly: [32805]>\n", | |
| "807ffffffffffff <LatLngMultiPoly: [32805]>\n", | |
| "8091fffffffffff <LatLngMultiPoly: [32805]>\n", | |
| "80a7fffffffffff <LatLngMultiPoly: [32805]>\n", | |
| "80c3fffffffffff <LatLngMultiPoly: [32805]>\n", | |
| "80d7fffffffffff <LatLngMultiPoly: [32805]>\n", | |
| "80ebfffffffffff <LatLngMultiPoly: [32805]>\n" | |
| ] | |
| } | |
| ], | |
| "source": [ | |
| "do_res(8)" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": null, | |
| "id": "ab4a0073-6e90-4653-ab4c-da65bac06a1e", | |
| "metadata": {}, | |
| "outputs": [], | |
| "source": [] | |
| } | |
| ], | |
| "metadata": { | |
| "kernelspec": { | |
| "display_name": "Python 3 (ipykernel)", | |
| "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.11.8" | |
| } | |
| }, | |
| "nbformat": 4, | |
| "nbformat_minor": 5 | |
| } |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment