{ "cells": [ { "cell_type": "markdown", "id": "f45155c9-27c7-46f0-bd0d-5f6f4635fdb8", "metadata": {}, "source": [ "# Split Antimeridian" ] }, { "cell_type": "code", "execution_count": 1, "id": "87e75598-9ae9-4c9d-ab2b-7d667a1256fa", "metadata": { "execution": { "iopub.execute_input": "2022-09-15T05:10:19.960677Z", "iopub.status.busy": "2022-09-15T05:10:19.960452Z", "iopub.status.idle": "2022-09-15T05:10:21.663973Z", "shell.execute_reply": "2022-09-15T05:10:21.663329Z" } }, "outputs": [], "source": [ "import geopandas\n", "import pandas\n", "import starepandas\n", "import pystare\n", "import shapely\n", "import matplotlib.pyplot as plt\n", "import numpy" ] }, { "cell_type": "code", "execution_count": 2, "id": "787861b0-5a11-466c-83c3-1cc37a1a6126", "metadata": { "execution": { "iopub.execute_input": "2022-09-15T05:10:21.666737Z", "iopub.status.busy": "2022-09-15T05:10:21.666398Z", "iopub.status.idle": "2022-09-15T05:10:21.675780Z", "shell.execute_reply": "2022-09-15T05:10:21.675251Z" } }, "outputs": [ { "data": { "text/plain": [ "'0.6.0+3.gdc385b4.dirty'" ] }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" } ], "source": [ "starepandas.__version__" ] }, { "cell_type": "code", "execution_count": 3, "id": "f0fc926a-1e40-49ef-9a9e-218ed75432ed", "metadata": { "execution": { "iopub.execute_input": "2022-09-15T05:10:21.677960Z", "iopub.status.busy": "2022-09-15T05:10:21.677709Z", "iopub.status.idle": "2022-09-15T05:10:21.687874Z", "shell.execute_reply": "2022-09-15T05:10:21.686861Z" } }, "outputs": [], "source": [ "cities = {'name': ['midway', 'Fiji', 'Baker', 'honolulu'],\n", " 'lat': [28.2, -17.8, 0.2, 21.3282956], \n", " 'lon': [-177.35, 178.1, -176.7, -157.9]}\n", " \n", "cities = starepandas.STAREDataFrame(cities)\n", "sids = starepandas.sids_from_xy(cities.lon, cities.lat, level=1)\n", "cities.set_sids(sids, inplace=True)\n", "trixels = cities.make_trixels(wrap_lon=False)\n", "cities.set_trixels(trixels, inplace=True)" ] }, { "cell_type": "code", "execution_count": 4, "id": "1d7d58c5-46bb-42ef-9b4d-69133155b285", "metadata": { "execution": { "iopub.execute_input": "2022-09-15T05:10:21.690565Z", "iopub.status.busy": "2022-09-15T05:10:21.690196Z", "iopub.status.idle": "2022-09-15T05:10:21.694630Z", "shell.execute_reply": "2022-09-15T05:10:21.694233Z" } }, "outputs": [ { "data": { "text/plain": [ "189.73560999313148" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "max(max(cities.trixels[0].exterior.xy))" ] }, { "cell_type": "code", "execution_count": 5, "id": "34759e14-ddba-43e3-9865-e70cbc43a25f", "metadata": { "execution": { "iopub.execute_input": "2022-09-15T05:10:21.696782Z", "iopub.status.busy": "2022-09-15T05:10:21.696441Z", "iopub.status.idle": "2022-09-15T05:10:21.728741Z", "shell.execute_reply": "2022-09-15T05:10:21.728256Z" } }, "outputs": [ { "data": { "text/plain": [ "180.0" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "split_geoms = cities.split_antimeridian(inplace=False)\n", "max(max(split_geoms.trixels[1].geoms[0].exterior.xy))" ] }, { "cell_type": "code", "execution_count": 6, "id": "af5341b4-e9bf-4a23-915f-ae2162341ef2", "metadata": { "execution": { "iopub.execute_input": "2022-09-15T05:10:21.730852Z", "iopub.status.busy": "2022-09-15T05:10:21.730613Z", "iopub.status.idle": "2022-09-15T05:10:21.924415Z", "shell.execute_reply": "2022-09-15T05:10:21.923374Z" } }, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "fig, ax = plt.subplots(dpi=100)\n", "ax.grid(True)\n", "\n", "antimeridian = shapely.geometry.LineString([(180,-90), (180,90)])\n", "\n", "ax.plot(*antimeridian.xy, color='red')\n", "ax.set_ylim(-90,90)\n", "ax.set_xlim(90,270)\n", "\n", "cities.plot(ax=ax, column='name')" ] }, { "cell_type": "markdown", "id": "b9818476-44bd-4028-9172-ae8dd5b8ab53", "metadata": {}, "source": [ "## Multipolygon" ] }, { "cell_type": "code", "execution_count": 7, "id": "e4b278c4-a0a5-430a-a2a7-4f2903a78d32", "metadata": { "execution": { "iopub.execute_input": "2022-09-15T05:10:21.927335Z", "iopub.status.busy": "2022-09-15T05:10:21.926997Z", "iopub.status.idle": "2022-09-15T05:10:21.941788Z", "shell.execute_reply": "2022-09-15T05:10:21.941236Z" } }, "outputs": [], "source": [ "combined = starepandas.STAREDataFrame(sids=[sids, sids])\n", "trixels = combined.make_trixels(wrap_lon=False)\n", "combined.set_trixels(trixels, inplace=True)" ] }, { "cell_type": "markdown", "id": "fdc21a4e-fc9a-4134-9faa-5c6e5a08aca3", "metadata": {}, "source": [ "# Algorithm" ] }, { "cell_type": "code", "execution_count": 8, "id": "d5fb6ed9-01aa-41ae-a4a2-740a9d33eebb", "metadata": { "execution": { "iopub.execute_input": "2022-09-15T05:10:21.945477Z", "iopub.status.busy": "2022-09-15T05:10:21.944959Z", "iopub.status.idle": "2022-09-15T05:10:21.949971Z", "shell.execute_reply": "2022-09-15T05:10:21.949011Z" } }, "outputs": [], "source": [ "bbox = shapely.geometry.Polygon([(-180, -90), (180, -90), (180, 90), (-180, 90)])" ] }, { "cell_type": "code", "execution_count": 9, "id": "99e49f71-e6dd-4ed3-a89e-8dff3f7c380c", "metadata": { "execution": { "iopub.execute_input": "2022-09-15T05:10:21.953673Z", "iopub.status.busy": "2022-09-15T05:10:21.953231Z", "iopub.status.idle": "2022-09-15T05:10:21.958210Z", "shell.execute_reply": "2022-09-15T05:10:21.957236Z" } }, "outputs": [], "source": [ "trixels = geopandas.GeoSeries(combined[combined._trixel_column_name])" ] }, { "cell_type": "code", "execution_count": 10, "id": "8a3663bb-dada-412e-964b-7734a6398f56", "metadata": { "execution": { "iopub.execute_input": "2022-09-15T05:10:21.962103Z", "iopub.status.busy": "2022-09-15T05:10:21.961601Z", "iopub.status.idle": "2022-09-15T05:10:21.968345Z", "shell.execute_reply": "2022-09-15T05:10:21.967685Z" } }, "outputs": [], "source": [ "def split(trixels):\n", " bbox = shapely.geometry.Polygon([(-180, -90), (180, -90), (180, 90), (-180, 90)])\n", "\n", " trixels = geopandas.GeoSeries(trixels)\n", "\n", " inside = trixels.explode(index_parts=True).reset_index(drop=True)\n", " inside = inside.intersection(bbox)\n", " inside = geopandas.tools.collect(inside)\n", "\n", " outside = trixels.explode(index_parts=True).reset_index(drop=True)\n", " outside = outside.difference(bbox)\n", " outside = outside.apply(lambda x: shapely.affinity.translate(x, xoff=-360))\n", " outside = geopandas.tools.collect(outside)\n", "\n", " split = inside.union(outside)\n", " return split" ] }, { "cell_type": "markdown", "id": "d6ce2a4d-393f-4a72-b4ff-eff2ca3458e9", "metadata": {}, "source": [ "# Usage" ] }, { "cell_type": "code", "execution_count": 11, "id": "259049c7-970e-4e0d-9243-7fb15769a7a4", "metadata": { "execution": { "iopub.execute_input": "2022-09-15T05:10:21.973284Z", "iopub.status.busy": "2022-09-15T05:10:21.972880Z", "iopub.status.idle": "2022-09-15T05:10:22.201028Z", "shell.execute_reply": "2022-09-15T05:10:22.200513Z" } }, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAgsAAAEHCAYAAAAgdQUoAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/NK7nSAAAACXBIWXMAAA9hAAAPYQGoP6dpAAA0l0lEQVR4nO3deXycZb3//9c1W/atSZu9+0JZy05ZpAgti0ePv6MiBzxfPOpPEFRUBEWOsriAuKAIsnhcQA/69Yh6jopAkV1K2Wkp0D1ttqbNnkyW2a7vH/ckhNhMkzQzdybzfj4e84DMfc99f65Mmnnnvq/FWGsRERERGYvH7QJERERkelNYEBERkYQUFkRERCQhhQURERFJSGFBREREElJYEBERkYQUFkRERCQhn9sFHCxjjAGqgB63axEREUlDBUCTTTDxUtqHBZyg0OB2ESIiImmsBmgca+NMCAs9APX19RQWFrpdy6SEw2EeeeQR1qxZg9/vd7uclFCb1eaZLBPbrTanZ5u7u7upra2FA1ydnwlhAYDCwsK0Dgu5ubkUFham7Q/cRKnNavNMlontVptndpvVwVFEREQSUlgQERGRhBQWREREJCGFBREREUlIYUFEREQSUlgQERGRhBQWREREJCGFBREREUlIYUFEREQSUlgQERGRhBQWREREJCGFBREREUlIYUFEREQSUlgQERGRhBQWREREJCGFBREREUlIYUFEREQSUlgQERGRhBQWREREJCGFBREREUlIYUFEREQSUlgQERGRhBQWREREJCGFBREREUlIYUFEREQSUlgQERGRhBQWREREJCGFBREREUlIYUFEREQSUlgQERGRhBQWREREJCGFBREREUlIYUFEREQSUlgQERGRhBQWZL9s1DKwvdPtMkREZBrwuV2ATC/WWgbebKfzzzuItg+Qe/QcSj6wBONTrhQRyVQKCzIs1NBD14M7GdzRNfxc3yt7KfnQUherEhERtyksCJHOAbof3kXfK3udJ3wGIhaA3KPnYDzGxepERMRtCgsZLDYQoeeJenqeaXxHOCg8ex5t975BuDlI9rISl6sUERG3KSxkIBuNEVy/h+6/7SIWjACQtbCIovMWEKgpINodItwcBANZi4vdLVZERFynsJBBrLUMvNFG11/riLT2A+CbnUPRuQvIXj4LY5zbDQNbOwDwV+XjzQ+4Vq+I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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "fig, ax = plt.subplots(dpi=100)\n", "ax.grid(True)\n", "\n", "ax.set_ylim(-90,90)\n", "ax.set_xlim(-190,190)\n", "\n", "cities.split_antimeridian(inplace=True)\n", "\n", "cities.plot(ax=ax, column='name')" ] }, { "cell_type": "code", "execution_count": 12, "id": "c6799ae3-e0f3-4522-847e-1485c76136fd", "metadata": { "execution": { "iopub.execute_input": "2022-09-15T05:10:22.203296Z", "iopub.status.busy": "2022-09-15T05:10:22.203021Z", "iopub.status.idle": "2022-09-15T05:10:22.325836Z", "shell.execute_reply": "2022-09-15T05:10:22.325187Z" } }, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 12, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "fig, ax = plt.subplots(dpi=100)\n", "ax.grid(True)\n", "\n", "ax.set_ylim(-90, 90)\n", "ax.set_xlim(-190, 190)\n", "\n", "combined.split_antimeridian(inplace=True)\n", "#combined.trixels.explode(index_parts=True).reset_index(drop=True)\n", "\n", "\n", "combined.plot(ax=ax)" ] }, { "cell_type": "code", "execution_count": 13, "id": "e6c2515a-ca45-47bf-bb36-703d8e5dbcb0", "metadata": { "execution": { "iopub.execute_input": "2022-09-15T05:10:22.328571Z", "iopub.status.busy": "2022-09-15T05:10:22.328261Z", "iopub.status.idle": "2022-09-15T05:10:22.332962Z", "shell.execute_reply": "2022-09-15T05:10:22.332542Z" } }, "outputs": [ { "data": { "text/plain": [ "(array('d', [-170.26439000686852, -180.0, -180.0, -170.26439000686852]),\n", " array('d', [29.999999603043193, 14.653891165651418, 32.667991191813314, 29.999999603043193]))" ] }, "execution_count": 13, "metadata": {}, "output_type": "execute_result" } ], "source": [ "cities.trixels[0].geoms[1].exterior.xy" ] }, { "cell_type": "code", "execution_count": 14, "id": "48e48cb9-8c64-4c6a-ba4c-e4bb74b3626c", "metadata": { "execution": { "iopub.execute_input": "2022-09-15T05:10:22.335150Z", "iopub.status.busy": "2022-09-15T05:10:22.334932Z", "iopub.status.idle": "2022-09-15T05:10:22.362261Z", "shell.execute_reply": "2022-09-15T05:10:22.361768Z" } }, "outputs": [], "source": [ "cities = {'lat': [-50, 270, 80], \n", " 'lon': [60, -360, 270]}\n", "\n", "cities = starepandas.STAREDataFrame(cities)\n", "sids = starepandas.sids_from_xy(cities.lon, cities.lat, level=1)\n", "cities.set_sids(sids, inplace=True)\n", "#trixels = cities.make_trixels(wrap_lon=True, wrap_thresh=180)\n", "trixels = cities.make_trixels(wrap_lon=False)\n", "cities.set_trixels(trixels, inplace=True)\n", "cities.split_antimeridian(inplace=True)" ] }, { "cell_type": "code", "execution_count": 15, "id": "21d12463-4195-4a06-91f2-75015ba98411", "metadata": { "execution": { "iopub.execute_input": "2022-09-15T05:10:22.364799Z", "iopub.status.busy": "2022-09-15T05:10:22.364610Z", "iopub.status.idle": "2022-09-15T05:10:22.464425Z", "shell.execute_reply": "2022-09-15T05:10:22.463969Z" } }, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 15, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "fig, ax = plt.subplots(dpi=100)\n", "ax.grid(True)\n", "\n", "antimeridian = shapely.geometry.LineString([(180,-90), (180, 90)])\n", "\n", "#ax.plot(*antimeridian.xy, color='red')\n", "#ax.set_ylim(-90,90)\n", "#ax.set_xlim(90,270)\n", "\n", "cities.plot(ax=ax)" ] }, { "cell_type": "code", "execution_count": null, "id": "5eaf6fae-1400-4226-8aad-0794587fcf61", "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.10.4" } }, "nbformat": 4, "nbformat_minor": 5 }