From 16f39f56b561163736900f7e28b7a0d7ad2d10d8 Mon Sep 17 00:00:00 2001 From: Nilesh Gajwani Date: Mon, 3 Jul 2023 20:33:43 -0700 Subject: [PATCH 01/20] Update apache sedona version to 1.4.1 --- binder/Pipfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/binder/Pipfile b/binder/Pipfile index 57843ff9c8..01844df505 100644 --- a/binder/Pipfile +++ b/binder/Pipfile @@ -17,7 +17,7 @@ geopandas="==0.11.1" pyspark="==3.3.2" attrs="*" ipykernel = "*" -apache-sedona="==1.4.0" +apache-sedona="==1.4.1" matplotlib = "*" descartes = "*" From c132894c73b3b7c882dc2d106263acc7ba7cfa6b Mon Sep 17 00:00:00 2001 From: Nilesh Gajwani Date: Mon, 3 Jul 2023 21:24:15 -0700 Subject: [PATCH 02/20] Refactored notebook imports and added unified SedonaContext entry points --- binder/ApacheSedonaCore.ipynb | 521 ++++++++++-------- binder/ApacheSedonaRaster.ipynb | 240 ++++---- binder/ApacheSedonaSQL.ipynb | 375 +++++-------- ...naSQL_SpatialJoin_AirportsPerCountry.ipynb | 176 +++--- 4 files changed, 641 insertions(+), 671 deletions(-) diff --git a/binder/ApacheSedonaCore.ipynb b/binder/ApacheSedonaCore.ipynb index d219ee98fd..e82d5b225e 100644 --- a/binder/ApacheSedonaCore.ipynb +++ b/binder/ApacheSedonaCore.ipynb @@ -24,7 +24,7 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": 1, "metadata": {}, "outputs": [], "source": [ @@ -39,82 +39,71 @@ "from shapely.geometry import Point\n", "from shapely.geometry import Polygon\n", "\n", - "from sedona.register import SedonaRegistrator\n", - "from sedona.core.SpatialRDD import SpatialRDD\n", - "from sedona.core.SpatialRDD import PointRDD\n", - "from sedona.core.SpatialRDD import PolygonRDD\n", - "from sedona.core.SpatialRDD import LineStringRDD\n", - "from sedona.core.enums import FileDataSplitter\n", - "from sedona.utils.adapter import Adapter\n", - "from sedona.core.spatialOperator import KNNQuery\n", - "from sedona.core.spatialOperator import JoinQuery\n", - "from sedona.core.spatialOperator import JoinQueryRaw\n", - "from sedona.core.spatialOperator import RangeQuery\n", - "from sedona.core.spatialOperator import RangeQueryRaw\n", - "from sedona.core.formatMapper.shapefileParser import ShapefileReader\n", - "from sedona.core.formatMapper import WkbReader\n", - "from sedona.core.formatMapper import WktReader\n", - "from sedona.core.formatMapper import GeoJsonReader\n", - "from sedona.sql.types import GeometryType\n", - "from sedona.core.enums import GridType\n", - "from sedona.core.SpatialRDD import RectangleRDD\n", - "from sedona.core.enums import IndexType\n", - "from sedona.core.geom.envelope import Envelope\n", - "from sedona.utils import SedonaKryoRegistrator, KryoSerializer" - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "metadata": {}, - "outputs": [], - "source": [ - "spark = SparkSession.\\\n", - " builder.\\\n", - " master(\"local[*]\").\\\n", - " appName(\"Sedona App\").\\\n", - " config(\"spark.serializer\", KryoSerializer.getName).\\\n", - " config(\"spark.kryo.registrator\", SedonaKryoRegistrator.getName) .\\\n", - " config(\"spark.jars.packages\", \"org.apache.sedona:sedona-spark-shaded-3.0_2.12:1.4.0,org.datasyslab:geotools-wrapper:1.4.0-28.2\") .\\\n", - " getOrCreate()" + "from sedona.spark import *\n", + "from sedona.core.geom.envelope import Envelope\n" ] }, { "cell_type": "code", - "execution_count": 8, - "metadata": {}, - "outputs": [], - "source": [ - "# Register function is essential for Apache Sedona Core and Apache Sedona SQL. " - ] - }, - { - "cell_type": "code", - "execution_count": 9, + "execution_count": 2, "metadata": {}, "outputs": [ { - "data": { - "text/plain": [ - "True" - ] - }, - "execution_count": 9, - "metadata": {}, - "output_type": "execute_result" + "name": "stdout", + "output_type": "stream", + "text": [ + ":: loading settings :: url = jar:file:/Users/nileshgajwani/Desktop/spark/spark-3.4.0-bin-hadoop3/jars/ivy-2.5.1.jar!/org/apache/ivy/core/settings/ivysettings.xml\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Ivy Default Cache set to: /Users/nileshgajwani/.ivy2/cache\n", + "The jars for the packages stored in: /Users/nileshgajwani/.ivy2/jars\n", + "org.apache.sedona#sedona-spark-shaded-3.0_2.12 added as a dependency\n", + "org.datasyslab#geotools-wrapper added as a dependency\n", + ":: resolving dependencies :: org.apache.spark#spark-submit-parent-7c4309f6-195c-4473-b3ac-629607126e04;1.0\n", + "\tconfs: [default]\n", + "\tfound org.apache.sedona#sedona-spark-shaded-3.0_2.12;1.4.1 in central\n", + "\tfound org.datasyslab#geotools-wrapper;1.4.0-28.2 in central\n", + ":: resolution report :: resolve 121ms :: artifacts dl 2ms\n", + "\t:: modules in use:\n", + "\torg.apache.sedona#sedona-spark-shaded-3.0_2.12;1.4.1 from central in [default]\n", + "\torg.datasyslab#geotools-wrapper;1.4.0-28.2 from central in [default]\n", + "\t---------------------------------------------------------------------\n", + "\t| | modules || artifacts |\n", + "\t| conf | number| search|dwnlded|evicted|| number|dwnlded|\n", + "\t---------------------------------------------------------------------\n", + "\t| default | 2 | 0 | 0 | 0 || 2 | 0 |\n", + "\t---------------------------------------------------------------------\n", + ":: retrieving :: org.apache.spark#spark-submit-parent-7c4309f6-195c-4473-b3ac-629607126e04\n", + "\tconfs: [default]\n", + "\t0 artifacts copied, 2 already retrieved (0kB/3ms)\n", + "23/07/03 20:34:33 WARN NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable\n", + "Setting default log level to \"WARN\".\n", + "To adjust logging level use sc.setLogLevel(newLevel). For SparkR, use setLogLevel(newLevel).\n", + "23/07/03 20:34:33 WARN Utils: Service 'SparkUI' could not bind on port 4040. Attempting port 4041.\n" + ] } ], "source": [ - "SedonaRegistrator.registerAll(spark)" + "config = SedonaContext.builder() .\\\n", + " config('spark.jars.packages',\n", + " 'org.apache.sedona:sedona-spark-shaded-3.0_2.12:1.4.1,'\n", + " 'org.datasyslab:geotools-wrapper:1.4.0-28.2'). \\\n", + " getOrCreate()\n", + "\n", + "sedona = SedonaContext.create(config)" ] }, { "cell_type": "code", - "execution_count": 10, + "execution_count": 5, "metadata": {}, "outputs": [], "source": [ - "sc = spark.sparkContext" + "sc = sedona.sparkContext" ] }, { @@ -148,7 +137,7 @@ }, { "cell_type": "code", - "execution_count": 11, + "execution_count": 6, "metadata": {}, "outputs": [], "source": [ @@ -157,7 +146,7 @@ }, { "cell_type": "code", - "execution_count": 12, + "execution_count": 7, "metadata": {}, "outputs": [ { @@ -166,7 +155,7 @@ "3000" ] }, - "execution_count": 12, + "execution_count": 7, "metadata": {}, "output_type": "execute_result" } @@ -178,17 +167,33 @@ }, { "cell_type": "code", - "execution_count": 13, + "execution_count": 8, "metadata": {}, "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/Users/nileshgajwani/Desktop/sedona/sedona/venv/lib/python3.9/site-packages/sedona/core/geom/envelope.py:27: ShapelyDeprecationWarning: Setting custom attributes on geometry objects is deprecated, and will raise an AttributeError in Shapely 2.0\n", + " self.minx = minx\n", + "/Users/nileshgajwani/Desktop/sedona/sedona/venv/lib/python3.9/site-packages/sedona/core/geom/envelope.py:28: ShapelyDeprecationWarning: Setting custom attributes on geometry objects is deprecated, and will raise an AttributeError in Shapely 2.0\n", + " self.maxx = maxx\n", + "/Users/nileshgajwani/Desktop/sedona/sedona/venv/lib/python3.9/site-packages/sedona/core/geom/envelope.py:29: ShapelyDeprecationWarning: Setting custom attributes on geometry objects is deprecated, and will raise an AttributeError in Shapely 2.0\n", + " self.miny = miny\n", + "/Users/nileshgajwani/Desktop/sedona/sedona/venv/lib/python3.9/site-packages/sedona/core/geom/envelope.py:30: ShapelyDeprecationWarning: Setting custom attributes on geometry objects is deprecated, and will raise an AttributeError in Shapely 2.0\n", + " self.maxy = maxy\n" + ] + }, { "data": { - "image/svg+xml": "", + "image/svg+xml": [ + "" + ], "text/plain": [ "Envelope(-173.120769, -84.965961, 30.244859, 71.355134)" ] }, - "execution_count": 13, + "execution_count": 8, "metadata": {}, "output_type": "execute_result" } @@ -201,7 +206,7 @@ }, { "cell_type": "code", - "execution_count": 14, + "execution_count": 9, "metadata": {}, "outputs": [ { @@ -210,7 +215,7 @@ "True" ] }, - "execution_count": 14, + "execution_count": 9, "metadata": {}, "output_type": "execute_result" } @@ -222,17 +227,19 @@ }, { "cell_type": "code", - "execution_count": 15, + "execution_count": 10, "metadata": {}, "outputs": [ { "data": { - "image/svg+xml": "", + "image/svg+xml": [ + "" + ], "text/plain": [ "Envelope(-173.120769, -84.965961, 30.244859, 71.355134)" ] }, - "execution_count": 15, + "execution_count": 10, "metadata": {}, "output_type": "execute_result" } @@ -245,7 +252,7 @@ }, { "cell_type": "code", - "execution_count": 16, + "execution_count": 11, "metadata": {}, "outputs": [ { @@ -254,7 +261,7 @@ "2996" ] }, - "execution_count": 16, + "execution_count": 11, "metadata": {}, "output_type": "execute_result" } @@ -266,7 +273,7 @@ }, { "cell_type": "code", - "execution_count": 17, + "execution_count": 12, "metadata": {}, "outputs": [ { @@ -275,7 +282,7 @@ "'epsg:4326'" ] }, - "execution_count": 17, + "execution_count": 12, "metadata": {}, "output_type": "execute_result" } @@ -287,7 +294,7 @@ }, { "cell_type": "code", - "execution_count": 18, + "execution_count": 13, "metadata": {}, "outputs": [ { @@ -296,7 +303,7 @@ "'epsg:4326'" ] }, - "execution_count": 18, + "execution_count": 13, "metadata": {}, "output_type": "execute_result" } @@ -308,7 +315,7 @@ }, { "cell_type": "code", - "execution_count": 19, + "execution_count": 14, "metadata": {}, "outputs": [ { @@ -317,7 +324,7 @@ "True" ] }, - "execution_count": 19, + "execution_count": 14, "metadata": {}, "output_type": "execute_result" } @@ -347,16 +354,26 @@ }, { "cell_type": "code", - "execution_count": 20, + "execution_count": 15, "metadata": {}, "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "\r", + "[Stage 8:> (0 + 1) / 1]\r", + "\r", + " \r" + ] + }, { "data": { "text/plain": [ "[Geometry: Point userData: testattribute0\ttestattribute1\ttestattribute2]" ] }, - "execution_count": 20, + "execution_count": 15, "metadata": {}, "output_type": "execute_result" } @@ -368,7 +385,7 @@ }, { "cell_type": "code", - "execution_count": 21, + "execution_count": 16, "metadata": {}, "outputs": [ { @@ -381,7 +398,7 @@ " Geometry: Point userData: testattribute0\ttestattribute1\ttestattribute2]" ] }, - "execution_count": 21, + "execution_count": 16, "metadata": {}, "output_type": "execute_result" } @@ -393,7 +410,7 @@ }, { "cell_type": "code", - "execution_count": 22, + "execution_count": 17, "metadata": {}, "outputs": [ { @@ -406,7 +423,7 @@ " 110.97122518072091]" ] }, - "execution_count": 22, + "execution_count": 17, "metadata": {}, "output_type": "execute_result" } @@ -439,7 +456,7 @@ }, { "cell_type": "code", - "execution_count": 23, + "execution_count": 18, "metadata": {}, "outputs": [], "source": [ @@ -448,7 +465,7 @@ }, { "cell_type": "code", - "execution_count": 24, + "execution_count": 19, "metadata": {}, "outputs": [], "source": [ @@ -459,7 +476,7 @@ }, { "cell_type": "code", - "execution_count": 25, + "execution_count": 20, "metadata": {}, "outputs": [ { @@ -538,7 +555,7 @@ "4 POINT (-88.32399 32.95067) testattribute0 testattribute1 testattribute2" ] }, - "execution_count": 25, + "execution_count": 20, "metadata": {}, "output_type": "execute_result" } @@ -556,7 +573,7 @@ }, { "cell_type": "code", - "execution_count": 26, + "execution_count": 21, "metadata": {}, "outputs": [], "source": [ @@ -565,20 +582,20 @@ }, { "cell_type": "code", - "execution_count": 27, + "execution_count": 22, "metadata": {}, "outputs": [], "source": [ "spatial_df = Adapter.\\\n", - " toDf(point_rdd, [\"attr1\", \"attr2\", \"attr3\"], spark).\\\n", + " toDf(point_rdd, [\"attr1\", \"attr2\", \"attr3\"], sedona).\\\n", " createOrReplaceTempView(\"spatial_df\")\n", "\n", - "spatial_gdf = spark.sql(\"Select attr1, attr2, attr3, geometry as geom from spatial_df\")" + "spatial_gdf = sedona.sql(\"Select attr1, attr2, attr3, geometry as geom from spatial_df\")" ] }, { "cell_type": "code", - "execution_count": 28, + "execution_count": 23, "metadata": {}, "outputs": [ { @@ -605,7 +622,7 @@ }, { "cell_type": "code", - "execution_count": 29, + "execution_count": 24, "metadata": {}, "outputs": [ { @@ -684,7 +701,7 @@ "4 testattribute0 testattribute1 testattribute2 POINT (-88.32399 32.95067)" ] }, - "execution_count": 29, + "execution_count": 24, "metadata": {}, "output_type": "execute_result" } @@ -702,7 +719,7 @@ }, { "cell_type": "code", - "execution_count": 30, + "execution_count": 25, "metadata": {}, "outputs": [], "source": [ @@ -718,16 +735,16 @@ }, { "cell_type": "code", - "execution_count": 31, + "execution_count": 26, "metadata": {}, "outputs": [], "source": [ - "geo_df = spark.createDataFrame(point_rdd_to_geo, schema, verifySchema=False)" + "geo_df = sedona.createDataFrame(point_rdd_to_geo, schema, verifySchema=False)" ] }, { "cell_type": "code", - "execution_count": 32, + "execution_count": 27, "metadata": {}, "outputs": [ { @@ -806,7 +823,7 @@ "4 POINT (-88.32399 32.95067) testattribute0 testattribute1 testattribute2" ] }, - "execution_count": 32, + "execution_count": 27, "metadata": {}, "output_type": "execute_result" } @@ -836,7 +853,7 @@ }, { "cell_type": "code", - "execution_count": 33, + "execution_count": 28, "metadata": {}, "outputs": [], "source": [ @@ -848,7 +865,7 @@ }, { "cell_type": "code", - "execution_count": 34, + "execution_count": 29, "metadata": {}, "outputs": [ { @@ -857,7 +874,7 @@ "True" ] }, - "execution_count": 34, + "execution_count": 29, "metadata": {}, "output_type": "execute_result" } @@ -885,7 +902,7 @@ }, { "cell_type": "code", - "execution_count": 35, + "execution_count": 30, "metadata": {}, "outputs": [ { @@ -894,7 +911,7 @@ "True" ] }, - "execution_count": 35, + "execution_count": 30, "metadata": {}, "output_type": "execute_result" } @@ -919,7 +936,7 @@ }, { "cell_type": "code", - "execution_count": 36, + "execution_count": 31, "metadata": {}, "outputs": [], "source": [ @@ -967,7 +984,7 @@ }, { "cell_type": "code", - "execution_count": 37, + "execution_count": 32, "metadata": {}, "outputs": [], "source": [ @@ -990,16 +1007,16 @@ }, { "cell_type": "code", - "execution_count": 38, + "execution_count": 33, "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "MapPartitionsRDD[68] at map at FlatPairRddConverter.scala:30" + "MapPartitionsRDD[64] at map at FlatPairRddConverter.scala:30" ] }, - "execution_count": 38, + "execution_count": 33, "metadata": {}, "output_type": "execute_result" } @@ -1010,7 +1027,7 @@ }, { "cell_type": "code", - "execution_count": 39, + "execution_count": 34, "metadata": {}, "outputs": [ { @@ -1020,7 +1037,7 @@ " [Geometry: Polygon userData: , Geometry: Point userData: ]]" ] }, - "execution_count": 39, + "execution_count": 34, "metadata": {}, "output_type": "execute_result" } @@ -1031,7 +1048,7 @@ }, { "cell_type": "code", - "execution_count": 40, + "execution_count": 35, "metadata": {}, "outputs": [ { @@ -1042,7 +1059,7 @@ " [Geometry: Polygon userData: , Geometry: Point userData: ]]" ] }, - "execution_count": 40, + "execution_count": 35, "metadata": {}, "output_type": "execute_result" } @@ -1053,7 +1070,7 @@ }, { "cell_type": "code", - "execution_count": 41, + "execution_count": 36, "metadata": {}, "outputs": [ { @@ -1062,7 +1079,7 @@ "[0.0, 0.0, 0.0, 0.0, 0.0]" ] }, - "execution_count": 41, + "execution_count": 36, "metadata": {}, "output_type": "execute_result" } @@ -1074,20 +1091,20 @@ }, { "cell_type": "code", - "execution_count": 42, + "execution_count": 37, "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "[0.05189354027999942,\n", + "[0.026651558685001447,\n", + " 0.051572544132000575,\n", " 0.051572544132000575,\n", - " 0.05189354027999942,\n", - " 0.05189354027999942,\n", - " 0.020876428870001032]" + " 0.051572544132000575,\n", + " 0.05189354027999942]" ] }, - "execution_count": 42, + "execution_count": 37, "metadata": {}, "output_type": "execute_result" } @@ -1099,7 +1116,7 @@ }, { "cell_type": "code", - "execution_count": 43, + "execution_count": 38, "metadata": {}, "outputs": [], "source": [ @@ -1108,7 +1125,7 @@ }, { "cell_type": "code", - "execution_count": 44, + "execution_count": 39, "metadata": {}, "outputs": [], "source": [ @@ -1122,7 +1139,7 @@ }, { "cell_type": "code", - "execution_count": 45, + "execution_count": 40, "metadata": {}, "outputs": [ { @@ -1132,11 +1149,11 @@ "+--------------------+--------------------+\n", "| geom_left| geom_right|\n", "+--------------------+--------------------+\n", - "|POLYGON ((-87.092...|POINT (-86.94719 ...|\n", - "|POLYGON ((-87.082...|POINT (-86.865782...|\n", - "|POLYGON ((-87.092...|POINT (-86.779523...|\n", - "|POLYGON ((-87.092...|POINT (-86.865782...|\n", - "|POLYGON ((-86.816...|POINT (-86.779523...|\n", + "|POLYGON ((-87.229...|POINT (-87.204299...|\n", + "|POLYGON ((-87.082...|POINT (-87.059583...|\n", + "|POLYGON ((-87.082...|POINT (-87.075409...|\n", + "|POLYGON ((-87.082...|POINT (-87.08084 ...|\n", + "|POLYGON ((-87.092...|POINT (-87.08084 ...|\n", "+--------------------+--------------------+\n", "only showing top 5 rows\n", "\n" @@ -1146,12 +1163,12 @@ "source": [ "# Set verifySchema to False\n", "spatial_join_result = result.map(lambda x: [x[0].geom, x[1].geom])\n", - "spark.createDataFrame(spatial_join_result, schema, verifySchema=False).show(5, True)" + "sedona.createDataFrame(spatial_join_result, schema, verifySchema=False).show(5, True)" ] }, { "cell_type": "code", - "execution_count": 46, + "execution_count": 41, "metadata": {}, "outputs": [], "source": [ @@ -1160,7 +1177,7 @@ }, { "cell_type": "code", - "execution_count": 47, + "execution_count": 42, "metadata": {}, "outputs": [ { @@ -1175,7 +1192,7 @@ } ], "source": [ - "spark.createDataFrame(spatial_join_result, schema, verifySchema=False).printSchema()" + "sedona.createDataFrame(spatial_join_result, schema, verifySchema=False).printSchema()" ] }, { @@ -1187,7 +1204,7 @@ }, { "cell_type": "code", - "execution_count": 48, + "execution_count": 43, "metadata": {}, "outputs": [ { @@ -1197,11 +1214,11 @@ "+--------------------+-----+--------------------+-----+\n", "| geom_1|attr1| geom_2|attr2|\n", "+--------------------+-----+--------------------+-----+\n", - "|POLYGON ((-87.092...| |POINT (-86.94719 ...| |\n", - "|POLYGON ((-87.082...| |POINT (-86.865782...| |\n", - "|POLYGON ((-87.092...| |POINT (-86.779523...| |\n", - "|POLYGON ((-87.092...| |POINT (-86.865782...| |\n", - "|POLYGON ((-86.816...| |POINT (-86.779523...| |\n", + "|POLYGON ((-87.229...| |POINT (-87.204299...| |\n", + "|POLYGON ((-87.082...| |POINT (-87.059583...| |\n", + "|POLYGON ((-87.082...| |POINT (-87.075409...| |\n", + "|POLYGON ((-87.082...| |POINT (-87.08084 ...| |\n", + "|POLYGON ((-87.092...| |POINT (-87.08084 ...| |\n", "+--------------------+-----+--------------------+-----+\n", "only showing top 5 rows\n", "\n" @@ -1209,7 +1226,7 @@ } ], "source": [ - "Adapter.toDf(result, [\"attr1\"], [\"attr2\"], spark).show(5, True)" + "Adapter.toDf(result, [\"attr1\"], [\"attr2\"], sedona).show(5, True)" ] }, { @@ -1221,7 +1238,7 @@ }, { "cell_type": "code", - "execution_count": 49, + "execution_count": 44, "metadata": {}, "outputs": [ { @@ -1238,7 +1255,7 @@ } ], "source": [ - "Adapter.toDf(result, [\"attr1\"], [\"attr2\"], spark).printSchema()" + "Adapter.toDf(result, [\"attr1\"], [\"attr2\"], sedona).printSchema()" ] }, { @@ -1258,7 +1275,7 @@ }, { "cell_type": "code", - "execution_count": 50, + "execution_count": 45, "metadata": {}, "outputs": [], "source": [ @@ -1268,7 +1285,7 @@ }, { "cell_type": "code", - "execution_count": 51, + "execution_count": 46, "metadata": {}, "outputs": [], "source": [ @@ -1277,7 +1294,7 @@ }, { "cell_type": "code", - "execution_count": 52, + "execution_count": 47, "metadata": {}, "outputs": [], "source": [ @@ -1287,7 +1304,7 @@ }, { "cell_type": "code", - "execution_count": 53, + "execution_count": 48, "metadata": {}, "outputs": [], "source": [ @@ -1299,7 +1316,7 @@ }, { "cell_type": "code", - "execution_count": 54, + "execution_count": 49, "metadata": {}, "outputs": [ { @@ -1310,22 +1327,22 @@ "| geometry|number_of_points|\n", "+--------------------+----------------+\n", "|POLYGON ((-86.749...| 4|\n", + "|POLYGON ((-87.229...| 7|\n", + "|POLYGON ((-87.114...| 15|\n", "|POLYGON ((-87.082...| 12|\n", "|POLYGON ((-86.697...| 1|\n", + "|POLYGON ((-86.816...| 6|\n", + "|POLYGON ((-87.285...| 26|\n", "|POLYGON ((-87.105...| 15|\n", - "|POLYGON ((-87.114...| 15|\n", - "|POLYGON ((-87.229...| 7|\n", "|POLYGON ((-86.860...| 12|\n", - "|POLYGON ((-86.816...| 6|\n", "|POLYGON ((-87.092...| 5|\n", - "|POLYGON ((-87.285...| 26|\n", "+--------------------+----------------+\n", "\n" ] } ], "source": [ - "spark.createDataFrame(number_of_points, schema, verifySchema=False).show()" + "sedona.createDataFrame(number_of_points, schema, verifySchema=False).show()" ] }, { @@ -1351,7 +1368,7 @@ }, { "cell_type": "code", - "execution_count": 55, + "execution_count": 50, "metadata": {}, "outputs": [], "source": [ @@ -1360,7 +1377,7 @@ }, { "cell_type": "code", - "execution_count": 56, + "execution_count": 51, "metadata": {}, "outputs": [], "source": [ @@ -1369,7 +1386,7 @@ }, { "cell_type": "code", - "execution_count": 57, + "execution_count": 52, "metadata": {}, "outputs": [ { @@ -1382,7 +1399,7 @@ " Geometry: Point userData: ]" ] }, - "execution_count": 57, + "execution_count": 52, "metadata": {}, "output_type": "execute_result" } @@ -1400,7 +1417,7 @@ }, { "cell_type": "code", - "execution_count": 58, + "execution_count": 53, "metadata": {}, "outputs": [], "source": [ @@ -1414,7 +1431,7 @@ }, { "cell_type": "code", - "execution_count": 59, + "execution_count": 54, "metadata": {}, "outputs": [ { @@ -1427,7 +1444,7 @@ " Geometry: Polygon userData: ]" ] }, - "execution_count": 59, + "execution_count": 54, "metadata": {}, "output_type": "execute_result" } @@ -1438,7 +1455,7 @@ }, { "cell_type": "code", - "execution_count": 60, + "execution_count": 55, "metadata": {}, "outputs": [ { @@ -1447,7 +1464,7 @@ "'POLYGON ((-83.993559 34.087259, -83.993559 34.131247, -83.959903 34.131247, -83.959903 34.087259, -83.993559 34.087259))'" ] }, - "execution_count": 60, + "execution_count": 55, "metadata": {}, "output_type": "execute_result" } @@ -1477,9 +1494,33 @@ }, { "cell_type": "code", - "execution_count": 61, + "execution_count": 56, "metadata": {}, "outputs": [], + "source": [ + "from sedona.core.geom.envelope import Envelope" + ] + }, + { + "cell_type": "code", + "execution_count": 57, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/Users/nileshgajwani/Desktop/sedona/sedona/venv/lib/python3.9/site-packages/sedona/core/geom/envelope.py:27: ShapelyDeprecationWarning: Setting custom attributes on geometry objects is deprecated, and will raise an AttributeError in Shapely 2.0\n", + " self.minx = minx\n", + "/Users/nileshgajwani/Desktop/sedona/sedona/venv/lib/python3.9/site-packages/sedona/core/geom/envelope.py:28: ShapelyDeprecationWarning: Setting custom attributes on geometry objects is deprecated, and will raise an AttributeError in Shapely 2.0\n", + " self.maxx = maxx\n", + "/Users/nileshgajwani/Desktop/sedona/sedona/venv/lib/python3.9/site-packages/sedona/core/geom/envelope.py:29: ShapelyDeprecationWarning: Setting custom attributes on geometry objects is deprecated, and will raise an AttributeError in Shapely 2.0\n", + " self.miny = miny\n", + "/Users/nileshgajwani/Desktop/sedona/sedona/venv/lib/python3.9/site-packages/sedona/core/geom/envelope.py:30: ShapelyDeprecationWarning: Setting custom attributes on geometry objects is deprecated, and will raise an AttributeError in Shapely 2.0\n", + " self.maxy = maxy\n" + ] + } + ], "source": [ "query_envelope = Envelope(-85.01, -60.01, 34.01, 50.01)\n", "\n", @@ -1488,16 +1529,16 @@ }, { "cell_type": "code", - "execution_count": 62, + "execution_count": 58, "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "MapPartitionsRDD[131] at map at GeometryRddConverter.scala:30" + "MapPartitionsRDD[128] at map at GeometryRddConverter.scala:30" ] }, - "execution_count": 62, + "execution_count": 58, "metadata": {}, "output_type": "execute_result" } @@ -1508,9 +1549,16 @@ }, { "cell_type": "code", - "execution_count": 63, + "execution_count": 59, "metadata": {}, "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "23/07/03 20:34:42 WARN BlockManager: Task 405 already completed, not releasing lock for rdd_45_0\n" + ] + }, { "data": { "text/plain": [ @@ -1522,7 +1570,7 @@ " Geometry: LineString userData: ]" ] }, - "execution_count": 63, + "execution_count": 59, "metadata": {}, "output_type": "execute_result" } @@ -1533,7 +1581,7 @@ }, { "cell_type": "code", - "execution_count": 64, + "execution_count": 60, "metadata": {}, "outputs": [], "source": [ @@ -1542,7 +1590,7 @@ }, { "cell_type": "code", - "execution_count": 65, + "execution_count": 61, "metadata": {}, "outputs": [], "source": [ @@ -1551,7 +1599,7 @@ }, { "cell_type": "code", - "execution_count": 66, + "execution_count": 62, "metadata": {}, "outputs": [ { @@ -1573,7 +1621,7 @@ } ], "source": [ - "spark.createDataFrame(\n", + "sedona.createDataFrame(\n", " result_range_query.map(lambda x: [x.geom]),\n", " schema,\n", " verifySchema=False\n", @@ -1600,7 +1648,7 @@ }, { "cell_type": "code", - "execution_count": 67, + "execution_count": 63, "metadata": {}, "outputs": [], "source": [ @@ -1609,7 +1657,7 @@ }, { "cell_type": "code", - "execution_count": 68, + "execution_count": 64, "metadata": {}, "outputs": [], "source": [ @@ -1618,16 +1666,16 @@ }, { "cell_type": "code", - "execution_count": 69, + "execution_count": 65, "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "" + "" ] }, - "execution_count": 69, + "execution_count": 65, "metadata": {}, "output_type": "execute_result" } @@ -1638,7 +1686,7 @@ }, { "cell_type": "code", - "execution_count": 70, + "execution_count": 66, "metadata": {}, "outputs": [ { @@ -1660,12 +1708,12 @@ } ], "source": [ - "Adapter.toDf(shape_rdd, spark).show(5, True)" + "Adapter.toDf(shape_rdd, sedona).show(5, True)" ] }, { "cell_type": "code", - "execution_count": 71, + "execution_count": 67, "metadata": {}, "outputs": [], "source": [ @@ -1683,7 +1731,7 @@ }, { "cell_type": "code", - "execution_count": 72, + "execution_count": 68, "metadata": {}, "outputs": [], "source": [ @@ -1692,16 +1740,16 @@ }, { "cell_type": "code", - "execution_count": 73, + "execution_count": 69, "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "" + "" ] }, - "execution_count": 73, + "execution_count": 69, "metadata": {}, "output_type": "execute_result" } @@ -1712,7 +1760,7 @@ }, { "cell_type": "code", - "execution_count": 74, + "execution_count": 70, "metadata": {}, "outputs": [ { @@ -1734,12 +1782,12 @@ } ], "source": [ - "Adapter.toDf(geo_json_rdd, spark).drop(\"AWATER\").show(5, True)" + "Adapter.toDf(geo_json_rdd, sedona).drop(\"AWATER\").show(5, True)" ] }, { "cell_type": "code", - "execution_count": 75, + "execution_count": 71, "metadata": {}, "outputs": [], "source": [ @@ -1748,7 +1796,7 @@ }, { "cell_type": "code", - "execution_count": 76, + "execution_count": 72, "metadata": {}, "outputs": [], "source": [ @@ -1757,16 +1805,16 @@ }, { "cell_type": "code", - "execution_count": 77, + "execution_count": 73, "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "" + "" ] }, - "execution_count": 77, + "execution_count": 73, "metadata": {}, "output_type": "execute_result" } @@ -1777,7 +1825,7 @@ }, { "cell_type": "code", - "execution_count": 78, + "execution_count": 74, "metadata": {}, "outputs": [ { @@ -1791,12 +1839,12 @@ } ], "source": [ - "Adapter.toDf(wkt_rdd, spark).printSchema()" + "Adapter.toDf(wkt_rdd, sedona).printSchema()" ] }, { "cell_type": "code", - "execution_count": 79, + "execution_count": 75, "metadata": {}, "outputs": [ { @@ -1818,12 +1866,12 @@ } ], "source": [ - "Adapter.toDf(wkt_rdd, spark).show(5, True)" + "Adapter.toDf(wkt_rdd, sedona).show(5, True)" ] }, { "cell_type": "code", - "execution_count": 80, + "execution_count": 76, "metadata": {}, "outputs": [], "source": [ @@ -1832,7 +1880,7 @@ }, { "cell_type": "code", - "execution_count": 81, + "execution_count": 77, "metadata": {}, "outputs": [], "source": [ @@ -1841,7 +1889,7 @@ }, { "cell_type": "code", - "execution_count": 82, + "execution_count": 78, "metadata": {}, "outputs": [ { @@ -1863,7 +1911,7 @@ } ], "source": [ - "Adapter.toDf(wkb_rdd, spark).show(5, True)" + "Adapter.toDf(wkb_rdd, sedona).show(5, True)" ] }, { @@ -1875,7 +1923,7 @@ }, { "cell_type": "code", - "execution_count": 83, + "execution_count": 79, "metadata": {}, "outputs": [], "source": [ @@ -1889,17 +1937,17 @@ }, { "cell_type": "code", - "execution_count": 84, + "execution_count": 80, "metadata": {}, "outputs": [], "source": [ "# without passing column names, the result will contain only two geometries columns\n", - "geometry_df = Adapter.toDf(result, spark)" + "geometry_df = Adapter.toDf(result, sedona)" ] }, { "cell_type": "code", - "execution_count": 85, + "execution_count": 81, "metadata": {}, "outputs": [ { @@ -1919,7 +1967,7 @@ }, { "cell_type": "code", - "execution_count": 86, + "execution_count": 82, "metadata": {}, "outputs": [ { @@ -1929,11 +1977,11 @@ "+--------------------+--------------------+\n", "| leftgeometry| rightgeometry|\n", "+--------------------+--------------------+\n", - "|POLYGON ((-87.229...|POINT (-87.105455...|\n", - "|POLYGON ((-87.229...|POINT (-87.10534 ...|\n", - "|POLYGON ((-87.229...|POINT (-87.160372...|\n", - "|POLYGON ((-87.229...|POINT (-87.204033...|\n", - "|POLYGON ((-87.229...|POINT (-87.204299...|\n", + "|POLYGON ((-87.285...|POINT (-87.28468 ...|\n", + "|POLYGON ((-87.285...|POINT (-87.215491...|\n", + "|POLYGON ((-87.285...|POINT (-87.210001...|\n", + "|POLYGON ((-87.285...|POINT (-87.278485...|\n", + "|POLYGON ((-87.285...|POINT (-87.280556...|\n", "+--------------------+--------------------+\n", "only showing top 5 rows\n", "\n" @@ -1946,16 +1994,16 @@ }, { "cell_type": "code", - "execution_count": 87, + "execution_count": 83, "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "Row(leftgeometry=, rightgeometry=)" + "Row(leftgeometry=, rightgeometry=)" ] }, - "execution_count": 87, + "execution_count": 83, "metadata": {}, "output_type": "execute_result" } @@ -1973,16 +2021,16 @@ }, { "cell_type": "code", - "execution_count": 88, + "execution_count": 84, "metadata": {}, "outputs": [], "source": [ - "geometry_df = Adapter.toDf(result, [\"left_user_data\"], [\"right_user_data\"], spark)" + "geometry_df = Adapter.toDf(result, [\"left_user_data\"], [\"right_user_data\"], sedona)" ] }, { "cell_type": "code", - "execution_count": 89, + "execution_count": 85, "metadata": {}, "outputs": [ { @@ -1992,11 +2040,11 @@ "+--------------------+--------------+--------------------+---------------+\n", "| leftgeometry|left_user_data| rightgeometry|right_user_data|\n", "+--------------------+--------------+--------------------+---------------+\n", - "|POLYGON ((-87.229...| |POINT (-87.105455...| null|\n", - "|POLYGON ((-87.229...| |POINT (-87.10534 ...| null|\n", - "|POLYGON ((-87.229...| |POINT (-87.160372...| null|\n", - "|POLYGON ((-87.229...| |POINT (-87.204033...| null|\n", - "|POLYGON ((-87.229...| |POINT (-87.204299...| null|\n", + "|POLYGON ((-87.285...| |POINT (-87.28468 ...| null|\n", + "|POLYGON ((-87.285...| |POINT (-87.215491...| null|\n", + "|POLYGON ((-87.285...| |POINT (-87.210001...| null|\n", + "|POLYGON ((-87.285...| |POINT (-87.278485...| null|\n", + "|POLYGON ((-87.285...| |POINT (-87.280556...| null|\n", "+--------------------+--------------+--------------------+---------------+\n", "only showing top 5 rows\n", "\n" @@ -2016,7 +2064,7 @@ }, { "cell_type": "code", - "execution_count": 90, + "execution_count": 86, "metadata": {}, "outputs": [], "source": [ @@ -2027,17 +2075,17 @@ }, { "cell_type": "code", - "execution_count": 91, + "execution_count": 87, "metadata": {}, "outputs": [], "source": [ "# converting to df\n", - "gdf = Adapter.toDf(result_range_query, spark)" + "gdf = Adapter.toDf(result_range_query, sedona)" ] }, { "cell_type": "code", - "execution_count": 92, + "execution_count": 88, "metadata": {}, "outputs": [ { @@ -2064,7 +2112,7 @@ }, { "cell_type": "code", - "execution_count": 93, + "execution_count": 89, "metadata": {}, "outputs": [ { @@ -2083,18 +2131,18 @@ }, { "cell_type": "code", - "execution_count": 94, + "execution_count": 90, "metadata": {}, "outputs": [], "source": [ "# Passing column names\n", "# converting to df\n", - "gdf_with_columns = Adapter.toDf(result_range_query, spark, [\"_c1\"])" + "gdf_with_columns = Adapter.toDf(result_range_query, sedona, [\"_c1\"])" ] }, { "cell_type": "code", - "execution_count": 95, + "execution_count": 91, "metadata": {}, "outputs": [ { @@ -2121,7 +2169,7 @@ }, { "cell_type": "code", - "execution_count": 96, + "execution_count": 92, "metadata": {}, "outputs": [ { @@ -2138,13 +2186,20 @@ "source": [ "gdf_with_columns.printSchema()" ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] } ], "metadata": { "kernelspec": { - "display_name": "Python 3 (ipykernel)", + "display_name": "apache-sedona", "language": "python", - "name": "python3" + "name": "apache-sedona" }, "language_info": { "codemirror_mode": { @@ -2156,7 +2211,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.7.12" + "version": "3.9.6" } }, "nbformat": 4, diff --git a/binder/ApacheSedonaRaster.ipynb b/binder/ApacheSedonaRaster.ipynb index 525e7d6d3c..d3c3b8ae0b 100644 --- a/binder/ApacheSedonaRaster.ipynb +++ b/binder/ApacheSedonaRaster.ipynb @@ -34,11 +34,9 @@ "import pandas as pd\n", "from pyspark.sql.types import StructType, StructField,StringType, LongType, IntegerType, DoubleType, ArrayType\n", "from pyspark.sql.functions import regexp_replace\n", - "from sedona.register import SedonaRegistrator\n", - "from sedona.utils import SedonaKryoRegistrator, KryoSerializer\n", "from pyspark.sql.functions import col, split, expr\n", "from pyspark.sql.functions import udf, lit\n", - "from sedona.utils import SedonaKryoRegistrator, KryoSerializer\n", + "from sedona.spark import *\n", "from pyspark.sql.functions import col, split, expr\n", "from pyspark.sql.functions import udf, lit\n", "import os\n" @@ -53,21 +51,57 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": 2, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + ":: loading settings :: url = jar:file:/Users/nileshgajwani/Desktop/spark/spark-3.4.0-bin-hadoop3/jars/ivy-2.5.1.jar!/org/apache/ivy/core/settings/ivysettings.xml\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Ivy Default Cache set to: /Users/nileshgajwani/.ivy2/cache\n", + "The jars for the packages stored in: /Users/nileshgajwani/.ivy2/jars\n", + "org.apache.sedona#sedona-spark-shaded-3.0_2.12 added as a dependency\n", + "org.datasyslab#geotools-wrapper added as a dependency\n", + ":: resolving dependencies :: org.apache.spark#spark-submit-parent-f6cc1c05-35e7-48b0-8060-745906834ca0;1.0\n", + "\tconfs: [default]\n", + "\tfound org.apache.sedona#sedona-spark-shaded-3.0_2.12;1.4.1 in central\n", + "\tfound org.datasyslab#geotools-wrapper;1.4.0-28.2 in central\n", + ":: resolution report :: resolve 79ms :: artifacts dl 2ms\n", + "\t:: modules in use:\n", + "\torg.apache.sedona#sedona-spark-shaded-3.0_2.12;1.4.1 from central in [default]\n", + "\torg.datasyslab#geotools-wrapper;1.4.0-28.2 from central in [default]\n", + "\t---------------------------------------------------------------------\n", + "\t| | modules || artifacts |\n", + "\t| conf | number| search|dwnlded|evicted|| number|dwnlded|\n", + "\t---------------------------------------------------------------------\n", + "\t| default | 2 | 0 | 0 | 0 || 2 | 0 |\n", + "\t---------------------------------------------------------------------\n", + ":: retrieving :: org.apache.spark#spark-submit-parent-f6cc1c05-35e7-48b0-8060-745906834ca0\n", + "\tconfs: [default]\n", + "\t0 artifacts copied, 2 already retrieved (0kB/3ms)\n", + "23/06/30 14:06:36 WARN NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable\n", + "Setting default log level to \"WARN\".\n", + "To adjust logging level use sc.setLogLevel(newLevel). For SparkR, use setLogLevel(newLevel).\n" + ] + } + ], "source": [ - "spark = SparkSession.\\\n", - " builder.\\\n", - " master(\"local[*]\").\\\n", - " appName(\"Demo-app\").\\\n", - " config(\"spark.serializer\", KryoSerializer.getName).\\\n", - " config(\"spark.kryo.registrator\", SedonaKryoRegistrator.getName) .\\\n", - " config(\"spark.jars.packages\", \"org.apache.sedona:sedona-spark-shaded-3.0_2.12:1.4.0,org.datasyslab:geotools-wrapper:1.4.0-28.2\") .\\\n", + "config = SedonaContext.builder() .\\\n", + " config('spark.jars.packages',\n", + " 'org.apache.sedona:sedona-spark-shaded-3.0_2.12:1.4.1,'\n", + " 'org.datasyslab:geotools-wrapper:1.4.0-28.2'). \\\n", " getOrCreate()\n", "\n", - "SedonaRegistrator.registerAll(spark)\n", - "sc = spark.sparkContext\n" + "sedona = SedonaContext.create(config)\n", + "\n", + "sc = sedona.sparkContext\n" ] }, { @@ -92,7 +126,7 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": 5, "metadata": { "scrolled": true }, @@ -115,15 +149,23 @@ } ], "source": [ - "df = spark.read.format(\"geotiff\").option(\"dropInvalid\",True).option(\"readToCRS\", \"EPSG:4326\").option(\"disableErrorInCRS\", False).load(DATA_DIR)\n", + "df = sedona.read.format(\"geotiff\").option(\"dropInvalid\",True).option(\"readToCRS\", \"EPSG:4326\").option(\"disableErrorInCRS\", False).load(DATA_DIR)\n", "df.printSchema()" ] }, { "cell_type": "code", - "execution_count": 5, + "execution_count": 6, "metadata": {}, "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "\r", + "[Stage 3:> (0 + 1) / 1]\r" + ] + }, { "name": "stdout", "output_type": "stream", @@ -131,11 +173,19 @@ "+--------------------+--------------------+------+-----+--------------------+-----+\n", "| origin| Geom|height|width| data|bands|\n", "+--------------------+--------------------+------+-----+--------------------+-----+\n", - "|file:///media/kch...|POLYGON ((-58.702...| 32| 32|[1081.0, 1068.0, ...| 4|\n", - "|file:///media/kch...|POLYGON ((-58.286...| 32| 32|[1151.0, 1141.0, ...| 4|\n", + "|file:/Users/niles...|POLYGON ((-58.702...| 32| 32|[1081.0, 1068.0, ...| 4|\n", + "|file:/Users/niles...|POLYGON ((-58.286...| 32| 32|[1151.0, 1141.0, ...| 4|\n", "+--------------------+--------------------+------+-----+--------------------+-----+\n", "\n" ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "\r", + " \r" + ] } ], "source": [ @@ -152,7 +202,7 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": 7, "metadata": {}, "outputs": [ { @@ -186,7 +236,7 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": 8, "metadata": {}, "outputs": [ { @@ -212,7 +262,7 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": 9, "metadata": {}, "outputs": [ { @@ -237,7 +287,7 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": 10, "metadata": {}, "outputs": [ { @@ -262,7 +312,7 @@ }, { "cell_type": "code", - "execution_count": 10, + "execution_count": 11, "metadata": {}, "outputs": [ { @@ -281,13 +331,13 @@ ], "source": [ "'''RS_GreaterThan() is used to mask all the values with 1 which are greater than a particular threshold'''\n", - "greaterthanDF = spark.sql(\"Select RS_GreaterThan(Band1,1000.0) as greaterthan from allbands\")\n", + "greaterthanDF = sedona.sql(\"Select RS_GreaterThan(Band1,1000.0) as greaterthan from allbands\")\n", "greaterthanDF.show()" ] }, { "cell_type": "code", - "execution_count": 11, + "execution_count": 12, "metadata": {}, "outputs": [ { @@ -307,13 +357,13 @@ "source": [ "'''RS_GreaterThanEqual() is used to mask all the values with 1 which are greater than a particular threshold'''\n", "\n", - "greaterthanEqualDF = spark.sql(\"Select RS_GreaterThanEqual(Band1,360.0) as greaterthanEqual from allbands\")\n", + "greaterthanEqualDF = sedona.sql(\"Select RS_GreaterThanEqual(Band1,360.0) as greaterthanEqual from allbands\")\n", "greaterthanEqualDF.show()" ] }, { "cell_type": "code", - "execution_count": 12, + "execution_count": 14, "metadata": {}, "outputs": [ { @@ -332,13 +382,13 @@ ], "source": [ "'''RS_LessThan() is used to mask all the values with 1 which are less than a particular threshold'''\n", - "lessthanDF = spark.sql(\"Select RS_LessThan(Band1,1000.0) as lessthan from allbands\")\n", + "lessthanDF = sedona.sql(\"Select RS_LessThan(Band1,1000.0) as lessthan from allbands\")\n", "lessthanDF.show()" ] }, { "cell_type": "code", - "execution_count": 13, + "execution_count": 15, "metadata": {}, "outputs": [ { @@ -357,13 +407,13 @@ ], "source": [ "'''RS_LessThanEqual() is used to mask all the values with 1 which are less than equal to a particular threshold'''\n", - "lessthanEqualDF = spark.sql(\"Select RS_LessThanEqual(Band1,2890.0) as lessthanequal from allbands\")\n", + "lessthanEqualDF = sedona.sql(\"Select RS_LessThanEqual(Band1,2890.0) as lessthanequal from allbands\")\n", "lessthanEqualDF.show()" ] }, { "cell_type": "code", - "execution_count": 14, + "execution_count": 16, "metadata": {}, "outputs": [ { @@ -388,7 +438,7 @@ }, { "cell_type": "code", - "execution_count": 15, + "execution_count": 17, "metadata": {}, "outputs": [ { @@ -413,7 +463,7 @@ }, { "cell_type": "code", - "execution_count": 16, + "execution_count": 18, "metadata": {}, "outputs": [ { @@ -438,7 +488,7 @@ }, { "cell_type": "code", - "execution_count": 17, + "execution_count": 19, "metadata": {}, "outputs": [ { @@ -463,7 +513,7 @@ }, { "cell_type": "code", - "execution_count": 18, + "execution_count": 20, "metadata": {}, "outputs": [ { @@ -488,7 +538,7 @@ }, { "cell_type": "code", - "execution_count": 19, + "execution_count": 21, "metadata": {}, "outputs": [ { @@ -513,7 +563,7 @@ }, { "cell_type": "code", - "execution_count": 20, + "execution_count": 22, "metadata": {}, "outputs": [ { @@ -538,7 +588,7 @@ }, { "cell_type": "code", - "execution_count": 21, + "execution_count": 23, "metadata": {}, "outputs": [ { @@ -563,7 +613,7 @@ }, { "cell_type": "code", - "execution_count": 22, + "execution_count": 24, "metadata": {}, "outputs": [ { @@ -588,7 +638,7 @@ }, { "cell_type": "code", - "execution_count": 23, + "execution_count": 25, "metadata": {}, "outputs": [ { @@ -613,7 +663,7 @@ }, { "cell_type": "code", - "execution_count": 24, + "execution_count": 26, "metadata": {}, "outputs": [ { @@ -638,7 +688,7 @@ }, { "cell_type": "code", - "execution_count": 25, + "execution_count": 27, "metadata": {}, "outputs": [ { @@ -675,7 +725,7 @@ }, { "cell_type": "code", - "execution_count": 26, + "execution_count": 29, "metadata": {}, "outputs": [ { @@ -695,7 +745,7 @@ "source": [ "'''Plotting images as a dataframe using geotiff Dataframe.'''\n", "\n", - "df = spark.read.format(\"geotiff\").option(\"dropInvalid\",True).option(\"readToCRS\", \"EPSG:4326\").load(DATA_DIR)\n", + "df = sedona.read.format(\"geotiff\").option(\"dropInvalid\",True).option(\"readToCRS\", \"EPSG:4326\").load(DATA_DIR)\n", "df = df.selectExpr(\"image.origin as origin\",\"ST_GeomFromWkt(image.geometry) as Geom\", \"image.height as height\", \"image.width as width\", \"image.data as data\", \"image.nBands as bands\")\n", "\n", "df = df.selectExpr(\"RS_GetBand(data,1,bands) as targetband\", \"height\", \"width\", \"bands\", \"Geom\")\n", @@ -706,7 +756,7 @@ }, { "cell_type": "code", - "execution_count": 27, + "execution_count": 30, "metadata": {}, "outputs": [ { @@ -726,19 +776,19 @@ " \n", " \n", " 0\n", - " POLYGON ((-58.70271939504448 -34.41877544555479, -58.70277605822864 -34.42156988068061, -58.6994039180242 -34.42161679331493, -58.69934736692278 -34.4188223533111, -58.70271939504448 -34.41877544555479))\n", - " \n", - " \n", - " \n", - " \n", + " POLYGON ((-58.70271939504447 -34.418775445554786, -58.702776058228636 -34.421569880680615, -58.6994039180242 -34.42161679331493, -58.69934736692278 -34.4188223533111, -58.70271939504447 -34.418775445554786))\n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", " 1\n", - " POLYGON ((-58.28663657626114 -34.75858090620287, -58.28667994174946 -34.76137571668496, -58.28329340123002 -34.76141146033393, -58.28325014980316 -34.75861664615162, -58.28663657626114 -34.75858090620287))\n", - " \n", - " \n", - " \n", - " \n", + " POLYGON ((-58.286636576261145 -34.758580906202866, -58.286679941749476 -34.76137571668496, -58.28329340123003 -34.76141146033393, -58.28325014980317 -34.75861664615162, -58.286636576261145 -34.758580906202866))\n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", "" @@ -764,13 +814,13 @@ }, { "cell_type": "code", - "execution_count": 28, + "execution_count": 31, "metadata": {}, "outputs": [], "source": [ "'''Writing GeoTiff DataFrames as GeoTiff Images'''\n", "\n", - "df = spark.read.format(\"geotiff\").option(\"dropInvalid\",True).option(\"readToCRS\", \"EPSG:4326\").load(DATA_DIR)\n", + "df = sedona.read.format(\"geotiff\").option(\"dropInvalid\",True).option(\"readToCRS\", \"EPSG:4326\").load(DATA_DIR)\n", "df = df.selectExpr(\"image.origin as origin\",\"ST_GeomFromWkt(image.geometry) as Geom\", \"image.height as height\", \"image.width as width\", \"image.data as data\", \"image.nBands as bands\")\n", "\n", "SAVE_PATH = \"./data/raster-written/\"\n", @@ -779,7 +829,7 @@ }, { "cell_type": "code", - "execution_count": 29, + "execution_count": 32, "metadata": {}, "outputs": [], "source": [ @@ -789,7 +839,7 @@ }, { "cell_type": "code", - "execution_count": 30, + "execution_count": 33, "metadata": {}, "outputs": [], "source": [ @@ -805,7 +855,7 @@ }, { "cell_type": "code", - "execution_count": 31, + "execution_count": 35, "metadata": {}, "outputs": [ { @@ -825,19 +875,19 @@ " \n", " \n", " 0\n", - " POLYGON ((-58.70266723632812 -34.41881942749023, -58.70266723632812 -34.42157363891602, -58.69945526123047 -34.42157363891602, -58.69945526123047 -34.41881942749023, -58.70266723632812 -34.41881942749023))\n", - " \n", - " \n", - " \n", - " \n", + " POLYGON ((-58.702667236328125 -34.418819427490234, -58.702667236328125 -34.421573638916016, -58.69945526123047 -34.421573638916016, -58.69945526123047 -34.418819427490234, -58.702667236328125 -34.418819427490234))\n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", " 1\n", - " POLYGON ((-58.28658294677734 -34.75862503051758, -58.28658294677734 -34.76136779785156, -58.28334426879883 -34.76136779785156, -58.28334426879883 -34.75862503051758, -58.28658294677734 -34.75862503051758))\n", - " \n", - " \n", - " \n", - " \n", + " POLYGON ((-58.286582946777344 -34.75862503051758, -58.286582946777344 -34.76136779785156, -58.28334426879883 -34.76136779785156, -58.28334426879883 -34.75862503051758, -58.286582946777344 -34.75862503051758))\n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", "" @@ -853,7 +903,7 @@ "source": [ "'''Load and Visualize Written GeoTiff Image.'''\n", "\n", - "df = spark.read.format(\"geotiff\").option(\"dropInvalid\",True).option(\"readToCRS\", \"EPSG:4326\").load(writtenPath)\n", + "df = sedona.read.format(\"geotiff\").option(\"dropInvalid\",True).option(\"readToCRS\", \"EPSG:4326\").load(writtenPath)\n", "df = df.selectExpr(\"image.origin as origin\",\"ST_GeomFromWkt(image.geometry) as Geom\", \"image.height as height\", \"image.width as width\", \"image.data as data\", \"image.nBands as bands\")\n", "\n", "df = df.selectExpr(\"RS_GetBand(data,1,bands) as targetband\", \"height\", \"width\", \"bands\", \"Geom\")\n", @@ -871,7 +921,7 @@ }, { "cell_type": "code", - "execution_count": 32, + "execution_count": 37, "metadata": {}, "outputs": [ { @@ -881,8 +931,8 @@ "+--------------------+--------------------+------+-----+--------------------+-----+\n", "| origin| geom|height|width| data|bands|\n", "+--------------------+--------------------+------+-----+--------------------+-----+\n", - "|file:///media/kch...|POLYGON ((-58.702...| 32| 32|[1081.0, 1068.0, ...| 4|\n", - "|file:///media/kch...|POLYGON ((-58.286...| 32| 32|[1151.0, 1141.0, ...| 4|\n", + "|file:/Users/niles...|POLYGON ((-58.702...| 32| 32|[1081.0, 1068.0, ...| 4|\n", + "|file:/Users/niles...|POLYGON ((-58.286...| 32| 32|[1151.0, 1141.0, ...| 4|\n", "+--------------------+--------------------+------+-----+--------------------+-----+\n", "\n" ] @@ -890,14 +940,14 @@ ], "source": [ "'''First load GeoTiff Images'''\n", - "df = spark.read.format(\"geotiff\").option(\"dropInvalid\",True).option(\"readToCRS\", \"EPSG:4326\").option(\"disableErrorInCRS\", False).load(DATA_DIR)\n", + "df = sedona.read.format(\"geotiff\").option(\"dropInvalid\",True).option(\"readToCRS\", \"EPSG:4326\").option(\"disableErrorInCRS\", False).load(DATA_DIR)\n", "df = df.selectExpr(\"image.origin as origin\",\"ST_GeomFromWkt(image.geometry) as geom\", \"image.height as height\", \"image.width as width\", \"image.data as data\", \"image.nBands as bands\")\n", "df.show(5)" ] }, { "cell_type": "code", - "execution_count": 33, + "execution_count": 38, "metadata": {}, "outputs": [ { @@ -907,8 +957,8 @@ "+--------------------+--------------------+-----+------+--------------------+-----+--------------------+\n", "| origin| geom|width|height| data|bands|normalizedDifference|\n", "+--------------------+--------------------+-----+------+--------------------+-----+--------------------+\n", - "|file:///media/kch...|POLYGON ((-58.702...| 32| 32|[1081.0, 1068.0, ...| 4|[0.09, 0.08, 0.11...|\n", - "|file:///media/kch...|POLYGON ((-58.286...| 32| 32|[1151.0, 1141.0, ...| 4|[0.13, 0.09, 0.09...|\n", + "|file:/Users/niles...|POLYGON ((-58.702...| 32| 32|[1081.0, 1068.0, ...| 4|[0.09, 0.08, 0.11...|\n", + "|file:/Users/niles...|POLYGON ((-58.286...| 32| 32|[1151.0, 1141.0, ...| 4|[0.13, 0.09, 0.09...|\n", "+--------------------+--------------------+-----+------+--------------------+-----+--------------------+\n", "\n" ] @@ -924,7 +974,7 @@ }, { "cell_type": "code", - "execution_count": 34, + "execution_count": 39, "metadata": {}, "outputs": [ { @@ -934,8 +984,8 @@ "+--------------------+--------------------+--------------------+------+-----+------------+\n", "| origin| geom| data_edited|height|width|nBand_edited|\n", "+--------------------+--------------------+--------------------+------+-----+------------+\n", - "|file:///media/kch...|POLYGON ((-58.702...|[1081.0, 1068.0, ...| 32| 32| 5|\n", - "|file:///media/kch...|POLYGON ((-58.286...|[1151.0, 1141.0, ...| 32| 32| 5|\n", + "|file:/Users/niles...|POLYGON ((-58.702...|[1081.0, 1068.0, ...| 32| 32| 5|\n", + "|file:/Users/niles...|POLYGON ((-58.286...|[1151.0, 1141.0, ...| 32| 32| 5|\n", "+--------------------+--------------------+--------------------+------+-----+------------+\n", "\n" ] @@ -952,7 +1002,7 @@ }, { "cell_type": "code", - "execution_count": 35, + "execution_count": 40, "metadata": {}, "outputs": [], "source": [ @@ -970,7 +1020,7 @@ }, { "cell_type": "code", - "execution_count": 37, + "execution_count": 42, "metadata": {}, "outputs": [ { @@ -997,12 +1047,12 @@ " total+=1\n", " return total\n", "\n", - "df = spark.read.format(\"geotiff\").option(\"dropInvalid\",True).option(\"readToCRS\", \"EPSG:4326\").load(DATA_DIR)\n", + "df = sedona.read.format(\"geotiff\").option(\"dropInvalid\",True).option(\"readToCRS\", \"EPSG:4326\").load(DATA_DIR)\n", "df = df.selectExpr(\"image.origin as origin\",\"ST_GeomFromWkt(image.geometry) as Geom\", \"image.height as height\", \"image.width as width\", \"image.data as data\", \"image.nBands as bands\")\n", "df = df.selectExpr(\"RS_GetBand(data,1,bands) as targetband\", \"height\", \"width\", \"bands\", \"Geom\")\n", " \n", "calculateSum = udf(SumOfValues, DoubleType())\n", - "spark.udf.register(\"RS_Sum\", calculateSum)\n", + "sedona.udf.register(\"RS_Sum\", calculateSum)\n", "\n", "sumDF = df.selectExpr(\"RS_Sum(targetband) as sum\")\n", "sumDF.show()" @@ -1010,7 +1060,7 @@ }, { "cell_type": "code", - "execution_count": 38, + "execution_count": 43, "metadata": {}, "outputs": [ { @@ -1027,13 +1077,13 @@ " \n", " \n", " 0\n", - " POLYGON ((-58.70271939504448 -34.41877544555479, -58.70277605822864 -34.42156988068061, -58.6994039180242 -34.42161679331493, -58.69934736692278 -34.4188223533111, -58.70271939504448 -34.41877544555479))\n", - " \n", + " POLYGON ((-58.70271939504447 -34.418775445554786, -58.702776058228636 -34.421569880680615, -58.6994039180242 -34.42161679331493, -58.69934736692278 -34.4188223533111, -58.70271939504447 -34.418775445554786))\n", + " \n", " \n", " \n", " 1\n", - " POLYGON ((-58.28663657626114 -34.75858090620287, -58.28667994174946 -34.76137571668496, -58.28329340123002 -34.76141146033393, -58.28325014980316 -34.75861664615162, -58.28663657626114 -34.75858090620287))\n", - " \n", + " POLYGON ((-58.286636576261145 -34.758580906202866, -58.286679941749476 -34.76137571668496, -58.28329340123003 -34.76141146033393, -58.28325014980317 -34.75861664615162, -58.286636576261145 -34.758580906202866))\n", + " \n", " \n", " \n", "" @@ -1058,7 +1108,7 @@ " return band\n", "\n", "maskValues = udf(generatemask, ArrayType(DoubleType()))\n", - "spark.udf.register(\"RS_MaskValues\", maskValues)\n", + "sedona.udf.register(\"RS_MaskValues\", maskValues)\n", "\n", "\n", "df_base64 = df.selectExpr(\"Geom\", \"RS_Base64(height,width,RS_Normalize(targetband), RS_Array(height*width,0.0), RS_Array(height*width, 0.0), RS_MaskValues(targetband,width,height)) as region\" )\n", @@ -1076,9 +1126,9 @@ ], "metadata": { "kernelspec": { - "display_name": "Python 3 (ipykernel)", + "display_name": "apache-sedona", "language": "python", - "name": "python3" + "name": "apache-sedona" }, "language_info": { "codemirror_mode": { @@ -1090,7 +1140,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.7.12" + "version": "3.9.6" } }, "nbformat": 4, diff --git a/binder/ApacheSedonaSQL.ipynb b/binder/ApacheSedonaSQL.ipynb index 5a10271af9..a58c264eed 100644 --- a/binder/ApacheSedonaSQL.ipynb +++ b/binder/ApacheSedonaSQL.ipynb @@ -33,8 +33,7 @@ "import geopandas as gpd\n", "from pyspark.sql import SparkSession\n", "\n", - "from sedona.register import SedonaRegistrator\n", - "from sedona.utils import SedonaKryoRegistrator, KryoSerializer" + "from sedona.spark import *" ] }, { @@ -46,110 +45,51 @@ "name": "stdout", "output_type": "stream", "text": [ - ":: loading settings :: url = jar:file:/home/jovyan/spark-3.1.2-bin-hadoop3.2/jars/ivy-2.4.0.jar!/org/apache/ivy/core/settings/ivysettings.xml\n" + ":: loading settings :: url = jar:file:/Users/nileshgajwani/Desktop/spark/spark-3.4.0-bin-hadoop3/jars/ivy-2.5.1.jar!/org/apache/ivy/core/settings/ivysettings.xml\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ - "Ivy Default Cache set to: /home/jovyan/.ivy2/cache\n", - "The jars for the packages stored in: /home/jovyan/.ivy2/jars\n", - "org.apache.sedona#sedona-python-adapter-3.0_2.12 added as a dependency\n", + "Ivy Default Cache set to: /Users/nileshgajwani/.ivy2/cache\n", + "The jars for the packages stored in: /Users/nileshgajwani/.ivy2/jars\n", + "org.apache.sedona#sedona-spark-shaded-3.0_2.12 added as a dependency\n", "org.datasyslab#geotools-wrapper added as a dependency\n", - ":: resolving dependencies :: org.apache.spark#spark-submit-parent-3625fe59-a0fc-45df-ae07-108b2b675db5;1.0\n", + ":: resolving dependencies :: org.apache.spark#spark-submit-parent-ade932f0-a9e8-47af-b559-0d52a6a087e9;1.0\n", "\tconfs: [default]\n", - "\tfound org.apache.sedona#sedona-python-adapter-3.0_2.12;1.1.0-incubating in central\n", - "\tfound org.locationtech.jts#jts-core;1.18.0 in central\n", - "\tfound org.wololo#jts2geojson;0.16.1 in central\n", - "\tfound com.fasterxml.jackson.core#jackson-databind;2.12.2 in central\n", - "\tfound com.fasterxml.jackson.core#jackson-annotations;2.12.2 in central\n", - "\tfound com.fasterxml.jackson.core#jackson-core;2.12.2 in central\n", - "\tfound org.apache.sedona#sedona-core-3.0_2.12;1.1.0-incubating in central\n", - "\tfound org.apache.sedona#sedona-sql-3.0_2.12;1.1.0-incubating in central\n", - "\tfound org.datasyslab#geotools-wrapper;1.1.0-25.2 in central\n", - "downloading https://repo1.maven.org/maven2/org/apache/sedona/sedona-python-adapter-3.0_2.12/1.1.0-incubating/sedona-python-adapter-3.0_2.12-1.1.0-incubating.jar ...\n", - "\t[SUCCESSFUL ] org.apache.sedona#sedona-python-adapter-3.0_2.12;1.1.0-incubating!sedona-python-adapter-3.0_2.12.jar (85ms)\n", - "downloading https://repo1.maven.org/maven2/org/datasyslab/geotools-wrapper/1.1.0-25.2/geotools-wrapper-1.1.0-25.2.jar ...\n", - "\t[SUCCESSFUL ] org.datasyslab#geotools-wrapper;1.1.0-25.2!geotools-wrapper.jar (687ms)\n", - "downloading https://repo1.maven.org/maven2/org/locationtech/jts/jts-core/1.18.0/jts-core-1.18.0.jar ...\n", - "\t[SUCCESSFUL ] org.locationtech.jts#jts-core;1.18.0!jts-core.jar(bundle) (31ms)\n", - "downloading https://repo1.maven.org/maven2/org/wololo/jts2geojson/0.16.1/jts2geojson-0.16.1.jar ...\n", - "\t[SUCCESSFUL ] org.wololo#jts2geojson;0.16.1!jts2geojson.jar (10ms)\n", - "downloading https://repo1.maven.org/maven2/org/apache/sedona/sedona-core-3.0_2.12/1.1.0-incubating/sedona-core-3.0_2.12-1.1.0-incubating.jar ...\n", - "\t[SUCCESSFUL ] org.apache.sedona#sedona-core-3.0_2.12;1.1.0-incubating!sedona-core-3.0_2.12.jar (15ms)\n", - "downloading https://repo1.maven.org/maven2/org/apache/sedona/sedona-sql-3.0_2.12/1.1.0-incubating/sedona-sql-3.0_2.12-1.1.0-incubating.jar ...\n", - "\t[SUCCESSFUL ] org.apache.sedona#sedona-sql-3.0_2.12;1.1.0-incubating!sedona-sql-3.0_2.12.jar (24ms)\n", - "downloading https://repo1.maven.org/maven2/com/fasterxml/jackson/core/jackson-databind/2.12.2/jackson-databind-2.12.2.jar ...\n", - "\t[SUCCESSFUL ] com.fasterxml.jackson.core#jackson-databind;2.12.2!jackson-databind.jar(bundle) (43ms)\n", - "downloading https://repo1.maven.org/maven2/com/fasterxml/jackson/core/jackson-annotations/2.12.2/jackson-annotations-2.12.2.jar ...\n", - "\t[SUCCESSFUL ] com.fasterxml.jackson.core#jackson-annotations;2.12.2!jackson-annotations.jar(bundle) (11ms)\n", - "downloading https://repo1.maven.org/maven2/com/fasterxml/jackson/core/jackson-core/2.12.2/jackson-core-2.12.2.jar ...\n", - "\t[SUCCESSFUL ] com.fasterxml.jackson.core#jackson-core;2.12.2!jackson-core.jar(bundle) (17ms)\n", - ":: resolution report :: resolve 9110ms :: artifacts dl 931ms\n", + "\tfound org.apache.sedona#sedona-spark-shaded-3.0_2.12;1.4.1 in central\n", + "\tfound org.datasyslab#geotools-wrapper;1.4.0-28.2 in central\n", + ":: resolution report :: resolve 81ms :: artifacts dl 2ms\n", "\t:: modules in use:\n", - "\tcom.fasterxml.jackson.core#jackson-annotations;2.12.2 from central in [default]\n", - "\tcom.fasterxml.jackson.core#jackson-core;2.12.2 from central in [default]\n", - "\tcom.fasterxml.jackson.core#jackson-databind;2.12.2 from central in [default]\n", - "\torg.apache.sedona#sedona-core-3.0_2.12;1.1.0-incubating from central in [default]\n", - "\torg.apache.sedona#sedona-python-adapter-3.0_2.12;1.1.0-incubating from central in [default]\n", - "\torg.apache.sedona#sedona-sql-3.0_2.12;1.1.0-incubating from central in [default]\n", - "\torg.datasyslab#geotools-wrapper;1.1.0-25.2 from central in [default]\n", - "\torg.locationtech.jts#jts-core;1.18.0 from central in [default]\n", - "\torg.wololo#jts2geojson;0.16.1 from central in [default]\n", - "\t:: evicted modules:\n", - "\torg.locationtech.jts#jts-core;1.18.1 by [org.locationtech.jts#jts-core;1.18.0] in [default]\n", + "\torg.apache.sedona#sedona-spark-shaded-3.0_2.12;1.4.1 from central in [default]\n", + "\torg.datasyslab#geotools-wrapper;1.4.0-28.2 from central in [default]\n", "\t---------------------------------------------------------------------\n", "\t| | modules || artifacts |\n", "\t| conf | number| search|dwnlded|evicted|| number|dwnlded|\n", "\t---------------------------------------------------------------------\n", - "\t| default | 10 | 9 | 9 | 1 || 9 | 9 |\n", + "\t| default | 2 | 0 | 0 | 0 || 2 | 0 |\n", "\t---------------------------------------------------------------------\n", - ":: retrieving :: org.apache.spark#spark-submit-parent-3625fe59-a0fc-45df-ae07-108b2b675db5\n", + ":: retrieving :: org.apache.spark#spark-submit-parent-ade932f0-a9e8-47af-b559-0d52a6a087e9\n", "\tconfs: [default]\n", - "\t9 artifacts copied, 0 already retrieved (35019kB/52ms)\n", - "22/08/28 04:59:46 WARN NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable\n", - "Using Spark's default log4j profile: org/apache/spark/log4j-defaults.properties\n", + "\t0 artifacts copied, 2 already retrieved (0kB/2ms)\n", + "23/07/03 21:13:44 WARN NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable\n", "Setting default log level to \"WARN\".\n", - "To adjust logging level use sc.setLogLevel(newLevel). For SparkR, use setLogLevel(newLevel).\n" - ] - } - ], - "source": [ - "spark = SparkSession. \\\n", - " builder. \\\n", - " appName('appName'). \\\n", - " config(\"spark.serializer\", KryoSerializer.getName). \\\n", - " config(\"spark.kryo.registrator\", SedonaKryoRegistrator.getName). \\\n", - " config(\"spark.jars.packages\", \"org.apache.sedona:sedona-spark-shaded-3.0_2.12:1.4.0,org.datasyslab:geotools-wrapper:1.4.0-28.2\") .\\\n", - " getOrCreate()" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ + "To adjust logging level use sc.setLogLevel(newLevel). For SparkR, use setLogLevel(newLevel).\n", + "23/07/03 21:13:44 WARN Utils: Service 'SparkUI' could not bind on port 4040. Attempting port 4041.\n", + "23/07/03 21:13:44 WARN Utils: Service 'SparkUI' could not bind on port 4041. Attempting port 4042.\n", " \r" ] - }, - { - "data": { - "text/plain": [ - "True" - ] - }, - "execution_count": 3, - "metadata": {}, - "output_type": "execute_result" } ], "source": [ - "SedonaRegistrator.registerAll(spark)" + "config = SedonaContext.builder() .\\\n", + " config('spark.jars.packages',\n", + " 'org.apache.sedona:sedona-spark-shaded-3.0_2.12:1.4.1,'\n", + " 'org.datasyslab:geotools-wrapper:1.4.0-28.2'). \\\n", + " getOrCreate()\n", + "\n", + "sedona = SedonaContext.create(config)\n" ] }, { @@ -168,7 +108,7 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": 3, "metadata": {}, "outputs": [ { @@ -190,14 +130,14 @@ } ], "source": [ - "point_csv_df = spark.read.format(\"csv\").\\\n", + "point_csv_df = sedona.read.format(\"csv\").\\\n", " option(\"delimiter\", \",\").\\\n", " option(\"header\", \"false\").\\\n", " load(\"data/testpoint.csv\")\n", "\n", "point_csv_df.createOrReplaceTempView(\"pointtable\")\n", "\n", - "point_df = spark.sql(\"select ST_Point(cast(pointtable._c0 as Decimal(24,20)), cast(pointtable._c1 as Decimal(24,20))) as arealandmark from pointtable\")\n", + "point_df = sedona.sql(\"select ST_Point(cast(pointtable._c0 as Decimal(24,20)), cast(pointtable._c1 as Decimal(24,20))) as arealandmark from pointtable\")\n", "point_df.show(5)" ] }, @@ -210,7 +150,7 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": 4, "metadata": {}, "outputs": [ { @@ -232,13 +172,13 @@ } ], "source": [ - "polygon_wkt_df = spark.read.format(\"csv\").\\\n", + "polygon_wkt_df = sedona.read.format(\"csv\").\\\n", " option(\"delimiter\", \"\\t\").\\\n", " option(\"header\", \"false\").\\\n", " load(\"data/county_small.tsv\")\n", "\n", "polygon_wkt_df.createOrReplaceTempView(\"polygontable\")\n", - "polygon_df = spark.sql(\"select polygontable._c6 as name, ST_GeomFromText(polygontable._c0) as countyshape from polygontable\")\n", + "polygon_df = sedona.sql(\"select polygontable._c6 as name, ST_GeomFromText(polygontable._c0) as countyshape from polygontable\")\n", "polygon_df.show(5)" ] }, @@ -251,7 +191,7 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": 5, "metadata": {}, "outputs": [ { @@ -273,13 +213,13 @@ } ], "source": [ - "polygon_wkb_df = spark.read.format(\"csv\").\\\n", + "polygon_wkb_df = sedona.read.format(\"csv\").\\\n", " option(\"delimiter\", \"\\t\").\\\n", " option(\"header\", \"false\").\\\n", " load(\"data/county_small_wkb.tsv\")\n", "\n", "polygon_wkb_df.createOrReplaceTempView(\"polygontable\")\n", - "polygon_df = spark.sql(\"select polygontable._c6 as name, ST_GeomFromWKB(polygontable._c0) as countyshape from polygontable\")\n", + "polygon_df = sedona.sql(\"select polygontable._c6 as name, ST_GeomFromWKB(polygontable._c0) as countyshape from polygontable\")\n", "polygon_df.show(5)" ] }, @@ -292,7 +232,7 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": 6, "metadata": {}, "outputs": [ { @@ -314,13 +254,13 @@ } ], "source": [ - "polygon_json_df = spark.read.format(\"csv\").\\\n", + "polygon_json_df = sedona.read.format(\"csv\").\\\n", " option(\"delimiter\", \"\\t\").\\\n", " option(\"header\", \"false\").\\\n", " load(\"data/testPolygon.json\")\n", "\n", "polygon_json_df.createOrReplaceTempView(\"polygontable\")\n", - "polygon_df = spark.sql(\"select ST_GeomFromGeoJSON(polygontable._c0) as countyshape from polygontable\")\n", + "polygon_df = sedona.sql(\"select ST_GeomFromGeoJSON(polygontable._c0) as countyshape from polygontable\")\n", "polygon_df.show(5)" ] }, @@ -340,7 +280,7 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": 7, "metadata": {}, "outputs": [ { @@ -348,26 +288,14 @@ "output_type": "stream", "text": [ "== Physical Plan ==\n", - "DistanceJoin pointshape1#259: geometry, pointshape2#283: geometry, 2.0, false\n", - ":- Project [st_point(cast(_c0#255 as decimal(24,20)), cast(_c1#256 as decimal(24,20))) AS pointshape1#259, abc AS name1#260]\n", - ": +- FileScan csv [_c0#255,_c1#256] Batched: false, DataFilters: [], Format: CSV, Location: InMemoryFileIndex[file:/home/jovyan/binder/data/testpoint.csv], PartitionFilters: [], PushedFilters: [], ReadSchema: struct<_c0:string,_c1:string>\n", - "+- Project [st_point(cast(_c0#279 as decimal(24,20)), cast(_c1#280 as decimal(24,20))) AS pointshape2#283, def AS name2#284]\n", - " +- FileScan csv [_c0#279,_c1#280] Batched: false, DataFilters: [], Format: CSV, Location: InMemoryFileIndex[file:/home/jovyan/binder/data/testpoint.csv], PartitionFilters: [], PushedFilters: [], ReadSchema: struct<_c0:string,_c1:string>\n", + "BroadcastIndexJoin pointshape2#253: geometry, LeftSide, LeftSide, Inner, INTERSECTS, ( **org.apache.spark.sql.sedona_sql.expressions.ST_Distance** < 2.0) ST_INTERSECTS(pointshape1#228, pointshape2#253)\n", + ":- SpatialIndex pointshape1#228: geometry, QUADTREE, false, 2.0\n", + ": +- Project [ **org.apache.spark.sql.sedona_sql.expressions.ST_Point** AS pointshape1#228, abc AS name1#229]\n", + ": +- FileScan csv [_c0#224,_c1#225] Batched: false, DataFilters: [], Format: CSV, Location: InMemoryFileIndex(1 paths)[file:/Users/nileshgajwani/Desktop/sedona/sedona/binder/data/testpoint...., PartitionFilters: [], PushedFilters: [], ReadSchema: struct<_c0:string,_c1:string>\n", + "+- Project [ **org.apache.spark.sql.sedona_sql.expressions.ST_Point** AS pointshape2#253, def AS name2#254]\n", + " +- FileScan csv [_c0#249,_c1#250] Batched: false, DataFilters: [], Format: CSV, Location: InMemoryFileIndex(1 paths)[file:/Users/nileshgajwani/Desktop/sedona/sedona/binder/data/testpoint...., PartitionFilters: [], PushedFilters: [], ReadSchema: struct<_c0:string,_c1:string>\n", + "\n", "\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "22/08/28 05:00:01 WARN JoinQuery: UseIndex is true, but no index exists. Will build index on the fly.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ "+-----------------+-----+-----------------+-----+\n", "| pointshape1|name1| pointshape2|name2|\n", "+-----------------+-----+-----------------+-----+\n", @@ -383,24 +311,24 @@ } ], "source": [ - "point_csv_df_1 = spark.read.format(\"csv\").\\\n", + "point_csv_df_1 = sedona.read.format(\"csv\").\\\n", " option(\"delimiter\", \",\").\\\n", " option(\"header\", \"false\").load(\"data/testpoint.csv\")\n", "\n", "point_csv_df_1.createOrReplaceTempView(\"pointtable\")\n", "\n", - "point_df1 = spark.sql(\"SELECT ST_Point(cast(pointtable._c0 as Decimal(24,20)),cast(pointtable._c1 as Decimal(24,20))) as pointshape1, \\'abc\\' as name1 from pointtable\")\n", + "point_df1 = sedona.sql(\"SELECT ST_Point(cast(pointtable._c0 as Decimal(24,20)),cast(pointtable._c1 as Decimal(24,20))) as pointshape1, \\'abc\\' as name1 from pointtable\")\n", "point_df1.createOrReplaceTempView(\"pointdf1\")\n", "\n", - "point_csv_df2 = spark.read.format(\"csv\").\\\n", + "point_csv_df2 = sedona.read.format(\"csv\").\\\n", " option(\"delimiter\", \",\").\\\n", " option(\"header\", \"false\").load(\"data/testpoint.csv\")\n", "\n", "point_csv_df2.createOrReplaceTempView(\"pointtable\")\n", - "point_df2 = spark.sql(\"select ST_Point(cast(pointtable._c0 as Decimal(24,20)),cast(pointtable._c1 as Decimal(24,20))) as pointshape2, \\'def\\' as name2 from pointtable\")\n", + "point_df2 = sedona.sql(\"select ST_Point(cast(pointtable._c0 as Decimal(24,20)),cast(pointtable._c1 as Decimal(24,20))) as pointshape2, \\'def\\' as name2 from pointtable\")\n", "point_df2.createOrReplaceTempView(\"pointdf2\")\n", "\n", - "distance_join_df = spark.sql(\"select * from pointdf1, pointdf2 where ST_Distance(pointdf1.pointshape1,pointdf2.pointshape2) < 2\")\n", + "distance_join_df = sedona.sql(\"select * from pointdf1, pointdf2 where ST_Distance(pointdf1.pointshape1,pointdf2.pointshape2) < 2\")\n", "distance_join_df.explain()\n", "distance_join_df.show(5)" ] @@ -423,30 +351,21 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": 8, "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/srv/conda/envs/notebook/lib/python3.7/site-packages/geopandas/geodataframe.py:35: ShapelyDeprecationWarning: The array interface is deprecated and will no longer work in Shapely 2.0. Convert the '.coords' to a numpy array instead.\n", - " out = from_shapely(data)\n" - ] - } - ], + "outputs": [], "source": [ "import pandas as pd\n", "gdf = gpd.read_file(\"data/gis_osm_pois_free_1.shp\")\n", "gdf = gdf.replace(pd.NA, '')\n", - "osm_points = spark.createDataFrame(\n", + "osm_points = sedona.createDataFrame(\n", " gdf\n", ")" ] }, { "cell_type": "code", - "execution_count": 10, + "execution_count": 9, "metadata": {}, "outputs": [ { @@ -469,16 +388,9 @@ }, { "cell_type": "code", - "execution_count": 11, + "execution_count": 10, "metadata": {}, "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "[Stage 17:> (0 + 1) / 1]\r" - ] - }, { "name": "stdout", "output_type": "stream", @@ -488,20 +400,13 @@ "+--------+----+---------+--------------+--------------------+\n", "|26860257|2422|camp_site| de Kroon|POINT (15.3393145...|\n", "|26860294|2406| chalet|Leśne Ustronie|POINT (14.8709625...|\n", - "|29947493|2402| motel| null|POINT (15.0946636...|\n", - "|29947498|2602| atm| null|POINT (15.0732014...|\n", - "|29947499|2401| hotel| null|POINT (15.0696777...|\n", + "|29947493|2402| motel| |POINT (15.0946636...|\n", + "|29947498|2602| atm| |POINT (15.0732014...|\n", + "|29947499|2401| hotel| |POINT (15.0696777...|\n", "+--------+----+---------+--------------+--------------------+\n", "only showing top 5 rows\n", "\n" ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - " \r" - ] } ], "source": [ @@ -510,7 +415,7 @@ }, { "cell_type": "code", - "execution_count": 12, + "execution_count": 11, "metadata": {}, "outputs": [], "source": [ @@ -519,11 +424,11 @@ }, { "cell_type": "code", - "execution_count": 13, + "execution_count": 12, "metadata": {}, "outputs": [], "source": [ - "transformed_df = spark.sql(\n", + "transformed_df = sedona.sql(\n", " \"\"\"\n", " SELECT osm_id,\n", " code,\n", @@ -536,16 +441,9 @@ }, { "cell_type": "code", - "execution_count": 14, + "execution_count": 13, "metadata": {}, "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "[Stage 18:> (0 + 1) / 1]\r" - ] - }, { "name": "stdout", "output_type": "stream", @@ -555,20 +453,13 @@ "+--------+----+---------+--------------+--------------------+\n", "|26860257|2422|camp_site| de Kroon|POINT (-3288183.3...|\n", "|26860294|2406| chalet|Leśne Ustronie|POINT (-3341183.9...|\n", - "|29947493|2402| motel| null|POINT (-3320466.5...|\n", - "|29947498|2602| atm| null|POINT (-3323205.7...|\n", - "|29947499|2401| hotel| null|POINT (-3323655.1...|\n", + "|29947493|2402| motel| |POINT (-3320466.5...|\n", + "|29947498|2602| atm| |POINT (-3323205.7...|\n", + "|29947499|2401| hotel| |POINT (-3323655.1...|\n", "+--------+----+---------+--------------+--------------------+\n", "only showing top 5 rows\n", "\n" ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - " \r" - ] } ], "source": [ @@ -577,7 +468,7 @@ }, { "cell_type": "code", - "execution_count": 15, + "execution_count": 14, "metadata": {}, "outputs": [], "source": [ @@ -586,11 +477,11 @@ }, { "cell_type": "code", - "execution_count": 16, + "execution_count": 15, "metadata": {}, "outputs": [], "source": [ - "neighbours_within_1000m = spark.sql(\"\"\"\n", + "neighbours_within_1000m = sedona.sql(\"\"\"\n", " SELECT a.osm_id AS id_1,\n", " b.osm_id AS id_2,\n", " a.geom \n", @@ -601,15 +492,14 @@ }, { "cell_type": "code", - "execution_count": 17, + "execution_count": 16, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ - "22/08/28 05:00:09 WARN JoinQuery: UseIndex is true, but no index exists. Will build index on the fly.\n", - "[Stage 22:=============================> (1 + 1) / 2]\r" + "23/07/03 21:13:53 WARN JoinQuery: UseIndex is true, but no index exists. Will build index on the fly.\n" ] }, { @@ -619,16 +509,6 @@ "+----------+---------+--------------------+\n", "| id_1| id_2| geom|\n", "+----------+---------+--------------------+\n", - "| 26860294| 26860294|POINT (-3341183.9...|\n", - "| 29947493| 29947493|POINT (-3320466.5...|\n", - "|4165181885| 29947498|POINT (-3323204.4...|\n", - "|5818905324| 29947498|POINT (-3323210.6...|\n", - "| 29947498| 29947498|POINT (-3323205.7...|\n", - "| 29947499| 29947499|POINT (-3323655.1...|\n", - "| 30077461| 29947499|POINT (-3323697.1...|\n", - "| 29947505| 29947505|POINT (-3330369.2...|\n", - "| 29947499| 30077461|POINT (-3323655.1...|\n", - "| 30077461| 30077461|POINT (-3323697.1...|\n", "| 197624402|197624402|POINT (-3383818.5...|\n", "| 197663196|197663196|POINT (-3383367.1...|\n", "| 197953474|197953474|POINT (-3383763.3...|\n", @@ -638,18 +518,21 @@ "|1074232906|270281140|POINT (-3385408.6...|\n", "| 270306609|270306609|POINT (-3383982.8...|\n", "| 270306746|270306746|POINT (-3383898.4...|\n", - "| 273101780|273101780|POINT (-3389705.7...|\n", + "| 280402616|280402616|POINT (-3378817.6...|\n", + "| 839725400|280402616|POINT (-3378841.1...|\n", + "| 293896571|293896571|POINT (-3385029.0...|\n", + "|3256728465|293896571|POINT (-3385002.4...|\n", + "| 310838954|310838954|POINT (-3390510.5...|\n", + "| 311395303|311395303|POINT (-3389444.4...|\n", + "| 311395425|311395425|POINT (-3389867.6...|\n", + "|6339786017|311395425|POINT (-3389850.1...|\n", + "| 825853330|311395425|POINT (-3389877.4...|\n", + "| 945009922|311395425|POINT (-3389878.6...|\n", + "| 320100848|320100848|POINT (-3389610.6...|\n", "+----------+---------+--------------------+\n", "only showing top 20 rows\n", "\n" ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - " \r" - ] } ], "source": [ @@ -665,15 +548,14 @@ }, { "cell_type": "code", - "execution_count": 18, + "execution_count": 17, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ - "22/08/28 05:00:15 WARN JoinQuery: UseIndex is true, but no index exists. Will build index on the fly.\n", - " \r" + "23/07/03 21:13:54 WARN JoinQuery: UseIndex is true, but no index exists. Will build index on the fly.\n" ] } ], @@ -683,7 +565,7 @@ }, { "cell_type": "code", - "execution_count": 19, + "execution_count": 18, "metadata": {}, "outputs": [], "source": [ @@ -692,7 +574,7 @@ }, { "cell_type": "code", - "execution_count": 20, + "execution_count": 19, "metadata": {}, "outputs": [ { @@ -724,33 +606,33 @@ " \n", " \n", " 0\n", - " 26860294\n", - " 26860294\n", - " POINT (-3341183.976 4318356.064)\n", + " 197624402\n", + " 197624402\n", + " POINT (-3383818.580 4179182.169)\n", " \n", " \n", " 1\n", - " 29947493\n", - " 29947493\n", - " POINT (-3320466.547 4265941.760)\n", + " 197663196\n", + " 197663196\n", + " POINT (-3383367.151 4179427.096)\n", " \n", " \n", " 2\n", - " 4165181885\n", - " 29947498\n", - " POINT (-3323204.491 4266510.379)\n", + " 197953474\n", + " 197953474\n", + " POINT (-3383763.332 4179408.785)\n", " \n", " \n", " 3\n", - " 5818905324\n", - " 29947498\n", - " POINT (-3323210.654 4266502.772)\n", + " 262310516\n", + " 262310516\n", + " POINT (-3384257.682 4178033.053)\n", " \n", " \n", " 4\n", - " 29947498\n", - " 29947498\n", - " POINT (-3323205.784 4266548.416)\n", + " 1074233123\n", + " 262310516\n", + " POINT (-3384262.187 4178036.442)\n", " \n", " \n", " ...\n", @@ -760,27 +642,27 @@ " \n", " \n", " 45314\n", - " 6815618439\n", - " 6815618435\n", - " POINT (-3285827.820 4250345.966)\n", + " 6785548354\n", + " 6785548354\n", + " POINT (-3271487.870 4337964.529)\n", " \n", " \n", " 45315\n", - " 6815618435\n", - " 6815618439\n", - " POINT (-3285831.862 4250347.684)\n", + " 6785548356\n", + " 6785548356\n", + " POINT (-3273379.389 4338379.126)\n", " \n", " \n", " 45316\n", - " 6815618439\n", - " 6815618439\n", - " POINT (-3285827.820 4250345.966)\n", + " 6785548357\n", + " 6785548357\n", + " POINT (-3273745.222 4338528.241)\n", " \n", " \n", " 45317\n", - " 6815883980\n", - " 6815883980\n", - " POINT (-3286165.443 4249818.008)\n", + " 6785548358\n", + " 6785548358\n", + " POINT (-3273027.996 4338093.401)\n", " \n", " \n", " 45318\n", @@ -795,22 +677,22 @@ ], "text/plain": [ " id_1 id_2 geom\n", - "0 26860294 26860294 POINT (-3341183.976 4318356.064)\n", - "1 29947493 29947493 POINT (-3320466.547 4265941.760)\n", - "2 4165181885 29947498 POINT (-3323204.491 4266510.379)\n", - "3 5818905324 29947498 POINT (-3323210.654 4266502.772)\n", - "4 29947498 29947498 POINT (-3323205.784 4266548.416)\n", + "0 197624402 197624402 POINT (-3383818.580 4179182.169)\n", + "1 197663196 197663196 POINT (-3383367.151 4179427.096)\n", + "2 197953474 197953474 POINT (-3383763.332 4179408.785)\n", + "3 262310516 262310516 POINT (-3384257.682 4178033.053)\n", + "4 1074233123 262310516 POINT (-3384262.187 4178036.442)\n", "... ... ... ...\n", - "45314 6815618439 6815618435 POINT (-3285827.820 4250345.966)\n", - "45315 6815618435 6815618439 POINT (-3285831.862 4250347.684)\n", - "45316 6815618439 6815618439 POINT (-3285827.820 4250345.966)\n", - "45317 6815883980 6815883980 POINT (-3286165.443 4249818.008)\n", + "45314 6785548354 6785548354 POINT (-3271487.870 4337964.529)\n", + "45315 6785548356 6785548356 POINT (-3273379.389 4338379.126)\n", + "45316 6785548357 6785548357 POINT (-3273745.222 4338528.241)\n", + "45317 6785548358 6785548358 POINT (-3273027.996 4338093.401)\n", "45318 6817416704 6817416704 POINT (-3214549.268 4314872.904)\n", "\n", "[45319 rows x 3 columns]" ] }, - "execution_count": 20, + "execution_count": 19, "metadata": {}, "output_type": "execute_result" } @@ -818,13 +700,20 @@ "source": [ "gdf" ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] } ], "metadata": { "kernelspec": { - "display_name": "Python 3 (ipykernel)", + "display_name": "apache-sedona", "language": "python", - "name": "python3" + "name": "apache-sedona" }, "language_info": { "codemirror_mode": { @@ -836,7 +725,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.7.12" + "version": "3.9.6" } }, "nbformat": 4, diff --git a/binder/ApacheSedonaSQL_SpatialJoin_AirportsPerCountry.ipynb b/binder/ApacheSedonaSQL_SpatialJoin_AirportsPerCountry.ipynb index 119d0c70ad..4398126372 100644 --- a/binder/ApacheSedonaSQL_SpatialJoin_AirportsPerCountry.ipynb +++ b/binder/ApacheSedonaSQL_SpatialJoin_AirportsPerCountry.ipynb @@ -34,13 +34,7 @@ "from pyspark.sql import SparkSession\n", "from pyspark.sql.functions import col, expr, when\n", "\n", - "from sedona.register import SedonaRegistrator\n", - "from sedona.utils import SedonaKryoRegistrator, KryoSerializer\n", - "from sedona.core.formatMapper.shapefileParser import ShapefileReader\n", - "from sedona.utils.adapter import Adapter\n", - "from sedona.core.enums import GridType\n", - "from sedona.core.enums import IndexType\n", - "from sedona.core.spatialOperator import JoinQueryRaw" + "from sedona.spark import *" ] }, { @@ -55,80 +49,53 @@ "execution_count": 2, "metadata": {}, "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "21/10/08 19:58:06 WARN Utils: Your hostname, Jia-MacBook-Pro.local resolves to a loopback address: 127.0.0.1; using 192.168.0.34 instead (on interface en0)\n", - "21/10/08 19:58:06 WARN Utils: Set SPARK_LOCAL_IP if you need to bind to another address\n" - ] - }, { "name": "stdout", "output_type": "stream", "text": [ - ":: loading settings :: url = jar:file:/Users/jiayu/Downloads/spark-3.1.2-bin-hadoop3.2/jars/ivy-2.4.0.jar!/org/apache/ivy/core/settings/ivysettings.xml\n" + ":: loading settings :: url = jar:file:/Users/nileshgajwani/Desktop/spark/spark-3.4.0-bin-hadoop3/jars/ivy-2.5.1.jar!/org/apache/ivy/core/settings/ivysettings.xml\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ - "Ivy Default Cache set to: /Users/jiayu/.ivy2/cache\n", - "The jars for the packages stored in: /Users/jiayu/.ivy2/jars\n", - "org.apache.sedona#sedona-python-adapter-3.0_2.12 added as a dependency\n", + "Ivy Default Cache set to: /Users/nileshgajwani/.ivy2/cache\n", + "The jars for the packages stored in: /Users/nileshgajwani/.ivy2/jars\n", + "org.apache.sedona#sedona-spark-shaded-3.0_2.12 added as a dependency\n", "org.datasyslab#geotools-wrapper added as a dependency\n", - ":: resolving dependencies :: org.apache.spark#spark-submit-parent-15133089-5026-4f0c-8975-860f756f148d;1.0\n", + ":: resolving dependencies :: org.apache.spark#spark-submit-parent-c8d6364e-e535-48bc-9161-729cb68c80b1;1.0\n", "\tconfs: [default]\n", - "\tfound org.apache.sedona#sedona-python-adapter-3.0_2.12;1.1.0-incubating in central\n", - "\tfound org.locationtech.jts#jts-core;1.18.0 in central\n", - "\tfound org.wololo#jts2geojson;0.16.1 in central\n", - "\tfound com.fasterxml.jackson.core#jackson-databind;2.12.2 in central\n", - "\tfound com.fasterxml.jackson.core#jackson-annotations;2.12.2 in central\n", - "\tfound com.fasterxml.jackson.core#jackson-core;2.12.2 in central\n", - "\tfound org.apache.sedona#sedona-core-3.0_2.12;1.1.0-incubating in central\n", - "\tfound org.apache.sedona#sedona-sql-3.0_2.12;1.1.0-incubating in central\n", - "\tfound org.datasyslab#geotools-wrapper;1.1.0-25.2-RC1 in central\n", - ":: resolution report :: resolve 315ms :: artifacts dl 10ms\n", + "\tfound org.apache.sedona#sedona-spark-shaded-3.0_2.12;1.4.1 in central\n", + "\tfound org.datasyslab#geotools-wrapper;1.4.0-28.2 in central\n", + ":: resolution report :: resolve 87ms :: artifacts dl 2ms\n", "\t:: modules in use:\n", - "\tcom.fasterxml.jackson.core#jackson-annotations;2.12.2 from central in [default]\n", - "\tcom.fasterxml.jackson.core#jackson-core;2.12.2 from central in [default]\n", - "\tcom.fasterxml.jackson.core#jackson-databind;2.12.2 from central in [default]\n", - "\torg.apache.sedona#sedona-core-3.0_2.12;1.1.0-incubating from central in [default]\n", - "\torg.apache.sedona#sedona-python-adapter-3.0_2.12;1.1.0-incubating from central in [default]\n", - "\torg.apache.sedona#sedona-sql-3.0_2.12;1.1.0-incubating from central in [default]\n", - "\torg.datasyslab#geotools-wrapper;1.1.0-25.2-RC1 from central in [default]\n", - "\torg.locationtech.jts#jts-core;1.18.0 from central in [default]\n", - "\torg.wololo#jts2geojson;0.16.1 from central in [default]\n", - "\t:: evicted modules:\n", - "\torg.locationtech.jts#jts-core;1.18.1 by [org.locationtech.jts#jts-core;1.18.0] in [default]\n", + "\torg.apache.sedona#sedona-spark-shaded-3.0_2.12;1.4.1 from central in [default]\n", + "\torg.datasyslab#geotools-wrapper;1.4.0-28.2 from central in [default]\n", "\t---------------------------------------------------------------------\n", "\t| | modules || artifacts |\n", "\t| conf | number| search|dwnlded|evicted|| number|dwnlded|\n", "\t---------------------------------------------------------------------\n", - "\t| default | 10 | 0 | 0 | 1 || 9 | 0 |\n", + "\t| default | 2 | 0 | 0 | 0 || 2 | 0 |\n", "\t---------------------------------------------------------------------\n", - ":: retrieving :: org.apache.spark#spark-submit-parent-15133089-5026-4f0c-8975-860f756f148d\n", + ":: retrieving :: org.apache.spark#spark-submit-parent-c8d6364e-e535-48bc-9161-729cb68c80b1\n", "\tconfs: [default]\n", - "\t0 artifacts copied, 9 already retrieved (0kB/13ms)\n", - "21/10/08 19:58:06 WARN NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable\n", - "Using Spark's default log4j profile: org/apache/spark/log4j-defaults.properties\n", + "\t0 artifacts copied, 2 already retrieved (0kB/5ms)\n", + "23/07/03 21:19:15 WARN NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable\n", "Setting default log level to \"WARN\".\n", - "To adjust logging level use sc.setLogLevel(newLevel). For SparkR, use setLogLevel(newLevel).\n", - " \r" + "To adjust logging level use sc.setLogLevel(newLevel). For SparkR, use setLogLevel(newLevel).\n" ] } ], "source": [ - "spark = SparkSession.builder.\\\n", - " master(\"local[*]\").\\\n", - " appName(\"SedonaSQL-Example\").\\\n", - " config(\"spark.serializer\", KryoSerializer.getName).\\\n", - " config(\"spark.kryo.registrator\", SedonaKryoRegistrator.getName) .\\\n", - " config(\"spark.jars.packages\", \"org.apache.sedona:sedona-spark-shaded-3.0_2.12:1.4.0,org.datasyslab:geotools-wrapper:1.4.0-28.2\") .\\\n", - " getOrCreate()\n", - "SedonaRegistrator.registerAll(spark)\n", - "sc = spark.sparkContext\n", + "config = SedonaContext.builder() .\\\n", + " config('spark.jars.packages',\n", + " 'org.apache.sedona:sedona-spark-shaded-3.0_2.12:1.4.1,'\n", + " 'org.datasyslab:geotools-wrapper:1.4.0-28.2'). \\\n", + " getOrCreate()\n", + "\n", + "sedona = SedonaContext.create(config)\n", + "sc = sedona.sparkContext\n", "sc.setSystemProperty(\"sedona.global.charset\", \"utf8\")" ] }, @@ -252,13 +219,13 @@ "name": "stderr", "output_type": "stream", "text": [ - "21/10/08 19:58:13 WARN package: Truncated the string representation of a plan since it was too large. This behavior can be adjusted by setting 'spark.sql.debug.maxToStringFields'.\n" + "23/07/03 21:19:18 WARN package: Truncated the string representation of a plan since it was too large. This behavior can be adjusted by setting 'spark.sql.debug.maxToStringFields'.\n" ] } ], "source": [ "countries = ShapefileReader.readToGeometryRDD(sc, \"data/ne_50m_admin_0_countries_lakes/\")\n", - "countries_df = Adapter.toDf(countries, spark)\n", + "countries_df = Adapter.toDf(countries, sedona)\n", "countries_df.createOrReplaceTempView(\"country\")\n", "countries_df.printSchema()" ] @@ -298,7 +265,7 @@ ], "source": [ "airports = ShapefileReader.readToGeometryRDD(sc, \"data/ne_50m_airports/\")\n", - "airports_df = Adapter.toDf(airports, spark)\n", + "airports_df = Adapter.toDf(airports, sedona)\n", "airports_df.createOrReplaceTempView(\"airport\")\n", "airports_df.printSchema()" ] @@ -316,7 +283,7 @@ "metadata": {}, "outputs": [], "source": [ - "result = spark.sql(\"SELECT c.geometry as country_geom, c.NAME_EN, a.geometry as airport_geom, a.name FROM country c, airport a WHERE ST_Contains(c.geometry, a.geometry)\")" + "result = sedona.sql(\"SELECT c.geometry as country_geom, c.NAME_EN, a.geometry as airport_geom, a.name FROM country c, airport a WHERE ST_Contains(c.geometry, a.geometry)\")" ] }, { @@ -330,7 +297,15 @@ "cell_type": "code", "execution_count": 6, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[('3.0', '2.12', '1.4.1')]\n" + ] + } + ], "source": [ "airports_rdd = Adapter.toSpatialRdd(airports_df, \"geometry\")\n", "# Drop the duplicate name column in countries_df\n", @@ -351,11 +326,11 @@ "\n", "result_pair_rdd = JoinQueryRaw.SpatialJoinQueryFlat(airports_rdd, countries_rdd, usingIndex, considerBoundaryIntersection)\n", "\n", - "result2 = Adapter.toDf(result_pair_rdd, countries_rdd.fieldNames, airports.fieldNames, spark)\n", + "result2 = Adapter.toDf(result_pair_rdd, countries_rdd.fieldNames, airports.fieldNames, sedona)\n", "\n", "result2.createOrReplaceTempView(\"join_result_with_all_cols\")\n", "# Select the columns needed in the join\n", - "result2 = spark.sql(\"SELECT leftgeometry as country_geom, NAME_EN, rightgeometry as airport_geom, name FROM join_result_with_all_cols\")" + "result2 = sedona.sql(\"SELECT leftgeometry as country_geom, NAME_EN, rightgeometry as airport_geom, name FROM join_result_with_all_cols\")" ] }, { @@ -374,7 +349,7 @@ "name": "stderr", "output_type": "stream", "text": [ - "21/10/08 19:58:15 WARN JoinQuery: UseIndex is true, but no index exists. Will build index on the fly.\n" + "23/07/03 21:19:20 WARN JoinQuery: UseIndex is true, but no index exists. Will build index on the fly.\n" ] }, { @@ -457,13 +432,6 @@ "scrolled": true }, "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - " \r" - ] - }, { "name": "stdout", "output_type": "stream", @@ -471,36 +439,46 @@ "+--------------------+--------------------+------------+\n", "| NAME_EN| country_geom|AirportCount|\n", "+--------------------+--------------------+------------+\n", - "|Peru ...|POLYGON ((-69.965...| 1|\n", + "|Cuba ...|MULTIPOLYGON (((-...| 1|\n", + "|Mexico ...|MULTIPOLYGON (((-...| 12|\n", + "|Panama ...|MULTIPOLYGON (((-...| 1|\n", + "|Nicaragua ...|POLYGON ((-83.157...| 1|\n", "|Honduras ...|MULTIPOLYGON (((-...| 1|\n", - "|Mali ...|POLYGON ((-11.389...| 1|\n", - "|Bermuda ...|POLYGON ((-64.730...| 1|\n", - "|Ireland ...|MULTIPOLYGON (((-...| 1|\n", - "|Democratic Republ...|POLYGON ((30.7511...| 2|\n", - "|Bangladesh ...|MULTIPOLYGON (((8...| 1|\n", - "|Serbia ...|POLYGON ((21.3600...| 1|\n", - "|Croatia ...|MULTIPOLYGON (((1...| 1|\n", - "|Kenya ...|MULTIPOLYGON (((4...| 2|\n", - "|Malta ...|MULTIPOLYGON (((1...| 1|\n", - "|United Arab Emira...|MULTIPOLYGON (((5...| 1|\n", - "|Brazil ...|MULTIPOLYGON (((-...| 12|\n", - "|Israel ...|POLYGON ((35.8691...| 1|\n", - "|Lithuania ...|MULTIPOLYGON (((2...| 1|\n", - "|Japan ...|MULTIPOLYGON (((1...| 3|\n", - "|Bulgaria ...|POLYGON ((28.0144...| 1|\n", - "|Guinea ...|POLYGON ((-10.283...| 1|\n", + "|Colombia ...|MULTIPOLYGON (((-...| 4|\n", + "|United States of ...|MULTIPOLYGON (((-...| 35|\n", + "|Ecuador ...|MULTIPOLYGON (((-...| 1|\n", "|The Bahamas ...|MULTIPOLYGON (((-...| 1|\n", - "|Afghanistan ...|POLYGON ((66.5222...| 1|\n", + "|Peru ...|POLYGON ((-69.965...| 1|\n", + "|Guatemala ...|POLYGON ((-92.235...| 1|\n", + "|Canada ...|MULTIPOLYGON (((-...| 15|\n", + "|Venezuela ...|MULTIPOLYGON (((-...| 3|\n", + "|Argentina ...|MULTIPOLYGON (((-...| 3|\n", + "|Bolivia ...|MULTIPOLYGON (((-...| 2|\n", + "|Paraguay ...|POLYGON ((-58.159...| 1|\n", + "|Benin ...|POLYGON ((1.62265...| 1|\n", + "|Guinea ...|POLYGON ((-10.283...| 1|\n", + "|Chile ...|MULTIPOLYGON (((-...| 5|\n", + "|Nigeria ...|MULTIPOLYGON (((7...| 3|\n", "+--------------------+--------------------+------------+\n", "only showing top 20 rows\n", "\n" ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "\r", + "[Stage 20:=================================================> (6 + 1) / 7]\r", + "\r", + " \r" + ] } ], "source": [ "# result.createOrReplaceTempView(\"result\")\n", "result2.createOrReplaceTempView(\"result\")\n", - "groupedresult = spark.sql(\"SELECT c.NAME_EN, c.country_geom, count(*) as AirportCount FROM result c GROUP BY c.NAME_EN, c.country_geom\")\n", + "groupedresult = sedona.sql(\"SELECT c.NAME_EN, c.country_geom, count(*) as AirportCount FROM result c GROUP BY c.NAME_EN, c.country_geom\")\n", "groupedresult.show()" ] }, @@ -519,7 +497,7 @@ { "data": { "text/plain": [ - "" + "" ] }, "execution_count": 9, @@ -528,14 +506,12 @@ }, { "data": { - "image/png": "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", + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAkYAAADeCAYAAADYd89rAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAACCHUlEQVR4nO29eZxcZZ3v/3nOUvvS+5Z0ZyErgRASIETBQY2E6KgoziCjDjqMjg7oCOpcGa8s3pmBkRnXCzLOHWHmKqLO76qDC4ooCBJQIwHCEpKQlaQ7Sae7q7uraznnfH9/fJ9TW1dXV3VXdVd3P+/Xq17dVXWW59SpOs/nfFdBRASFQqFQKBQKBbTZHoBCoVAoFApFvaCEkUKhUCgUCoVECSOFQqFQKBQKiRJGCoVCoVAoFBIljBQKhUKhUCgkShgpFAqFQqFQSJQwUigUCoVCoZAoYaRQKBQKhUIhMWZ7ANPFcRwcO3YM4XAYQojZHo5CoVAoFHUPEWF4eBhdXV3QtNI2kkQigVQqVZNxeDwe+Hy+mmx7qsx5YXTs2DF0d3fP9jAUCoVCoZhzHDlyBIsXL57w/UQigVa/HyM12n9HRwcOHDhQV+JozgujcDgMgE9uJBKZ5dEoFAqFQlH/xGIxdHd3Z+bQiUilUhgB8AkA3iqPIQngX3p7kUqllDCqJq77LBKJKGGkUCgUCkUFlBuCEgRQbelSrwKkXselUCgUCoWiThDyUe1t1iNKGCkUCoVCoSiJLh/V3mY9ooSRQqFQKBSKkmiofn2feq0XpISRQqFQKBSKkihhpFDMM8hOA8k4oBuApgOpODA2BAgNMP2A4QGGegHTC1hJgBzAFwF0E9AMwOPn5RwLQjdn+3AUCoViRlGuNIVijkDpBJAeAzwBID4I9B8CEsOAPwJEOkBHnwFiJ4BkDBiLsSACAF8Y0D3AaD8/103AtgBQ/g50EzB9AFFmXRIa0LEGCDZBLDoboknV0VIoFPMbgepbeFTwtUIxDWi0H0iMAP4okE4AsT5Q74tA31628DgWW3R0E0jExm9AyJ+0J8B/EyPIE0F2uviOXeuQPwq0ngHRsQYItQDBJsATUNXWFRmIHAgxfuogOwXYY0A6DphhQDMgDJ9ch/i7KwBAA4Qouo2ajtuRNwRCz9s32UkAAkL3zOh4FPWJshgpFHUApROgvb8GTh0AYn1AagwAAW0rIRadDbSvBtrXAsO9EJF2IDUGivWyUAo0AckRINbLokj3AIEoEB9gl5kQbAUqhtABfxiIdEC0rQAaFgHRTgizfgqQLWjIkZrW4XMrNIBsfk3IpOIaCVYiAuwkYCUAsni/mgewRgGhg3zN7Hp10myBtEZ5GSEjNNIxwBMFjR7nZYwgYIYAKy6f+1k8TXV8jg04KUD3li+whMafqZUEpYeBuBybvHEgMwJElkLo1S7vp5hLqHR9hWIWoNNHgLEhiEVn8QuDx4CRU+zCSsWR+Rmd2As6sZf/90XY2rPqj9iqNNLP7jTTy5YdobGLLTnCd+YuQmdrkGMDgUYg2MjWJG8YovscoHHxjN+5KyAnaOnuFBqgmYDNEz1SQ3zeNA+/BikCXEFEDjJWQM3DIsMIjhdJmeW0igWUEAIwfCDdy8LISct9BQA4HL9GDgABmIFMXBrsJCAMFuhOGgi053+/jKmLDnLY2ik0E0LTAc1f4TFpIBBgx/mYfM08XjvBNw9OEogdBGk6f/6hbgjNYJHofiaKeY+B6guGehUg9TouxRyGHBsYPslPwq18sXbfsy3g8B9YxPS9DLSeAZAD0boCiLRDNHWDhk+wqyvUArHpT7Kus8M7gZMHOGjanQATw0DjItDgq4A3CLQsAZq6gRP72DpkJQErp/mhZrAAciygqQcIt0Gs+iMIb3DmPiBFCaRgsUak1QIskCxdWoUcAKMsmDQTMMKA7pPCyAIgWJxAQ+Y7Qja/7gqRKgheIQQg5BgA/l5l3sxbksVQrjtKq64DQWjTTwYQQmdBJCE7AaRi/DtxhR3ZgM5Cj0aOAMlBwAiANAPwhAFPg3K7zWOUxUihqABybKB3D6ihEzj2Igc0k8NCZfEGiHBL/gqdayFOHwY1L2WRkxjmIOn4ALDhckA3+Hn/IY7lWfsmiIYuoKkbov8QMHxCusYaARAo2Aw8/yDfnY8OsOBKxVkAWQUdoR0LiLTz/5F2iJWvU6KonhA6W4d0L1uD7CS/RhbgaABx3AuMoJykE0DyJFttdC//zViC3MtuvUYy1C9C9wH+8a5jssaAsRP8WQe7si5CzWBXop3m377uUZakeYZK11coikBWEjj+Iuj0YRk/kQR8IYgztwEdqzh+M9jAd8TeAMflhApEUfw0W316zoVmeKQ5nsa5rcS574AzeAw4uR8YPAoaOQXRsQqifRUo0gG8+iwo2ARhpyGOPgsaeBU4/iLQ0MUZaaaPXWimj91tjg2EmiGalwGr/0i5yeoZ16Ki+WX8zghgyfgy3Qd4IllLjfABXo1dPuSwiJrjEzIR5bjpvHkW16rvy7Fk0PX4zywTT6V7M+8Lww+Ee0DpESDRz1YlOwVoGuBtBLzNfA4U8w4VfK1QSMhKAfufAA0dB06+wkKjYzUQbmOrTLAJ2PsYKD7IbrFgA9C+GkLTQUO9cH75VaB5KcRZ23mDwSaIcBuc/U/wRbn1DKD/EKfAD7zKQa2OBXHuO3kbyRG2HAkBJIbgHH+RJ86mHuDEXsCxQVYSYslGwPCAYn2ANwThZp/5ozz2wWOALwzyhSDIqYo7RTEDaDrgiQJmhC1Impl/7oTGYmmOQa57yk7K4GfpsrLGgPRI1m3lawL8rTUbh9Dyp4BMlhzZ0gUJwLZAwsmO14oDqWHOtHNxHGDsJDB2is8X2SAn5W6Uz5sZBPytEEagZsdTDP6sU4Dh43gqJz0uAy9veSlMc12UE2UcLiSUxUihcNFNYOVFgJ2GsNIgISD6XgYFmyH6D4BeeRI0Nsh3670vcF0hfxRYcj4AB/CGgP2/AR19lrcXaAAu/kuuIxRuB4aOsQts5BRw+hDHJukGKDHCFzNPEDBHgI61EIvOAo2eBvY/we6ySDuo6yzOFiPifXlHgbEhUP8h3p9jAcFmiOaloI7V0BoXz9IHqZgWQrD7Zg5C5LDF0pJWlvQoW4OEAIwQB4m77kNPBNB6qmIlctPwC2OQXCst7BRnzdlJHo9jSfdlIidRwZ26HPlXYFytr/ytA6nB8S87cl+pGKhhJbvqaghZCRmbFgeG9vG4hAbyRDg2ytvER2EnAF8L4G8DkgNZF6zh5zILmgkxCyUU6hEN1bfw1OunqoSRoihkpbgeUDoBpBMcrdHQBc0TAJZs4uctS4El5/FF37E5ODp2AjC9oMQQRFMPRMtyYN026ebQ2NIkBERTD+CLQETaeH/kAIvXc6yCboJ0EyI9BtJlsHT/QVDXmRDLLwTpHi7qmBxlq9LxF+XEKatUu3FEVpLdaY7FNYeCTbP2eSqqDNlzwmVD5HD6++hxuJMzPA0crOxrqemEm2sNYjHk8A3E2Am27jipiVfO4BQ8LyWKio6CLUV6IGP9q7UoApCtE6UZQHQFi1HDz9cJfwdfjwyfLPdgQAgB8jawxdqKs3gSGgvVOSrIq42yGCkUjgXa8Z8c6JwDeYKcWpyIcfDyorNZKAUaIM68tOQmafAYcPQZbr/RtS4Tt0DpBAdvx3pZ2CSGgeYlED3nAs1LQSf2AaP9oF98EQi1srBa+TqI5iUgx4ZoXMzjTCe45lD7Kk7bH+4DHAfUuAg4fQQYeJUv674Qj13dBc5d5oIoSvSzIHJdTt5GILiI43Qq3ZZjy/JMesHrlqzNWOASs6Xlh2zAkRYiUE5mXw3RvHyN8DZyiQJrlAWZ0AFrjMWKY8ksQo0Fk3SJFv4myUqwa1GX5RdktmGhC7AQcmwADlvLvA2At4HFYbwPcIZZIAlAeKKZdYTQZImFmXX1zRVUjJFiwUMv/XKcKAIApEa5+GHjmYAQoP6DwNFnQYYH4uw3cxxSqBloWwUc2821hELNoF9/nV1m3hDQ3JPJF6LDf8i24jjwW95+sAkINsGJneAstOMvcAB1sBFIjkCctZ1F0Ug/6PF/Y6sQAHH+VcDgMdDvv8sWJZdAE+iM1wAHnuT9Ozbgi4DOuowtYApFFSHHBkaPct0lxwY8jUBoioKIKBvkrOkgT5QLQgqdrSCyinbGPeZaRsZOAvFjRbaY+eVN5xCLIwxplZEFN0deleInB80ERouIM2EA3ihI8+QE0Av+DFNDBeMnkBkCoismLFXArsjCaZcAf4u0BgmOnbJT/Bmqm6RJURYjxYKGXn0OOPbC+DcaFkGc+SYgPgja9UMUXlzpkbv4H8PDAmT0ND9f80a24ux7nJ8HG5G5QC8+Bzj1CgdeG14WRvFBYPdPIYJNoMXrWRi1ngFt9SX5+/v9dzKiCACQiHGwtlbwc9M0YOQkm87tNFfSttPA4T/A6d4AsfJirrekLo6KaUKpGJA4DSROZl+MLJ3UwjEh8V4WWS5jJzM3JbDHgFQK5AmzVcYaY1eQLgtORs4A0sMsBDJusxoIIheyeH+lcGtTFVs30V/OTjLuL6RH2RqE4gHTeWuRA4wcBRKnskHlLkaABSfZsnAoscDzNc94oHg9oyxGCxxyLA7Y00zOovBEqrt9WTGWHAev/OIXePW3v8Wqt74VwdZWBFpbYadS8ASDs1YHRCw6G2LR2aCh46AXHuIaQqEWdm8FGtn1NdQLDL4KJEfZrZZbVdpKAdbp7POXHs4varfvcaDzTKB1Od/Zta3kx8qLgcN/4DikcBtw+jDwm2/wfvoPgTSdRYw7zhWvBR3g+ik4dQD00sNA51oO7E6OZvc3coofhTgW0LeHe66FWjjgu6kbYvXrucWIojgkXTJTnexriTs2omxrDrfg40z8nnQvxw8ZPmD0GI9laC8o1AMY5ffWo7FTPIkXCg1PhI8n9gq7mDxRAA6LBFcsWaMcSAxwNl+gHRg5Ut3jnE3I4QBvzQDpPtkM+jgQP84CR9O5Lx0czuzTDP6shD5eFAEcU+RWW3dJxYDkIMgMcs0sP8dCZgLUyUamGKnukfWzmGpft2nsBEAEEZjda9JCshgJookaRs0NYrEYotEohoaGEIlUV8BUk6EjR9D37LM4tnMnDj7yCPqeeQaJwUGQkzUpC2npIMfB6re9De3r18NKJJCOx9G4fDmaVqxAqLMTummiefVqCE3DWH8//E1NMP1TMNOPxQByIAINoL6XgfQYxOJz+L1UPJvyXmzdkVPAyVe4gnVylC9GbuxR/8F8S04xdBNoXcG1jtpXgEItEN5QfhPLV54EPfPfWbO7ZkCs3QqseC2EbvJd4OE/gE7sByA4wy05zD3Vck31niCXFghEgcZujjcaKzY+wUUpvUGOV4p2Qiy/EIh2Qfjr97s14xDNfq0gkoHEAjLjK8GvO0l+T9P5fSedFXCah91QMyDoyN23k0KmBYkbdJwcBHxNpa0b6Tgw+GLxjTet4zl54AVMagHSDA42Hn118mXnKhMJnplEM4DoGlkSYOLfRm4bFY6Dcpv3ll6nFjfJ5c6d7nLfAVBt+1kcwJVA2fP31772NXzta1/DwYMHAQDr1q3DTTfdhO3buRxMIpHAJz7xCdx///1IJpPYtm0b7rrrLrS3VyYqlTCaAZ779rfxg/e/H3aqnCyQytG9XvS89rXYev0H0LmkCfCF2eoTaAAAtoSc3M9uKtMPxAe47UZylB+6wa4ssoFlmyFazwA9/zOIc97GMUDxAd5m+2ouoBhohPAGQX172UqTGOZJqNByVEjjYt6Pe4H2RzlYuussoLkbWqgVZFugXT/gyW7xeiA+CJFOgI7u4lT+RWdDRDtBnWshgs0A2RCGlycTCGDfY6BDT3OckscPLDobCDWxWBI6T6DeCAeB9+0BBkrcSZt+2UC2g61IqkL27OGeXzvB/7t/3fcKY1l0H7Kp5RrX1HEsFk52kq0AvmbpltGnHGdCjsXWGd0HmKFJJ7BM0cRUDEieRqZViW6y+0u21aDkIAuoXJecS/N6DiIe62OXUsZ6oZhVPA2Atylb8oCcTEVwThYgdncaAa5NlRpiyx8gLU5u82Niy6MR4O+VEajI2lgulQqj72kCgSqPIU6EP3Go7Pn7gQcegK7rWLlyJYgI//Ef/4E77rgDTz/9NNatW4ePfOQj+PGPf4x7770X0WgU1113HTRNw29+85uKxqWEURHISQOxg7KSa0PF8QHDx4/jJ9ddByuRwNCRIzjx3HNVGddk/MW/3YTFTcnsC8FmfthJtpKQwy6xTFPWqSKAcAvgb5B37RpE5xqQLwLs/TWblk0vuxN8YS4KmYpnm7a2LAXSSQg7BTL8QEMnW4CEAE4dZNfZ6cNszTprOxBuZQG2L/vlFme/GXTyANB/AOKctwPdG3jSeeHnwMuPwr0TQ9sKiI1XQPgjcEb6Ad2E8IVB8SFg4DALptMHgSPPFok98AKhVoizLgNaphEnopgeVpy/w1pumxB5gdZMALLyNWz+X0A+ly5rO8WByKWysYTGXe29DYC3eVwdIRY0Y7xvaIAnzMUC7RTHxnjC7LaxkyzSxk6yC0szuRiiEGxBSg3xBCp0TuO3E+PHonllMcQWFvIjh/Pf97UCocXsakvF+HvrbeI0/GLbU8wcmpfF92R4Gvg7lxxAWaLW1wIRWTbd0eVRqTD6L0NDsMrCaJQI77Kcac3fTU1NuOOOO/Cud70Lra2tuO+++/Cud70LAPDSSy9h7dq12LFjBy688MKyt6mu9MVwfdipQWBYgIwA+/b9rRBl1LQIdXTg4s98BvsefBD999xT8+FOyGg/P3IpFmtTMcTWm0yj2DYA0ty75g0sNpIjoPgAEO3gQo6vPAEce57Hs1cH2s4ACR2iY42MVRqBcGzA4wed3JdN4bVToN/cM86yQ8/9JPvEH+UMur2PA4d+l7OQDYRbWaQB7A5zu5/vuAeI9QFnvgmicx3ojIuAZ37IgszFSnI7ksf/DxDtADUtBbxBiCUb2VqlqC2OlU3zJoe7vwtD3l3nWIvc/4XBoqRwntEMINDJVpZCy5ILOdkMqOFD/Jv3NgD+dghN1rmB4NhDbyMyXejJYtEzeoxFSmbngi0+IIwbUCo2yXEngWRSWpSKIAR/Jo6dzdgSGu9z0gKMippSjigCihfBLMVsuwoBaLoGrcrCSCMCLAexWP5vwuv1wustPdfato3vfe97GB0dxZYtW7Bz506k02ls3bo1s8yaNWvQ09OjhFH1IZnxMQokToMaVvDdoCY7Znubxpk4hRDo2rgRXRs3YuM11+C5b38bJ3bvxv6f/QxjAwNIj45OsK85yvAJ0DMPFH9v/xOAJwR0r8+KNLK5cjXAgc8T4QmA9j9R2t0FgB77NxZAwyd4gvBHgMSInOzinIFmeCF0t78WgPP+lP+JtLElKBUH+aMT72Solx8QoMNPg9pXce+1zrXj+8EpqoPQWAylR8GBtL7SEwRZKCYMMm0gckWRGZZZSMnSAbmaCfLltOTQvWCrlM4B0iOHJrBEFRFEU8UIZq1k4SXsWhk5zBYil8nElkIxTbgCeHWFkbu17u7uvNdvvvlm3HLLLUXXee6557BlyxYkEgmEQiF8//vfx5lnnoldu3bB4/GgoaEhb/n29nb09vZWNC4ljCYi0MGZDOmR7GtOku8Y3ZROANCOgqJnQJghEBFGT57Eyw88gFd/+1u8/OMfwxMMYvPHPobFF16Isf5+DB05guM7d87KIc0aqRHglSensF6cG8MWons4Bd8XllYrYkvY+j9m995wHxDpAFqWQvMUjwsSDYsy/9PxF0C/u5+z6QqJdECc8Rog2AQ6+FtugBs/DRx4Clj1Og7snku4PbqIOIaKKJvJBfAk7yRZ+Ls1aWYDW1pDnERWjJQsTCgvsW4NnUJ0Ga/huprSwyw4gos4s8ttg2HJbCbNmy3vMCBLV5jhbL+wZDmp5VXCSmSrNI+dqtzaoFBUgZpZjAAcOXIkz5VWylq0evVq7Nq1C0NDQ/iv//ovXH311Xj00UerOi4ljIohNJmi2c7BcrrJZvHRV2WMATieILwE0D0Z95qdSuHIb36D/Q89hOe/853M5n5y3XVyu0LGPixAqllt105xOInuAbo3cFHJJefx86d/ACw6Ewg0QRjjf1xEBLz6LKh3D0SknVufxHonFgDDJ0Cv7obY9C6I898N7HkUdHIvxLrLgMbFc6v2UW6avZVgwTpR4K6d4O+6J5ztZD+TY7RGAGcMLHg0jG9NkYMbqOqeCysFWAVp7gLja+hYo0ACHAirybo4gXYI3Quy08DA8/nrFKZ0zxg2j1WxgHBj5XLcxLOM0GpgMZKXnkgkUnaMkcfjwYoVKwAAmzZtwu9+9zt8+ctfxpVXXolUKoXBwcE8q1FfXx86OjoqGtfsf9p1iNBM7moN8GQLcBEwfxtbkJKDgL8FwgzlrWd4vVj7jneg5+KLccallyIxMIDwokVIxmLwhsNYtHkz/vONb8SgTDVUVEKR2AkrARx9FujZCLH6Es5mS41wBe3Du0DP/QS09DyIVZdAyDgjOBan96fioOQoRKAR6NkICrdx0HahgCMHOPEy6Gf/BASbIC65Ftqa18/A8dYAIbIiR7NKBOrK5XTvzF6QibKd2yGtProPJUURwDcpQgZgW2P5Xd8zCG4WOtaX/7I1yrFHnigHdg/3gaw4W8tq3TpDoRiHFB66h3+DngjHuumVl2OpNrV0pU0Hx3GQTCaxadMmmKaJhx9+GFdccQUAYM+ePTh8+DC2bNlS0TaVMKoAoRmZvjsAcOwPf0BqeBgnX3wRnRs3ouu886BpGoItLdj4F38BAIjLOkP7HnwQh6ps7ltQaBo3kxU6W/AWnw2x+g3cN03TQacPQzQtAZ16hd1fZ23nNiKH/wB6/qfA6jdw8HVyBOg5l2smhbOxI6JrHWjJJtDzPwNelVmEuskWqeQo0PsSMHwS9PT3IS64anY+g2ogpEvK7ebupDmIFw67zzSdxdBM1imyLY4lcmN+BADNbTQ6gYVVaHK8XgBCNv8cw0QiSgjB7SaKZQ2NHuWH5uX1nTSQmqBCs0JRU+T33U7wIz3MZSCMWa4bBkDXNehVvi7oFXpQbrzxRmzfvh09PT0YHh7Gfffdh0ceeQQ/+9nPEI1Gcc011+CGG25AU1MTIpEIPvrRj2LLli0VBV4DShhNi66NG/nv+edDaBq0nFYURITf3nknHvybv4G/qQnxU9XIBlvAODaQjANnbOH4oI41eY0zRVMP0NQDLD2PhdLB34NOvAyx6hJoK17L9ZHSSY5Big+yxSidBAwPKDkCITQOoj7vT0FtK7nm05FdwMHfA+2rIDa/ByDiBphzHaFl3U6zdTxuAUQrnm12mocUKeMQbM3RfVnXdHJwgmUL1tRNUKYKdJELcrkZRQpFOXga+G96uPKsMs3D1iI7CQwfBjWtHddAeKYRQkBoVbYYVWiUPXHiBP78z/8cx48fRzQaxfr16/Gzn/0Mb3rTmwAAX/ziF6FpGq644oq8Ao8Vj0vVMaoNv7jxRjx+++1V2ZbQdZA9+Q9rXB2j+YQ3CJx/FUTr8rLieigVlw022RVKh5/mNxavB/3yq9m4It3MFqVccj7E6kuyhTGJ2MIUHwAGjoC6NwHDfdCal9TiCBcWiX4ZrzfB5cetEj3udS9Xr84lFZu4B5eESGaXjp1COSJKoZgU19UlZGmR9Khs4SI4Ni9yBtD/TJkuWcHuXDMkXWelK2hXg0rrGP2sNYJglYXRqEPYdjJWd/P3PLj9nR0mK9N+9p/9GY7/4Q+I9/fj5AsvwE6lyhI3LsG2Nqx5xzuQHBrCkSeeQGJoCOf+xV9AN008/93vLqw4JU2H2HI1W4XKpLCdieg5FwDgWEluYhvr5QuWlSMkDzwJOrUf1LoCItLBLjdfmLPfmno4yqlxERRl4La6KWzoC0hrkfwtiAmyzZy0rFdUIJyK3TWXuLXLVJpOnlbFDxXVwxMFwksh3BhUADR8mLMHA138QrxvclEkDC7kGeiYsEVMvVCTGKPZ9xAWRQmjKUBEGOnrQ7hIpHu8vx9PffWraFqxAhd/5jP4xac/jXBXF1a95S146itfKWv7iy64AG+/9178v/e8B71PP43OTZvQuWkT1lx+ORqWLMGWT34SsSNH8NIPfoCB/fvhCYUw0teH5x/bjeGzlsMXDmJphw2RuYue40Xflm2uSBQVgxwLQjOgGV7QkvNBxcoAALJw5SlQy1JoyzeDYieAcGumtxE9/3PgjNdCBErUPFJIYTPBhV4ItvzYNHHBRWGg6HfWrYKd2/NM8wMwAUqDA8fdOCk9OxZrlN0Zk1iWFIqSaAZbgszw+Pp14R6ulzV8mIW4WxjYbWSre7MWpvQoJ/IE2udMZquma9CqbDHSRH3OS0oYTQEhRFFRBACB5ma8Pqcw1V8+8QQAwE6n8dy3vw2ybYwNDED3eCA0DU46DcfKTg5/dPPNuPjGG5EYGsJZ73433vy//ze6t2wZ9yMMtbZmYpxcHMcB2TZ2fv3r2PvT3+E129bCIg3/94Yv4/UfeTfWrQ1A2LXp11ZLqtKjTF58KBUH7Z0sCJ6AoV448UEIKYoAAK/uBvY+Bjr5CrDlz1Vj2WJYaVnuYpIK8ZqRSTzLeZHjh5xU6VtJclP4JaYJkAaQyaLJsQBKyorZxLXHlPtMkYsRZJeVm3WZiQFy+HtjBHgZa5QL+qZHZGybl1sgFXw/iYjbzsT7eFvCACIrAEqPy14GwK42T7imh1hthIaqCyNRpzfsKsZohnBsG8d37ULj0qUwfD4ceuwxeMNhPPHP/4yXfvADAIA3EsH2r3wF/pYWNC5dirZ166a1zxd/8APs+9nP4G9sBBFh8KVn8eb3vw5+e6AKRzSDaAZbbRafA7H6kmltigZfBe1+EDixt/SC3hAXmOw+l/vAHdoJ9B8E0tId07oCYvN7IDyzn0Y7axCxe0rzct0hsgHh5ezByXBsIB2TmWSCe4OZIb76WnH5egFCA0zZ1qVwHNYYT0ZOIs8qRBBAbP/0jlMxf9BMLurpaynbLTRZ2ARZY8DI0WzhTd0PNK7m76Wmz3rQ9ERUGmP0y8VNCBVzjU+DEcfBG46errv5WwmjKmBbFnSjcuPb/l/8At9685vRunYtXvOpTyHa04Nn/vM/kRodxfYvfxmhtrZpjy1++jR++dnPItLVhcFDhzB08BW846/fhIAzx8QRwMU0t32Km9ISZQKry4FkU1HXbO288BDw0sOlV5oo/sWlYTHwug9Cm8w6Ml+xZZsNt7egZkr3mZAugzIuou7lRwi29Dg2byMdG5/Jo3lYPDkp3ocb32ElWQyZAd5GehiADggBSsVk7aI5fZlTVANvIxBcBGFU52aGUjFuNl6YzSh0jkGKLK95APV0qFQYPbKkpSbC6JJDp+pOGClXWhUgorLFERHhwK9+hWe/+U0MvPIKLvviF3H2e94Df0MDTh84gPM+/GE0r1wJX7Q6MSyBpiZcescd+PXf/z26zj8f/qYmPPLjl3Dx9jUIaTFu3DpXsFOgR78GjA4AmgZq7Aaal0Kc8ZpJ3VrkWEB8CBSIQtNNrls0mTCaLHAyfhri+Itc62ghInQAGmDLtjlOmh/liiJAptw7XNTRSctijR52MyRjyHOBuXfempndPjlsrQKAZE6rHtj8r+5Z2BXnFSyooysgzOq176HkIBA7UDxGjmz5cIonC8xRcqt8VG2b1d1c1VDCqAoY5uTZBCdffBHPf/e7AIDT+/ah5+KLcdmXvgSfVMlWKoWmZcuAZcuqPj5PIIDX33orRk+exCO33IJI9zI88uOX0f/8s3jvZ/8ExkRdvOuRUTlWx2bXVv9B0IGnQEs2QjQvBdpWZatc52KnuYeaLwyCBdr3m+mPJRUHvfIkiAiazHpbUGiazC4zuBeZHc92fSe7/EmBZFFFuF3jU9zWw7XYmWF5RdZk7FHO5dQhZJMLcjrby30Ljx+kr+AYEScNJAcmDvhWzC+ExtXOg13Vz/iKH5/4e+RrAfxt9ZtyNUU0TYOmV1cZ1WvYuRJGNWRsYADPfutbaDrjDMSOHcN5H/kIrFQKumki1NaWZ2Y1POW7haaCbpqIdHXh7Pe8B7vvuw9n/umfYv9PgxwPMpeEUTHSY8C+37DY8YZBgQa+KPkbIM59B4THD80TAAWbgFd2gA78lhvBVoP+g8DIKTjHdkO0nsFFJhu65kymyZSxEixgXCsPGQB5ZJ+zURY03sayJgcSMouMbAjbklllOsjwAxBSC7kZZrJKtzBA9hhbmuwEYPhzYjmItZIR4hgPA4CXLbAUA5A4WfWPo6oIk9O+jUB+zabESa7ZpJgcTwMQ7mHhnB7NdCuoGqWyGzVznHWK0iN88wCCKIyRmyNoQlS/iWydikcljKqM4zjo3bULwY4OCAAbrr4anlAIdjpdc/FTDkvPOxtLl/0V0HoGzrhwA/Cbb3AGkTVPCkMmh/kBAOIocM5bs+8NHgM9/2AN9jnClqvhk8ChnRDnvgM0X8WRneaYCsdi95Rr1fGEAYR54k4Pc7+ysTQ3aJ3kc+BSCClg+BDIDAG+ZhZXownA18rbdpIsxNy4I83gWkmZuCZI8USyz5tvfJA2AAQ7ZXB3HTRl1aTLUMhUbs0AIAoydbL/k6+FJ3y3LpNjcw0cw88p4iqOKktqEOgfBMLLAG8UFD/B3yF/O4TuYde6PQZhTjEzzIwAdoHADnZx4/Eik72bmTaXQ3o1feFYjGo6rltuuSVTFMp9rFmzJvN+IpHAtddei+bmZoRCIVxxxRXo6+srscX6xUqlsPfBBzF48CA0XUeksxORri54w1zvoh5EEQDAFwGdPgJKjgKBBmDFRcCS8ydPr56LkAM6dQB0Yh+IHKBrXfHJcrroHiDSyTWQBl8F7fhP0C++xPucb7hB0iQtN+TIFHuH3VW5AdNk8d164efgOJzdl4yBRntBp54BRuTEnh4Ghg/KFGn+n1yhlbttx4KAAwHKPEAWxzeZwYnPs2bwBGaUkTlXazQP4GmAMIMQmgF2Ek48cQrIfo1mEAj1AJFlEGaILWWR5Wyhm+sQyRR6jb8ndhocSG9MTfcNHwIGXgJGjwDxXmDgebbejBzm79hUyU21FxoLVm8zn8cSLuRiwdiO42BkDsx7QhM1edQjNRds69atw/HjxzOPxx9/PPPe9ddfjwceeADf+9738Oijj+LYsWN45zvfWeshTQnbsmClUujbvRvx06eRiscBAFYyCSuZhGYYWHnZZWhavhwd55xTt9kIQjcgzroMIjUK6Aa0VRcDHauA7o3cdHW+sX8HyB9l641uAovPqf4+7BRwch8yV+5EjPuxpedjpWXKETpCFlLUeNZ2e5/lko5xPEZu/SwnycUYKc3ix0mVCHR3Y4jKoKy+bxoweozHPatCQgD+1inVcXEFVO66AsTH45njhUeFDqTjLFqSA2yBHDvB9YHs1BSC6B3Zi09+vxyL3a+J09lWQFPBE81aQv3tEA0rIYwJ2thMgttj051TXJwKOiXMBIVGjmo96pGau9IMw0BHkWKIQ0ND+Pd//3fcd999eMMb3gAAuOeee7B27Vo8+eSTFXfDrQVEhMHDh5EeHUWkuxuG14u2devyY4O8c8/SIgwv0LYyc7HQ2lfB8YWBV5+Z5ZHVgP4DwKN3gy66BjR0HDixr3b70nQg0gEEm4FIG8i26jbrYsoQsYVMM9ni4f4WrARPappHptPnYIZ4ebfukZUAQKDUCJAammyHvI5exu/MsTGZiBJCAE1nZrc+uDdbf2ZaCLZEAeBMvUTpWCbdD4BAEFX7jghId5udync7VmXjOld8NrxAaoQzAVMjbMmrJkIrXsMKkJ3m26cXPC90tiom+znLdZIaRRMP0wDpsuBjoHPq45GE2tvHvZYeG4Pp9yMZi0H3eOAJVi+rbiosJFdazYXR3r170dXVBZ/Phy1btuC2225DT08Pdu7ciXQ6ja1bt2aWXbNmDXp6erBjx44JhVEymUQymY2HicVqF4wohEDjkvnbMDQ3BkbEB0BLzuOihgOvcnDyfIk7So2CfvkVFi61Kk8QaYfY+C6Ipm44z/w3B2WvfF1t9jWb6J5s/aBc3Caaulem3BvStCG4AGTyNLKiRd71k4WS/hEzzFYQzZRVrB2UrmBNMhi8Ard1dAU3tB05JK0RlVgkZDZcoAMwAvkCRzdBngiLEzuZ77pLj8gYKauysZY1IgK5Ao2c7D7SI7Ke00QrSneQ7ssW2Mytz6N5AI902/l9AFpAVhwYeDFrjSkmiisavM5NfksJusQA4J1GxWhfC4QZBBkhFq5WnF2TFUCOw+tFV+T1Sqs23hDHJfkb68NFKjQNosp1jOq0I0hthdHmzZtx7733YvXq1Th+/DhuvfVWXHzxxdi9ezd6e3vh8XjQ0NCQt057ezt6e3sn3OZtt92GW2+9tZbDXpi0rmAhtOcRIDECrLwYOPYiEDs+eT2fucJURZEvAnHhe4FwG0+bJ/cByTjQdgZEOgl4goAvBKHpoBP7gIO/A5aeD+FYcFIWhOGds5koZUEOT6wBaRkWItsrzU7J/mY5bkXdB27/EZw4I9LbCJFxdRX0VJMZbONEjBmuWGgIIQB/C8jXxC+khjkw2w0iL0XELa1RGDDtviqD0w1//lirWE+nGJmxCMHuYxDIDALGUo6zgcalFQA+R6FujnXK+Y6SnQSSg/zETko3Zf6kKIwAqOVcFlG6j7//RNL91VfEGigLfwa7+P/UELvN0jF+biUmt3I5KXn+JxPJE304WvazAdhNZ1ZYIoXSgOGt+6av1UboGkSVLUb1alGvqTDavn175v/169dj8+bNWLJkCb773e/C759a9dEbb7wRN9xwQ+Z5LBZDd3f3tMe60BGGB6L7XDjtqyEO/BZ08LdA11lItZ+N0394DOTMnrQnx0FnU7p4MUrDAzT2cMr+yKnqWrkCDcCq13MF5YO/5xpKvhCw/m0QsePAyQNA9wYInX9GFB8E7fohB4zufwJ09DkADrDmjaDlF87PLDVATjYCgJNTuXqEJ1QijJvAXJFEBPja+Hm6wPKbHABJK4aAyBZpFIJT2TVZGsB9r1JLUeEhuOfGG+UsJl8TcPr5iW8K3DpJfCBT3u9MIQA+T8EuHm3sCNC0mgVNsSwq3QsExrt3xi0ntDyhJ4Tgz88T4fPqFv00AoDuzfsNkO4FBh7j70klxKXlS/fz+aIKGgO75Q+sOAt5T0OmwXQ5kMN90Ob1jc4ECFH9YGnh1Kc0mtF0/YaGBqxatQr79u3Dm970JqRSKQwODuZZjfr6+orGJLl4vV5452Bcz1xB8wSA1ZfgwKEEhh96EklvM576yjfR//LLszouX4QvaJf81Z9i6dlLASHQvLQbyUWbEVy6CkJocI69yG0+Bl/FtCYrzQCinUDLMmD3T1hsGR6geRkQaIQwTK5Z1JpdhRwLtPunwIgbVyJk2QABOnUQomU5EJ34ez33cThgtoK4FiEEoBsga4KYEd2HTOFG93TqIemyScsWIkkAQsYwgYtOCl3WU0ryX12m75cpTIls2e6klEXCLTRZ/6IoF0rHgaH9LFpOjgHRZSBvM4ReXeuHEEJaykrcAMcO8F/NZGtfpfXU7DEgPsYlIWRtKxbiAkCR75S3mS1WAI8t0FWRwCGauzWIqoHQNWh6dY9/QbrSChkZGcH+/fvxvve9D5s2bYJpmnj44YdxxRVXAAD27NmDw4cPY8uWLTM5LEURui/+I3zpfVfDE4nASs5+rFEixm0fHrzjGzj3mmtwya23wujqwpFf/QqhBKFt7VqIztWg9hXAo3dLcTRFol1wzACOPfUUTK+B9mCSKzGf3M8p/66dwE5nrRiazg1uz9oOJEcBjx+09zGg9QzglR3AsefntzASOt+BOzYH5qZHylvPCEjrSysLUleMSBGT56ISBm973Jyn5bvq8sZlsKuHnPxiiRNA5HBNoMQkkzRZQGw/B+AGu+Q4XctWfbme+ROUIi41lP2sUkPAyV2A0EFdF1Wth1jZRM+AaFgJIhtC6KDEAHDy6crjlBL9/H1xs8wCHeP1qq8ZCC/LWsesBH9HvZNn8VEm9qw+rRszhib4Ue1t1iE1FUaf/OQn8da3vhVLlizBsWPHcPPNN0PXdVx11VWIRqO45pprcMMNN6CpqQmRSAQf/ehHsWXLlrrISFvomH4/1rzjHdj59a9PIUW2dvgaG7H3Jz/B8LFjOL5zJ0ZPnoTh8+H8j3wEgwcPYuz0aZz7jq04a/1SiPQoi5RUfPINQwAty9msP/gqfr+jFw/e8Q0AwGe//3fsxnMs4NjzIE3nQO5gM7vZ9jwCselPIKIyOyXQwHeX57yVt9u4CPOpZ1JJNJ2L3xFNXkRR9wJEEJrrApOTtyPbgWieHEuPdJeN+ypOcmElK2spcqy8lH5y+L08F6edkLExZYobe4zFoDfC43VJj5Se4GUxx5IVlKsAx8TtkvvRUPS4yGYrUvNZNR1LIUJooOQQMHYK5FqLpvI7IScrRs3QeNea7gPCS/NdhroXcFIgciZ0cZPrqgXmrxu8AmoSfK3Vz9ySS02F0dGjR3HVVVehv78fra2tuOiii/Dkk0+itZV9EF/84hehaRquuOIKJJNJbNu2DXfddVcth6SoAMey6koUAUBiYAAAsO/48cxr1tgYvNEoXvfZz4IcB7/++79HaO2HsfzCc0GxXohoF2jn9zhTrBj+RiDUDJzcB4JAXGvAw//7C5m3k1oEPmcQCDYB/ihw8Hcgjx8w/Rx4vehsFM7YIrenV6A+skpmDCHYNWLFUdLVZCc5Yy0jIHKXFSw0NJ1ftpMyAFtkhRJZ0m02Sfq2ZvJ+ckVReoRdOU4aFF6SLT8weqx8saJ5OZDY15QjvtwGokXGJDQAerb45ERWripBALJ96ICSYm8G6x9xgPYQi8fTL1anrIDmAUAc75T72RtBzh7LE78WnzfNUzS+iuwkAB2g9Mxb0eqYmqTr19n84lJTYXT//feXfN/n8+HOO+/EnXfeWcthKKbISI74qGfazj4bZ//Zn+HY736Hn3/qUxh+9VX07tqFj7/yChBqBu1+kAs79h9C7uTreML43SP70btvJ//giTByahB7H/sdAMDw+RBobcVjj/ThTX9/E8TxF0AvPQwEW7gPW9sKoG0lhFEnVc3rCgflxd+42WUFE5RmcHVhO80Tmdt7zbUq2UnAsqQ4cmNLJphg7SQvg2wcjTBDIF8zu9mELmOU7ApuBAQQXZ5p9cA1mlLSSlawDTfmiRyOd3LsrMWoBjFKHFx9WKbnlzmRnX4eFHsl204lsgTwNlWtAB+N9XMFal8TC+bpVJ0uxNfMliKh5QfxexuByPKi1h4x8ioQ7MiUUSCibMya7pXB2KpjVh7KlaZQAAMHDsz2EMpCN000r1iB77/vfRh+lWOLlr3hDXjyy1/G5ve9A9j7a16wYTFE5xrAFwb5wvg/f/xe9P7h6aLbPOuqq3Dehz+MRRdcANPng2OlQAd/B3HGRcDqPxp3sSXHXliBmSRdi67rI9cFIipxEQnACMt+aGmudkwWi4z0CN/x64JjvKw4PxcaZ6C5VbZdcQQDWaHhig5pYSpSlVhkCjLm0LASZKeA4QOyxUmJitzxPiAayh6zpmNSoeNmYNmyhlOmPlOuSJqeWBIAp+ePARWltFtj4JVktWkzBOq4sOyMrZLoMlNxshIIU8UqiGkrjCnKxUkCcNg6qPvYrWYEZfPXyePQFiqarlc9+LpOPWlKGCmKc/Kll3DqxRdnexhl0XXeeQCAjg0bcPTJJwEAT//7v6Pj7DNxwSY5kfojsNrOxN1v/zA8wSBSIyM4va94Few1l1+OK771rbyLqmZ4gDf+zYRjWFCiyEqwgCk66UohInRZxNCN05CTv7+V38tN4xZsreP4pDCQGkAmUJiIRZMRZQtRKgGYXimO/LxpO1miro3I72tVBkL3gKKr+Ik9xsdrjWUrWbuiLz2aXzlZM9hyYRX0dSuKW+TSzn8OINOYt9ixuMHdwshZL6dwplseoRoxMdLVRdFl4LpTXv4LKjvmhoiA0VfZZVaLDL5AO3+fgl0s5oQG+Nu4DlahKCLiitfpIjGHwiizpczCpRa9zeq1V5r6JiiKEmhuhmaacNK1DQ6tBgOvvALbsnBi9+7Ma4bPh3ff9Y8QPd0YW3M5Xv7Rf2PH/7gep/funXR7gdZWpMfG4AnUQaPResRtCeLGcuSJAJJuo4LXMsXwdClqvPltPlJDMm1bNoBNDvA20sMsBnQvoBuA4brNZJC2mZO+X9inzW1RMoVsosykagSy7pZgJ28rPczNSe0EN7nNDex1j8lOI1PXKfO5+aRbT5Of00TWnCJB0kLn43bXKRFXRRAcTF0NRl/lR2YcLNpI87ArytfMDwg+X/HjXJ3aTgIgFomV1ikqh1A3EGiTFh8/1xLzt5Rex07xeQm08eeYHgV8LYCoXluW+YzQdIhqp+vXVwJnBiWMFEUJtrai/eyzcfwPf5jtoUzKK7/4Bf6lqwvxk9m4Bcey8NN/vgcgwt6f/rSkwBOahrb169F57rno2LABHeeei9ToqBJGEyG07CSUHp2815grUMwQ1xkqhCi/zpDu5bv+9EhOlhg4QNjwS7edyMbtuHf6GUuLFB56gOtPVYmMlcQTATWdlbFQjLNMaIYUaxbgjPBYhSEb6UrhKHQpdoBxsVEZ1yBlj4coJ+h8vDWKXFfc0Cucvl4rMs1YU1zWYPgwP9c8PO5aliowAkDzOhmjpXPhTzMElBsHpcvvoEOAmRW8ivJQFiPFgiedSMx6UcdKyBVFAAujPT/8YVnr9lx8MbZcfz0WXXABwp3Tbwi5oCi00hSimWxRcGOQ3ODmvMmM2H2mewFdtuYQGhfjc4LcviIV44dj8TbdSc2Kc8CzMHgd14IEqqlrRAhRojK0xu00hLT8FBMLGXEzwcSQsQhJ65rQ5XGKrNUGkJXeHaB/d/HtzBTT6ZGWi9C4ya+vGTj2OH9Omgk0reWgaIAtikIDjApEEcDbGjvJ8U7G4srWVciWINW2GNVnkJESRoqimD4fLvr0p/HL//k/Z3sotUEIhDs7kR4bw6q3vAVr3v722R7R3MNOTR5knSuK0iOA5pNWo5xJKdNSpIg1SdMBLcyp8alBjhci8KSW22uNbM5CEgYgCKCcFiJVgshmwSOztcgaA5w0hFtNORfDP3kdJ95q1k1W6D7TvdJl6XBtHrfxrBAgKwH0P1eFo6ojvI1A20YIzQSd3AV4Gzh2yBPlApqu+DIC0sI4lXPrsGvPThYNyFdMjLIYKRQA1r7znXjyy18eZ42Z6whdR9u6dSAibLn6amzJ6b2nqABRRro5OXIRUbrytKexdK8zTVqECNk6QIYPcKJAepCfW2OA8ACmD9ny2NW8wxUcQ5Mc4BibdAwwwyAzlB+M7MZE2WU0RQWyyxQ2xyUnG7NUaGlLDbNFLVXQY24u4okA7ecDQueij44NRJayIMqtVO0KIzvBglFUOH251dgL49sUZSGEqFr5htxt1iOqnKdiQlrXrsWfPfBAJutrvkC2DTuVwuaPfQwrLrusbn+cdc9k8SSeqCycqBePLcrF8OZbAMjhWJnkAJCQzYE9jVlR5CIMth5oJjgbiwBLVnmuupVeyADqnKa36WEg3ifbRuQuKtvGgC1LlBwAOWl+XtJ9RlkLm2NnA66teF6NHhHuZpfTfCAVA07sBBKnuRp5or94JqHuleLRYWHofualak+5n19qJGtdDHQpN9oU0Ay9Jo96RFmMFCVZvHkzVv3xH+PY738/20OpKsnhYTQsWYK2detmeyhzF6GxO8t1GbkuMSG4YWdhjA852SKKms5uoUyvObMgxVywa8Uakz2tvMVT0E0vp7akh2U7CA2w7WywciXutExrCXkMdiprzXHSbM3wNgHxY/nrJVnAUbAzW0HaGpOB6QPZ5dxK15oH5GvJ7wOXOWxZDBIaf37pkWxQs9BkZlVCZlXF+ZjL7UtXzyQHOXDckfWrvE1AuIcz3wC2DpIjPw+AXWJjpQOoidj9Sg5vn82NU0lSVAAyvq3KH16dClQljBSTct6HP4yd//ZvmeKJ84Hk0BB6n3kGZ7zpTbM9lLmLZkohIDPAdE+B1YdkGr1b16fEnb23Kf+521LFCMh6RSUsToafLTnkALq0TrmCyE7za5P14HKsbPZb3jiM8WUJPNEiyzrjU9sn3FcKiB8DGcGc+CRNCjnXBeiMD2gm8PblOAQACrQDI1bN24vMCMnTfC7bzoMomnovACfHSplpOCy/c4XuxuRpWW8rh0xWo6JSNL36Fh5NBV8r5iqh9na8/1e/wv+58EKMnZ6k6/gcoWXNGrSuWwc7nYZumpOvoJiYTG0e1xok22tYY5i2P6vcu1RXSFljLHJ0E4CH/5azfplWFwGAjIDcTxUysdw4mbJS3WlczJIQAhRaxIIhebq4uJsr6D6g/YJJ+pO5n5HIjzFyXa+OJQPUIcsjuIsbXCOrVByboiQLKcZICSNFWTSvXIlL//mfsedHP8JL/+//zfZwpsXqt70NWz75SfS85jVVL3G/4LClNahQWOh+lC2KdG91TOpCY4tApWTcboWB0m7F7iLLV0MUeaIlCzWOI6dYJDkWu4d0Lwcmp4aytaLmrGuNgLFTQLi7+NuOI7PR3CrV8tykR2X8kHTJmmFuESI0LqlAcj1ok8e6KSbG0CGqHROkLEaKuc66d78bZ/7JnyD+hS/gsX/8R/zh61+f7SFVRLC9He/8v/8XPRdfDNOnUnWnhWNxbFF6opT0Ci54+ix3MLeTBQG8Qsb6WMUDezPlBWbwom6n8/uBCVkrKRcnNbeLFtpJbmbrbYAoFnytCc46dGPXbAdInGZ3racFSJ2WsViyDYzmVSn5VURZjBSKInj8fhARDK8Xb/vXfwWlxhA7fAiBxgj2P/ok4qdOzfYQJ6Tnoovw5jvvRMf69dPbUJVr48xJ7CRnipUiN4h5MlIxrlkzW5+rW5E6I4jskpYcAQIFOqXrpgbtLopR2CQV4HYW485DnfZYqITYAVDzWUX6sYmsKCIHcHvDpYfZUuiNli4JoX6700LVMVIoJkAIkYnJeduXbwc9/10AgPW378DBZw5jz2PPY89Dj2Gkty+zjjcaxdLXnA9ybLz880dKp9fWgPXvfS8uv/de5TarBkQl4lgEu3PcXmBl4/A2PdHqTFxudpnQx2+vULA5lnRHucIjV1gU6VkmESCQrxkY6yuvVtGUkONMje9IL4QGMoP8ueUW2XRqNZaZQgDJIWD0OBBaVPBWQVFQTUjXmMbus8m+O0oUTQuhCwi9uq5IodfnOVHCSDF1wp1A8yqg/2WYG67EyrNTWHHO/XjzX23BiWMJWCm+SJs+HW1dbOJ/5V0X4/uf+RpGT8xc0chLbr21eqJooV9cnfTE1a4z6flTEL5u37NqZAyNnZI1f2RWmyHrHCUH2dqlmTmxSFrOuDXpVssVF4KXLRIYLUBc6NEem9o4472gQHvx7HHHktl8xS1X5FpKCs8FORNkzc0ViF20dhkxXEJwW5CgX/0uZwKZ31D1bdYhShgppowQAujeAup/GRg6AtG6BtSyCqLvObQvLh7rsHxdI/78ro/ja+/6DABAMww41uQBqJpp5jWCjXR3o339eqx/73uhezzQPR6kR0fxyK23wrEsOOk0Bg8eBACkRuZqMGodUlhgkV9kq4sb3zFVyEZVKlVnxIKcZAtbczgpICUnXt0LaJHs8pnq08jZRpzjVQotYULnMgNOkvdZqRiZKB5IaCx6JoCIOOA6USRD1B7jR2gxjy01mG30OlfwtQBmAGRbEPokU5Smce0qRc1RrjSFogTk2IAQEEKD8DcCq98KOvAI95Jq3wCcfKlkD63WrgDe+o834Hf3/xzvvu198Po0/H//+CPse/jRosu/7RvfwBlvehN000Ts6FH0PvMMXn7gAax++9uxYvt2+KPRzLIrLrsMZjCI0b4+fHP7dpx47jk8+81vouPzn6/2x7AwcDvBA+xGywT8ioK2ClWI37CT1Umn1szJrThmOGtxcRyeYEs1xHWSANysN7fisg1hBACjkZ+OGlzssVycFFf01k3pXiZ2hdmTNOYle5J6SRoQ7OICkkY7yN8KDB9lt1+5GEG5KZPF1UySOMXfA3/b5MsKvW6tDvMOTfCj2tusQwSNq2U/t4jFYohGoxgaGkIkUqSZo6LquF8ZN6OA7BQwNgja/R1g3RV8N7vnxxXFXozG0vjff/r3SMa47YFmmtj8N3+Ds668Eoum2JLk6XvvxQ8/8AH4Ghpw/ZEj8IZKBGYq+Hw5MgZHk1lZ0GSV6jQXy3MFr16DbB9hcADtdEmcGp+xVYjuRbYWzlTjcmSLEG8jIATfGAzuKaMeUQ5GEICAKDNtn+y0tACVumxrQMNKwBvNVNcmgEVY7MB4a1Reir/OGV2pIV5LaIAZkVlwM1TDTBhAy3qIwCTCyE7LelWKqVDu3Okud/SvtiHire7nHUumsfhff1Z387eyQSoqpjBtkyBAJ1/gifXwExANSyE2/LnsX1UewYiJK7+Ubea65frrcennPz9lUQQAXvlDSwwO4sAvfznl7SwctGzAMjlSNBAQ7wXGTuRbAak+7/TKxk6yOPI1cfuSKUFsmZI9zITQgcjyyrZX6OYrthdyQGOnQInTwMhRTB7D5bBAO/UsKDGQXdrwAk1rgPYLgLbzAH870LAa6Hwt0L2VxZThkRainD5kuglElo2vTl4rmtZNLooop6ecYmbQavSoQ+p0WIq5hKabEN1bIJZcDIwNgPb/AvBGIM5+NxBsLXs7S9dE0bPlAgBAy9q1065xsXL7dix5/esBALv+4z9kYT4725xTkY+QWT6ano0lSsek5U/wxOhpYBeHJzy+F9pcIzXMx2D4sq6jqZAeyViohO6DCHYC4WX8WRkhINAJRM6YeH2yQaUmecfmJqiJ05VlwNkJYGgf0Pc7fsT7OKgbkBXFpfswdgCIHeTea1aOC9ITAVrWA+EeCE0DirbpqDKh7mx/tIlw28tMp1ij+v1XjHtDXO1HPaKEkaIqCMML0bUJYsP7gNgR0GgfRKAZomllRdt53z9diXff9Xfw6dMPmDb9frz5K19BqKMD4c5OOfHrssrxPKj3UmuS/dmJ0tvI8TVmkC2BuskuFjOEql1GZtwt4mRdbkYI0wr8tsbyJlthBiFCiyEiSyE8EQjdx0KpUACZEQgQRAnBI3QT8DVOfWwuw4eBk08Dfb9loWT4ONZq9BgLqMK4pUAnhO7h0gBEpWOwqoHQgejyMiZLKeqmta/6nJDrGTf4utqPSrjttttw/vnnIxwOo62tDZdffjn27NmTt0wikcC1116L5uZmhEIhXHHFFejrqyC+DkoYKaqMMHx8ET/0G76YLjofYtVbyl5fNzSs2tCKNZe9sSrjaVu3Du+87z5s/pu/4RfI4Ttwoc2Dmi81hGx2NwHsUisWUyRkQUTDB4gqiJoCcTEjJAdkLSODi0xOGae4W8xOyvgdh4VS41qgYQ0QWcHWEU+EXVrBLvlYDISXjs9Y80QKgt2rQHqUz124B4iewW5ATQa/6z62CrokB6Ubr4Y0nSkD51Pj25rkfi+mK4oUU8MNvq72owIeffRRXHvttXjyySfx0EMPIZ1O49JLL8XoaPa3d/311+OBBx7A9773PTz66KM4duwY3vnOd1a0nzluC1fUJcveABzdAerdBdGxAaJ5JbD6baB9D5ZXnwQAIhP0S6oQx3Gw7JJLCu5CbZmWLcZ35FaweHS7kgsD8LdO/PmQnbUkCE2GpkzDGpccZMuREZyhc0IcrO1vZ+FhBMuK+ylKaojFtu7LFpl0EixycixFQnN7fZUIYA+0g2KHWFg5aVnnqcqi0UlDaDqgBUGGn+s/OSlu0RLszP/NOOna1UcSOtB2AYQvKpvBnsrWmSLi14qWiVDMJPWQrv/ggw/mPb/33nvR1taGnTt34nWvex2Ghobw7//+77jvvvvwhje8AQBwzz33YO3atXjyySdx4YUXlrUfJb0VVUfzN0CsuAyI9wPDxwAAomk5xOo/Lv9uz5xm/yziTuS6cNhNkRFAWvauWMh+V0oU5ZMe5QlZaBxPVOqc5b5HDgA3aHuqODwJp0c4u5EczpSzEiyqa2FRspPS+iXYajSdeCNrRBYojLMocjPXKkXobDkim11d8RPVaVybS2qYS28AMv4uzSIu1AXhzw8gF4E2ILIk+9sZN14TCEwSG8QL5j/1NQNdF7EoArIFNt3PzHV/K2YfUaMHOPMt95FMltdqZ2iIhXpTEycG7Ny5E+l0Glu3bs0ss2bNGvT09GDHjh1lH6qyGM0CiVgMnmBwXreoEEIAy17Pd6Tua9EeYPkbQfsfKr2yZkzPXO5YsiifyROrneDXdeny0YzsREjIutZ44FPf73yA7Gx7DM0z+edRLGjYTfOHQGWp8NI1RxZAKRYC9pjMgLOz+zP85Y2tXJw0Byb7W2V6emjqViOAxyxkhh/copCVj1VoGqjpTP7exvs4zV7ovL1qxMiRzb8NLQhhBIHIMtDQfo47KjYe3QvyNnCGIgCEegBvRJ4HDQIOKNAOnHpm4n1qJtCwSloFA4AZyrdMaR5+fSIBppg1uCVIlS1Gcnvd3fkegptvvhm33HJLyXUdx8HHP/5xvPa1r8VZZ50FAOjt7YXH40FDQ0Pesu3t7ejt7S17XEoYzTBEhMTgIDyhEI4//TQ6Nmyo28j86SIK7vTIsYGmFcCRHZxlMxGOBYwcB8JdJbdP6QTfSSeHQZ4wtIae7JtmWN4B+/lCSxZbHOw4YAsOInZT04XOVol5eh4qwkpIQUkc1zIpE31mcuIWRsmGrNnNyOUKly0UAGSzNamUQNL9wFTmVSsBmIHqxLC4rjRAFsmc2jaF0ECaka095G/j4y9RGbuMrQLhbnaNGUGOJRIa/z7CPZnaR0UJ92SX9UUhNI+0ZDlyyw6o+Wzud6bp7JJNj7Do9LUBvkaOQ5wITZdB6uq3WHe4N5PV3iaAI0eO5NUx8nonj6e79tprsXv3bjz++OPVHROUMJpxhBBo6OEJvPPcczF09CiGDh9Gz2teM8sjqz1C00GgstK86djTwKrOCUUjnXyJY5ZcmlcBrjByt6/nuMyEyRO+24MqNZQ/uU7bBTRPMIP8KBdpLZgwrogsZDrWF11fxiVNJp4KBdZkAmkqF3BKZ8ek+6feAy0XoU/7eyUiS0G6j4833A0M7pueMDKDEE1njn9d90DYYyVLAgghgPBSEFnIFIDUfDmiVkCYUQ4kF4LjpMwAhL/8sh0QIluNXFE31FAXIRKJVFTg8brrrsOPfvQj/PrXv8bixYszr3d0dCCVSmFwcDDPatTX14eOjnJcvYz65s0y0cWL0XXeefivq65CQlZ9ntc4NlesnYzTe4G+Zyd8m2TsEgAWQssuKW//msETqe5j4eTY2cBWN6ZFURmTWUPcOkiFAkHo2bikSZlIeEmBlBrk+BQrUbIdTelx5lhKvI1sUZkOmsnbqMJsIoIdEA0rIHTvNNLmBVucms+a4G3BJRgwUYahLHUhIGvQuOc952bH2wh4OXCenDSfk/gJVNxgQVmM6g6hiYw7rWqPCoOviQjXXXcdvv/97+OXv/wlli1blvf+pk2bYJomHn744cxre/bsweHDh7Fly5ay96NukesAw+PBos2bZ3sYVYUce5wrDQCE4QXWXQE6sgPo31t6G0efAhqWcrFIeaF0HBsY6QVO5dSuMIMQRgXB2pmsoLwBA6k4AMrpvK4oi0w2WilIWo/k505OZcUKS1ml3O25FqSKtluwDaLsrbEZ4ondjVGbDCGFg+6TcTI1uryaISBRQU82l6a1EOGe0stoGic+pKVFyCXj6ix4zk+Q6amX+9s59RzHI0XKqU2UA1H2PCjqh1qajMrk2muvxX333Ycf/vCHCIfDmbihaDQKv9+PaDSKa665BjfccAOampoQiUTw0Y9+FFu2bCk7Iw1Qwqhu2PLxj8/2EKpKMVGUec/fBLHqLaC+50AnXwJGcyry5pKOg56+B2hYBvJFgdETwHAvX7jdGjstqyEWb55enJa7Ld0zvo2JzG7jIFVPdZqczjcqiZ8hC1xIsR4tc8SWJzOnqrcZLi2MhAzwh2t5tGsrioApCHcBNK6eXBS56CZAgckD0IXOQkmTSQzQOKPRdcVGl3NsUWhRZcNNnOJteyJzv7r6PKKWwdfl8rWvfQ0AcMkll+S9fs899+D9738/AOCLX/wiNE3DFVdcgWQyiW3btuGuu+6qaD/qW6eYNUT72RDtZ4NGT4EOPgrEjhRfcPBA/vNgK7RlXLCLPI3crmA6lCqcJ6QLSCtoQKtiILLMq55VcnJ3m9nqHsDTyK1R8o5TZoZREbddeqS2dZh8FfQsMwJA81kQlawDFKTIF6sUnxtcDmlBSnP8nrzBEN6GyotmEmXLElAQaoqqI+rAYlSOS9bn8+HOO+/EnXfeOdVRqW+dYvYRwRaIdVeAxgaAgQOg409zHysXfxOQGMxeiAcPg9IJCNNXUIRuBsWKux8nXVGz3DmBlcim3Bv+yS9eFd/VV2otEhW4x6Zx4c51D5GTtYQZXsD2lB+M7cZO1UowmiHwcU4ySXiiQMOKykURkI0DFAZn6qVGxn8+eTjZ8hfJwalX6s47z8qVVk/UQ4HHmUIJI0XdIPyNgL8R6DiH44hirwINSyBC7aCxAdCeHwHBVoju87MrpUdy4hEoO6GZoeqkXU/KfLKWQGbt5bhQnBRPcuQgMxmPmxTLDazNqVNUMWXsQxjTC57PnZQt13VqyHIOZQozobGVpIZFCYXQQOFu7n1WfAkOsA525gRIV4ju4+PWZbaf7i0d1E5uVqd0lSb62Y1W6U2D2wrE26jc1nWG0Kp/Sa3X7i5KGCnqDqHpQGQRP9zX/I3AWX8KjPTm30dmzO6ZJfmRGpaxIjX+5QnKty7MZYjGx5WQDSRjUhNVENQs3AKPmlzPQSYAuxLKDqbWpii4MjsCp5/r2aKgZAPCzxYx3QSsiSpPC3adGb7qFp4sRWQZMHKs+DFrJkSlcT3jtqEBWo7FR9MBp7xqxJzdR0AqxpWtK8Hw829a9TGsP+rAlTZTKGGkmDMIwwtEe7KTluYBQNl+UsKQwdKyds5M/OjmU3yNEFy/x3Gzu9xJ10b5lT2EzFJzK1UTxrvO3F4AcgItRbkWINeNM11yRZiTBtKOLAbqAVAgGoWeI4hm1p0qDD8o2AmMFInLIxtEzpStRUQ0PplBM4t/vuPca5o855DtPSrMLtM8bK1ybLY66fKzVdajWUe50hSKekWI8Vk5wuA2FrmZbTMljOYbQuNJyJaxU677pBzR4bqycsWF62LJtWwkh5Bp8eFt5H258Si2rCWle7mIoRGUMUxVElATjr2Yi0+KbLcLfdpN45fxM6W+YzPRnNjXPKEwgp2cUtkJSsYAjxvDlIPQpDhKs5s6PSqz8HI/MzcY2z1Xriiu8ObBsWRsmyEzAtXvuC7QBD+qvc06RAkjxdxH0+VdZk6bkSmk+ZIjG3aGFkE4crJecPVUhHRjyKai0LLWGKEjM0mNExElXFlkSSuS2/MsRzglB/ivNZK/jhvonB7hLKzJ3GmVxi5lWlmUsa7Q+PsU6JTPy/g+kGyGW6r9xXTxt/J31C5wcXkiU2tcCyBTjLMQ27UaykATTzTbkzCvIjlyPh+3KnoFODa3KHFIlgKQojoxBHibF9hvsc7QBaBXOWSgyun/1WIeBEYoFOAJIjfgukw3ApENsuKgRD8wfADwRCHsJJA4DYydLD5hzuf4B03nuBphSiHkWoDsrIXAFTp5TGTRka41aLyNSqtSa2aJbefuvsJzYgZy1p1k+0YAGYFY7sSs6TUTRW7KstB0oPns8Qt4m6Ze18sMFl9X0+RNgp61lOlmfhwSEVuU3LpPZoUlC9wAf83koPf0gLQ2Amx1qoavVDF1tGwEdrUedSpBlMVIMX/QvTlduSd3rRA5wNB+OVkTYIQgrBEgkdNywUnz3TdZgBmVjTEH+bm3aX7GPng8gGNM0o/Lre8kG/BOZHHR/TxZZgRRhRdCMzi5m0wzACPE1gsnhayVq1Asybgm3cfL6F7ZEmYSS5Nb9LFOznWecPE1s3DLbRNSq3GKIn0OdRnn56QAW8Zg6X4+b5Wm69uJrNAiYjeqNQJo0q2mmF10rQYWIyWMFIrak5k0dBlzpGXvdp1UdjIH+ELsulM0DwRZgK8LiB/PTuRWPDvppAp62dlptjx4G+dHVloumsYumfQwMm0u7ES+28YTyX7eTlpalJCf2UZpnuBSg3wOym2vAbAYEUK64CYQR0KXy2ksEFIpnpQ1Q7p5wOfY7Y/npLKZY0ZAxjuVgRVnS0aduXKEEKBABxB7hV/wt0JEl099e5OJKlcIu9memgYIH0AmixgjAHgaKv+cXFHk/jY1HbAdgKSlUfcB6STgUe16Zo0FlK+vhJFi/uIG8gqDJ3TdB9jDIM3gC/fIoeyyThpkhiFGJ0iBLoaTBNLEd8iGr25/5FPG7RcG14XkB+wUOCjZTcF3JzITmeajbtYgkHWPCI3FkzNRynshOguYTPB2gTDSvFx4URj5k7DuzQoYs6Bauft+9gBRtnuGbCA1xOvrnvrKRgx2AsMHWaC3nFM8q6xMJlxXCD53qeT4atZCsOj1NPBvoWJRlASf74LP1AgBIsHnMxXj748SRrOHCr5WKOYBhh+wZYCo4cvekaaGgOTpgsnWbfFQYS0cJwUk+wG9c/4JIyD/mITGk28qJie/Isfr1rDJPLflspVUrwbgjSCb5STLL7h1hjRTZoUV7F/Tx7dumQgi/h5UErdCdtaCKAwexywI4kLxIjxhUMeFbPWcZm8xIQTITkPoRcoPGLJ/mpXMj9EC+LOYSskCIgAGoOvjX08PS2utyP4uHbumxTMVJdD18eepGtusQ5QwUsxfhC794rK+kaaxyd+te1SIPQYyQ7K8jgVR7kRuhhZGs0t3MjaDE6eqO+kCwekuU052nyyUaI9hnDXHDFd3QhSCM6vSw5UHhAM8UWuzYyUsZtERnkj1duCkQZo+vg6S4ZOuyQTgmOOtdVOCimfjOzbfyPjDfBNjy+cqAHv2UAUeFYp5ghAA9OzFVwjA18IxL4W47hIAEAbIkF3C4XD6fjEMP1tRFhKlROA4MSlju4wAu8bMMAvT5OmC5QQHs8PJBvS6GIHaWAmE4PEkB1DxhFtHwdjVRrjWoGKlKnQPi8LUKGelGYGpT25E2Z6InnBWZJIjM/2lS9QtreCNLIwbkHpFWYwUinlMOddxsoC0FEkZgVQEOwUa7gWCLcXdGI7NIsAITG8SmSvo3qz7Q/dke265/bYAtjjB4ew+FzPHdVYoUopZZUgWDyyM9XFdeXaSJ1GhT27VERoH6pd7bszQvBVFedgpAHY2YUHoslWIbA9iyxIObpB8JRDl10BKDrF7TjPHB/l6wtJ1Nw9d1XMJZTFSKOYzlV7Es1YQcmxAaByLQQ4wOgA6/gzEysuAyOLx6zpJGbSaAjkpQA9wa5P5ittE1U2ZnwhPlGNVNFP2IvOML1ToYqfyg6aJOK7LTmW7uJPDxSDtFPIy2IQhm+DaHBica3kiYsuhFZcp/AXuu9zq1bpX1jPC/IwlK4ZuAqkxgMYAyPPqWnAgMzXdbMTCdPpShVHtFJ97SvNnSQ4gzNJ95lwBPF/6Es5FdK0GFqP6PJdKGCkWHpkKzmW6T3KrJDsO6PgukDcM9O/LxtPEjhUXRrkT7uhJ0HAfxJKLp38M9Uw5GVuaCeQ2OiXiCc8aG7+sk2KLjmuREyIrolzX50SQlXXbiRF2o+ZuxxU/bhkBLSeo25FWJ0/zwgz4FW7JhlEp7mPZIqq57WKK3WgUE0sAn0e3PpbbKkaYgGeSYpDueXKo4g4jiuogRA16pdWpxagu5Nqdd96JpUuXwufzYfPmzfjtb38720NSzFPIsYF4L6YaxCkMk3tJnXo5P8i4Ycm4/VA6AbK5eCRBgPb+Aoi9OvXBz2cylogJSMVyRMwUgqUBjO/thfEp/U6Sg7/tMQDELr6FKIpcyGFXsitiUoNZ65sriJy0rHpN2XOkGfkVxe0UxxNlaoHlZCmWm+QgRNZiMd3eeIrKcWOMqv2oQ2bdYvSd73wHN9xwA+6++25s3rwZX/rSl7Bt2zbs2bMHbW1tsz08xTyCiIDRI+xymWxZ2+ZUf7KB0SGISHvmPRFqBQ0ekm4bycABINQOSo8B/S+DUnHg1aeAcCdIM3kyd1LASC+cky9Ba11Ti0Oc2wgtJ15FA7cjyS2jQABEfgHJSrHT+X3E3JpEE03OC1kUAfKzIY4Ls+IsglIxFrFGkIWkFZflE4rc/VtJdsml48jrkZfXn86Z2MJUDCfNX4U6dcPMW1SM0czxhS98AR/84AfxgQ98AABw991348c//jG+8Y1v4NOf/vQsj04xbyAHwkqAzDBgJSavV2Slgd7dQGIQ0D1wjM0QugkaPAKc3j/ujpWOPgUa6QUGDyHPGjV8fPy2jz8NKGE0HqEVBDVPIEqmkl4PsJXDE85/zUqUb7FYiLgTl21lK5iDZOycJUWmKf8vqGPkpFjE2lpW7EptO+73Z8VlUL7rJqVsOQDHzg/eTyelpWEKdZMUU0fTshXPq7nNOmRWhVEqlcLOnTtx4403Zl7TNA1bt27Fjh07iq6TTCaRTGaDNGOxWNHlFPOYqQRgOmnAHuNrsr9NulUcINGPou0mRk8BSfndslPAwccmcb4RMHhw8nH4moC2s+CMDULzN1R2DApmqm6Uwlo/REBqYPrjme/kihLdmxMkbwN2XFa7LiZiNWSrpOdQ+EPSzOy5sRL525LJDnmCWWgFrjpSAdkzwQISRrM6qlOnTsG2bbS3t+e93t7ejt7e3qLr3HbbbYhGo5lHd3f3TAxVUU/YSXaJlDtBEuUF9QoQhNA4vT7Yxe6bQkIt1Y9j0DxA1/nAwUeAZ78F58AjoJMvgYpZlRTFcazKq5MD/Nm7k2lutlmpuCZA1RN0ESIbb5RX4doVJU5+TBFQvhsyk3EmSzBoZvY1Tc8XRY7bYkbe0zs2W5CsOMcw2UlexrFVHFK1cYVRtR91SH2OqgQ33ngjhoaGMo8jR47M9pAUM43ukzVqyvz6kj2hu0SQzQG4ZjT/dY8PMKvZl0kA4S6g7xnAFwXCnYBjgfY9CNr9HTjPfBPOid1cAkBRHCcNjJ2Y2rquKEoNZTPQnLSsc1TCcG5NHo+2YHCtrEZBOxBrJPsbK6x6XuymI5fcMghk8Q1MeoTPEzmykawjBbFsXqvnnC93crVT7LpLjyDjr3MsFkh2cmoiqVDoLXR0rTaPOmRWXWktLS3QdR19fX15r/f19aGjo6PoOl6vF17vPK4Do5icigP2ZPXr3OBPtzEqOexeczuyayZANih+EkgXSR2fMgQMHeR/NZMv1EOHs2/HTwH7fwEYAW4mH2iF8E4yqSw0Ku1tlosnR/gScVCwneTJXDMA4eVMtNwJVOiAoc5BBl029UVhuj7YBaaZAEgKHcqm9Zcit62Iuz1H1q0yfGz9IeJ9kmwf4sYyudY/w8vn0G1eTA4vY4NLA5ANLjjqNhg2ilsqSIqwTLsb4vIAtQg6nosUFt6s1jbrkFkVRh6PB5s2bcLDDz+Myy+/HADgOA4efvhhXHfddbM5NMV8QtPZymTLbCY3CynnjlCAMiZ7EgYHX9cKJ81B3UWgA79il4DQQN5IJp5CdF8I0bi8dmOaC0zHmmaN8YRNJFPxC7dts1uN7OwE7WtWLSgKERpbYcxQ1qoDsLXHtthCRG4bGB8LCjMCQFa61sx8d2juxGinwVamEAsa1zLs4lic3SZMPp+utUEEswHdjg04IwACXH8JOXFIdkJaC2VVds2TbTvijqWwaTKIxyXqN7V8xqiFhUdZjIpzww034Oqrr8Z5552HCy64AF/60pcwOjqayVJTKKaNleAsGiBbj2UCiAg0NgjEZyko1+0dRU6eeKKX/hvUsQFi6R/VbVG0muCKVzdVfMrbseWkOIm40kzep2s9VIzHjR3yRGSCQs5nmulvllsSQX6OubFC1pi0FuW2/ohw3zq3lYudAJBTrVzo2fIKIshChRywdUrnIHBd8PekZEkO2TLGTsrAbv/E5QaEkC1QbD7MhVy+QYjqxwTV6bVs1oXRlVdeiZMnT+Kmm25Cb28vNmzYgAcffHBcQLZCMWWcNIshYZRMzab+V0DHdrKQqkd6d4ESA0DnRsD0QwTncZ2v1IhMCU/zZGtP85w4VnnCihyemKvpQivVHmMuI3TAG2URUqloNYrF77nWHcFihQoCukVO0LVrvckVVq7w0k3evmPJgp0TtJoBeB/WKC/rCeWfq1xRrnvyK6XPx/M5GaqO0cxy3XXXKdeZonZoJpv2S1mKUnHQ4d/M4KCmyOAhLi4JAOd+AMIXLb38nEVWRhaadHNJS85UMtIAKYzLvNvXjOpaBur04j9t3DYuZjgnoN2S7t8in185osKU7k7dk03VL1dYOjbv10qwG083+aF5gfQkZV2cFLveNA+75ewkbw+QsUk5wshKVDkxY46g6dW3mNWpBa4uhJFCUVN0T44rpTh0+sAMDqhKDB0CfOtnexS1wfAC6cJg62mY8R1bZjOVEbzt2OUtt9DJxOYIttDYadkHTQomI5itcE2UEzQtkGknkit4hMZxRa4Q0iucnjRZpdspsArrJmCbk1i1KBu8bYYBU8ZCZQKxc45ZN1g46QssCSjntFV1m3WIEkaK+Y/QZOCtxRe7AshKAb3PzMLApgeNDdTrdWX6aAafs7z2H874bCg3TsVJjdtEPk4FViM5uarA68rQTUBEWWA4KXZBuTFAAGAB0AN8DrQJMsNKkXGDa8Vf12SGmyeY/75rxSqKyFolgfxg7InO/0KNPVtABR7VL3+qzNe4gfmKEIARki0NCt4yPKCGHu53NocQhe0t5htGcHxfNPcu3i0GSBZAZYgd3Scnx5zmpYrqo+mAFgQgxQkRC1nHAkcvu3WFvICjy9eE/KuDRZSTU4wTMrbFbStS7JorSrtknDQLaNPMEWsAoHEGnG7KQpHD/D6QjYFS1/ksKsZIMSm5AXp1enIVBWTS9se71ETXRu51lh6DzP2d8eFVhOEDWlbP9ihqS1ErUJEWE0KUPl2uy8OdEDOVlksIJCWeqoOQqfG5GWlu/SH32kkOIDxcs0iI7PlxLTZOOltOoeg+JhHGuYHemiGTK9xMNmn90XRZgiCWrZKve3lMuiG/Owu8npESRoqyqdMTq5iAiYSRJwCsfiuofy+E6QcdfiL7puGD6FgPmH7QgUdncLATIHSINW+DKHQZzDfKjeFwXWTlipnMcjL9u1hdI0daNcoN2FaUT94EW/D52glZY0gKFjvNr5mhKu1bB8wgyHEgCt04msElA6yxnOKf3myQ+UJHCSOFYp6i6Xyxc8an8ArTC9FxFmhsAGhczhdEbxCi+Qx2tyVHi2xwhtE9EGvfARHunO2R1B7N4LTtYsKlEKED0KRXpjDIdoKLb6mLstCR6QSvmBkybjhkM9g0DdAjE65CuY1kiSByXGr8HvdFHEdqCOSJ5C3P+zMA10VNdtaVp1DCSKGY15gBIDlxbRPhb4RY+lp+kmtdMv2AvwkYO13jAU6M6L5wYYgil3Kvm67bTQ/KWjeuu8bCxK5R2d7ClPVrIAs75rapKAflTq8+E1mUCknFOBXf1wrEe7m1jyfCwtZxsq6yHIgIGOsD4HB18wnHoOd//xa6O021BFEo5jFulpobaDnxggWracDy1wFDx0BDR4HhY7UbY7GxRLuB9nmanl8MOzmFYptS4ADyDlfGpZCdFUy5i+p6ZVlGxWrxWGO8jSKTsKLG6B5gNMYVs+0kkDjJrwuNY5IaVo13yZLNRSlpEmFUyExP4vUmuFW6vkIxz9F9ctIt1SJivJVB6CbQtARo7AHGhkADB4Hh41ypuZaEF0Gsvby4W2A+Qg6QOI2yg+B1X3a9/A3xH7cPmosbk2SnK7MQ5VY/Bnh9JwVQGtDna7HN+oHIyfwGiAgYPlT8BoccwN9RXPRacQAEWKMgx4Ko17IM9SSKgAWVrl+fo1Ioao3bA2nKqwuIQAO0RRsgFm2s4sAmwPQtHFEEAHYKk/Y1q4RcUaSZskGph11t6dF8sTMZedaiOG+7sKigoqqQbYFGjwP9u0EjR1gUpYZkQckiaCa7zIvULcsTz/E+ULoOYgfnBKJGj/qjTqWyQjEDmCFu2lq0zYTGVoBymCiNuJpMp7P8XGS6vdGKIWRgbUZgSquhNQqQD5k+XOVAjhRF7neHeBKuV+vDHIYcGxg9AiRO8QvxXo4tKpUxKAxwfaMiFqPcG4z4MSB+HNSyoX4tR/WCVoMmslp9CqMFdAtaAZXcPSrmLkLjQE0jiHF3LkJwld5y8AYBbwQwa5g+X6+NbWtFOZlo5ULEQsaWIijXuuP2YyvXGuek2cKUGspvTpopIKmoJuQWXnRFkYsVn9haBPD3Z+AFYPgISFqNMhls4yxEVN3vW7Vxv7/1wPw3FgFQFqPi5BYfqzc/r6K6CCEbTnplsK+MP3AscA+DMjZheCBWbwM5Nmj391GT4pChBZSJBoDv9j0y9b6Mz1NoE0weGt/+uXEoqRiAGIthbwMH4TtmeaKGiC2MxcYjdCWMqgzF+/j3OXxoqlsAEn1AehDkawW8TSDdAySLZJWOneIeafWEK+SsBH+/jBmwTJdCpesvcDTZ0dlxOGtFMf/JCCQP1ziRDSVFBT9coenAkotAhx6r/vCCFWTPzAcCHfyX7OKCJz2Sje0R4N+r7pNp2ikZVC3YHWoXcYm66f1uZeZyKCXSyt2Gonzix6sTu2UngdGjnNavmcWDtROnQOEl9RXH56R5rHqoPuYhla6vAFC3EfOKGiI0kBkBRo6wNSG3nUA5BBqqPyZvGGhZW/3tzgWEXjyWxNvIfx0rK5Jc1xY5AJzigiiz3Sn8tieMaZE92BRVg5ID0mpbRetrKlb6/XQc8FSpwnY10Ey2Yk0jSaSqLCCLkZr5FYoCuBquxpajyXz7mlcKqADHJMWOV39AZrAiy9WCI5NxJmsYZfptlfrMpiKMJrhj1r11e4Gfi1A6Lt1nMxzrGXsFFO/NqaY9y7jNc+sFTdTmUQG//vWv8da3vhVdXV0QQuAHP/hB3vtEhJtuugmdnZ3w+/3YunUr9u7dW/mhVrzGQkFd6BY2bnfvUpOr5kGmCaa0UpBVrPHp9BBLX1f1bS4ING9lmWblUGzSVG60KUFE8uGAEv2gwZdBp54BBp4v0tZlBnCSbCk+/TzImrgy/oxSV/PQ7Kfrj46O4pxzzsGdd95Z9P3Pf/7z+MpXvoK7774bTz31FILBILZt24ZEorLkFeVKK0VdfSkVM4rQkenkPtHkqpnjGpcKX0N173O7zoMId1VziwsHAT53dpEges8UAm3dwPy8fWil08bJ4Um+3Ia4C4nkIDByaHZEUCnsMWCsFwgvme2R1Bd1UOBx+/bt2L59e9H3iAhf+tKX8D//5//E29/+dgDAf/7nf6K9vR0/+MEP8O53v7v8YVU0KoVioeDWp7Fkaq8wxj+KWg8MINACBFqnPwYzANG0fPrbma84Vn7K/ERoPpDQM8mm8DRU1gYEyKb7j9v2JG40oSlRVACl46ChvUBsX/2JIpexEyArAXJmOE2+Xtx4xXBjjKr9ABCLxfIeyRK9LCfiwIED6O3txdatWzOvRaNRbN68GTt27KhoW8pipFAUQI7N/a8AIB0H6UEIyqlz4qaGG6Fx/bFEdBFEdBEAwNn7C2CkwpijyGJuVgvBDWP9TdM4knmOY01aCJKIOBspk4kkQMHOKYRKu2b/golLudEqZ+Rw6RpE9cLp3UBwERCcwVIZC9RL0d3dnff85ptvxi233FLRNnp7ewEA7e3tea+3t7dn3isXJYwUikLIyg/oteP5FgY3INsaAcjNXCtyZxnu4Mk7fnLyfTYuA5pWQrSuqa+U4XpmkjmEyAES/QWVzYmz2DyRCvclOO4sz8LhBnkryoUo56aj7iEg0Q/yNkIYvtkezOxTQ1fakSNHEIlkf5Ne7+xaWZUwUigKya2d4m0qXXXWjkvh5OUWIzkCSes4CxTuAL3804nX90YhVm6HCHdMf9wLDCKaUBsR2dzYt1i7l9RQ5cIIkLFmOcJI9y3YO/wpQ864uLy6xh4DBp4HNZ4J6N6FfdNSw3T9SCSSJ4ymQkcHX0P7+vrQ2Zm18vX19WHDhg0VbWsBn2WFYiLy3SVlpco7SSDZP751h5XkwpHFCHdBnPWnShRNFSuR1+6BrDhXHyeHK1TbRQr5TQfDz2UZNA/Xl6m0xpUCAAG+ltkeRGWQAwztnUOWrhrhlquo9qNKLFu2DB0dHXj44Yczr8ViMTz11FPYsmVLRdtSFiOFopC8gN4icSWlMPx5y4twO6jpDODE8+OXbVoB4alhf7X5jgDgpEFC51ij1NDk6/g7AF/jFPcnlBiaLo5dX7V5ysVO1k+/stmiDipfj4yMYN++fZnnBw4cwK5du9DU1ISenh58/OMfx9///d9j5cqVWLZsGT772c+iq6sLl19+eUX7UcJIUVOInLlnfnYz0TQPKhJF44oKEigxAIwNFl/eKa8Xm6IE6RHZGLbM7CZ7DEgQCAThb6vt2BTjEIYfVK+ZaJNRqpL6QqAWBScrdM39/ve/x+tf//rM8xtuuAEAcPXVV+Pee+/F3/7t32J0dBQf+tCHMDg4iIsuuggPPvggfL7KYsSUMFLUlDknigAgKS0PZhiiWFD1RJDN7jTIbKjhk6BXd04cU6ECdyuCiAA7mR8IS1ZlBZJTQwCGgODiag9PUS7+luKNXOud1ACwkLNE68BidMkll5SsTC6EwOc+9zl87nOfm9awlDBSKHIgK85WBSNYmSgqZPAo6PgzE78f7YZoO3Pq21+IWKPA6HGQt4HvNMdOTb6OGw+UHuE4MADwRKcWfK2oCsITBXkik/cuqzfmqqWrWtSBMJoplDBSKHJxrTiVFgDMgWJ9pUWRNwyx+m0Q+tT3sSAxglIQ9ZW/jrcRgOAii06SRVJwseo9N9t4m+eeMPJEZ3sEs4yG6udrKWGkUNQ/CWniFxqm0sSSdD/QuoYtEq/8CoX1jcTiCwF/gxJFU0AIAfI2AfFj5a9kxQE7xaJIaECwS4miemAu1gWaShuZ+UQN0/XrjfqUawrFbCE0dr9MMQNFGF6ukRztgtjwHqDjnOybTSu4snXz6uqMdSHibWTLUbmkh6Uo0oFQD8Q0LIGK6iHM0PQtMIafLYCe6Ay4ZATXrVrQ1CJVvz4liLIYKRS56D7ASQEIYSoWI0AH4HBumgDQuR6ILAK9/BOI9rMhoirodzpkrEZu5mBZKxlAZCnEgp/Y6gwzXF6JBQCAAHzNPJnqPsDbAJHTg47sNNetSsWAeB+m9tstgb8NQlvg06WKMVIoFii2LOImpnhhLSh7JABQoAloOgOiQXXrrgrpCmJTPBEg0KUmtXrESZW3nL8dCHSWdD8L3QT0KOCJctHPxCn3DbYoTScLztcKhNQNjRJGCsU8xE3zLBlj4t7BklP5j3ai5TUDYuWbK9uWYmJ8LUB6NL/dhyeKrCoV3J7F8CkrUZ1CyaHiWYX+NtlqReMsMKGztaaSWJTwUlmQ0eL/hw9NfaBCB0KL52bZkWqjhJFCMf+Y7OJKjsWtJACwS6xCqxE5/DDDOam9guvu1OkFYC4iDD+oYSWQHJTxJboKqJ5jCG8U1LgaGD3OliMjyIHxumf62xYCFOiQmYhptjiNHp1aur2/dWasjU4agGxUXKcIoVVdINar4Kzfs6BQzDSjr4LFkAbOJpvCZJsc4AuyGaru2BR5CKFzzIliziLMENCwsjbb9jZwz7zkEGeTBRcBI0eLNxWecCMGEOicfLlqIHSOjzKDvN96FPp1UPl6plDCSKEA8uMSvA0Q0wneTJzO1txRKBSzghAaEJQNms0g/6KHD5a/AU945mLThMbxcHYS0ASLo7pDYEo3i5Nus/6ox09foZh5Rg7npOhPM6PF8ClRpFDUG0aABUi5pThm2urrWmPSw9mYObLrx72m6fyo9jbrkDr5xBWKWSav/47rSqsUGfTra63SoBQKRbUQZhDUeCZbhu0ku9k0nWOQ4n0AyXikYCcgjFmKWyMWbskBdq+5lqS6QFmMFIqFhRnilF7Ny3dp5VwUjSBgBvgCpplcGFJZihSKukUYfiDUDQAgh5s7C00H+VsBJ83vzxZ2CrCS2eeaUV9FJZXFSKFYYLh9m8xA+fcwukf1T1Io5ihC00HWGKD5OZZIM7ikR3oUwjMLyROaydW83eKlruuvblAWI4ViwUB2GkgNymcFFRoLMSOAnWBzdz3dzSkUiooRhh801s+WXjPEooQccOX7GcJ2rURatom1GaozUQTp2quyhafa26sSShgpFCAuGmiNTb6oJwQYbbUfkkKhmBk0DRjal33ua5m5UhCOzdcdslkkmGF+VKGeU9VZQE1klTBSKJIDgLeBi6wRlbbupoa56rJfBVgrFPMCTwPXHrOTAATgbZqZ/RIBVpxFEcA1jDQdXFy2DlHCSJGHm7FUpydRMXWIHA6a1rwserwNKOlKczt6KxSKeYEQAhQ5gwu8+ttZoNQaJy3b2riiKMQxRvWMcqUp8iHZgkkJo/mGEBoIBKTH+PySI091kXMtNBZF6nugUMwrhBkEGlbVfkeOld/nTzPnWDHYuTLO6aGEUTkIbaF8HxYcnIUywhcocrK+/kI8URkQqb4ICoViCliJbMaZixGo25T1cagmsgrFAiE1BDhJrmEEAjRzfDsQX4t0sSkUCsUUcJxsDJN7fdF99VPVuhwWUIxRzeTa0qVLIYTIe9x+++15yzz77LO4+OKL4fP50N3djc9//vO1Go5CMQ5yLPb1O05O5+0iP9T0CN/tldtKQDFnIXWOFbVA0wCvtDqbYa5mPROxTNXEjTGq9qMOqalc/dznPocPfvCDmefhcDZoNRaL4dJLL8XWrVtx991347nnnsNf/MVfoKGhAR/60IdqOSyFghE6X6jSw4BlcGZKsarXdgIYPQoEOma+f5JiRhF1atpXzBM0s26tJJOjCjxWhXA4jI6OjqLvfetb30IqlcI3vvENeDwerFu3Drt27cIXvvAFJYwUM4NjcY8kK8nWIM2cIOhaB3xNHCSpUCgUU2XOiiIoV1q1uP3229Hc3Ixzzz0Xd9xxByzLyry3Y8cOvO51r4PHky1ktW3bNuzZswcDAwMTbjOZTCIWi+U9FIopITR2oelewFMiBT/QycHXdfojVigUitqjZQOwq/WorQSZMjWzGH3sYx/Dxo0b0dTUhCeeeAI33ngjjh8/ji984QsAgN7eXixbtixvnfb29sx7jY2NRbd722234dZbb63VsBULCaFxYHXiJFuFCuNLNJOLvene2RmfQqGYHxDNgxurheNKq0iuffrTnx4XUF34eOmllwAAN9xwAy655BKsX78eH/7wh/Ev//Iv+OpXv4pkMjnJXkpz4403YmhoKPM4cuTItLanWLgI1zQsDO6VlgnAlphhtiTN+QuaQqGYXUoUjZ0rqODr4nziE5/A+9///pLLLF++vOjrmzdvhmVZOHjwIFavXo2Ojg709fXlLeM+nyguCQC8Xi+8XnUHr6gWGvdFshMA3MuXFELWGODYEHOlzohCoahP5kNQ/wKKMapIGLW2tqK1dWo9onbt2gVN09DWxg04t2zZgs985jNIp9MwTS6F/tBDD2H16tUTutEUiqrjCXM6vuEH7BTfwThpdqNZoxyY7QnM9igVCsV8Yc62mKpFTFB9CsaajGrHjh340pe+hGeeeQavvPIKvvWtb+H666/He9/73ozo+bM/+zN4PB5cc801eP755/Gd73wHX/7yl3HDDTfUYkgKRVGEEJyCr/tZHJHFcUWaAaRiQLJ/vItNoVAopkotLC8zAA+7dChN5Y/ZPqri1CT42uv14v7778ctt9yCZDKJZcuW4frrr88TPdFoFD//+c9x7bXXYtOmTWhpacFNN92kUvUVM44QAgh2gBwbSJzmjteOzVYjxwKGD3O8kRlgASXE/DCNKxSKaUPSAlS01Me8YuEEX9dEGG3cuBFPPvnkpMutX78ejz32WC2GoFBUjNB0kL+FS/eTDaQDgNBAwgDMEIRmzMk7PYVCUTvmvyCSqF5pCsXCRAgBGD5+Ygb5bpAcFYCtUCgWNkoYKRQKwE3pV6JIoVAscJQwUigUCoVCoXBRMUYKhUKhUCgUjLIYKRQKhUKhUEhUgUeFQqFQKBQKSS1aeNRp/KYSRgqFQqFQKCZBxRjNGdziWrFYbJZHolAoFArF3MCdM905dNLlh0eq7vqKDY9UdXvVYs4Lo+HhYQBAd3f3LI9EoVAoFIq5xfDwMKLR6ITvezwedHR0oHvlOTXZf0dHBzweT022PVUElSsX6xTHcXDs2DGEw+F5WYE0Fouhu7sbR44cQSQSme3h1IyFcpzAwjnWhXKcwMI51oVynMD8P1YiwvDwMLq6uqBppbPDEokEUqlUTcbh8Xjg8/lqsu2pMuctRpqmYfHixbM9jJoTiUTm5Y+zkIVynMDCOdaFcpzAwjnWhXKcwPw+1lKWolx8Pl/diZdaUp9FBBQKhUKhUChmASWMFAqFQqFQKCRKGNU5Xq8XN998M7xe72wPpaYslOMEFs6xLpTjBBbOsS6U4wQW1rEq8pnzwdcKhUKhUCgU1UJZjBQKhUKhUCgkShgpFAqFQqFQSJQwUigUCoVCoZAoYaRQKBQKhUIhUcKoTviHf/gHvOY1r0EgEEBDQ0PRZYQQ4x73339/3jKPPPIINm7cCK/XixUrVuDee++t/eArpJxjPXz4MN7ylrcgEAigra0Nn/rUp2BZVt4yc+FYC1m6dOm4c3j77bfnLfPss8/i4osvhs/nQ3d3Nz7/+c/P0minx5133omlS5fC5/Nh8+bN+O1vfzvbQ5oWt9xyy7hzt2bNmsz7iUQC1157LZqbmxEKhXDFFVegr69vFkdcPr/+9a/x1re+FV1dXRBC4Ac/+EHe+0SEm266CZ2dnfD7/di6dSv27t2bt8zp06fxnve8B5FIBA0NDbjmmmswMlJfvbAmO873v//9487xZZddlrfMXDhOxfRQwqhOSKVS+JM/+RN85CMfKbncPffcg+PHj2cel19+eea9AwcO4C1veQte//rXY9euXfj4xz+Ov/zLv8TPfvazGo++MiY7Vtu28Za3vAWpVApPPPEE/uM//gP33nsvbrrppswyc+VYi/G5z30u7xx+9KMfzbwXi8Vw6aWXYsmSJdi5cyfuuOMO3HLLLfj6178+iyOunO985zu44YYbcPPNN+MPf/gDzjnnHGzbtg0nTpyY7aFNi3Xr1uWdu8cffzzz3vXXX48HHngA3/ve9/Doo4/i2LFjeOc73zmLoy2f0dFRnHPOObjzzjuLvv/5z38eX/nKV3D33XfjqaeeQjAYxLZt25BIJDLLvOc978Hzzz+Phx56CD/60Y/w61//Gh/60Idm6hDKYrLjBIDLLrss7xx/+9vfznt/LhynYpqQoq645557KBqNFn0PAH3/+9+fcN2//du/pXXr1uW9duWVV9K2bduqOMLqMdGx/uQnPyFN06i3tzfz2te+9jWKRCKUTCaJaO4dq8uSJUvoi1/84oTv33XXXdTY2Jg5TiKi//E//getXr16BkZXPS644AK69tprM89t26auri667bbbZnFU0+Pmm2+mc845p+h7g4ODZJomfe9738u89uKLLxIA2rFjxwyNsDoUXmccx6GOjg664447Mq8NDg6S1+ulb3/720RE9MILLxAA+t3vfpdZ5qc//SkJIejVV1+dsbFXQrHr6dVXX01vf/vbJ1xnLh6nonKUxWiOce2116KlpQUXXHABvvGNb4ByylDt2LEDW7duzVt+27Zt2LFjx0wPc1rs2LEDZ599Ntrb2zOvbdu2DbFYDM8//3xmmbl6rLfffjuam5tx7rnn4o477shzEe7YsQOve93r8rpNb9u2DXv27MHAwMBsDLdiUqkUdu7cmXd+NE3D1q1b58T5KcXevXvR1dWF5cuX4z3veQ8OHz4MANi5cyfS6XTeMa9ZswY9PT1z/pgPHDiA3t7evGOLRqPYvHlz5th27NiBhoYGnHfeeZlltm7dCk3T8NRTT834mKfDI488gra2NqxevRof+chH0N/fn3lvPh2nYmLmfBPZhcTnPvc5vOENb0AgEMDPf/5z/PVf/zVGRkbwsY99DADQ29ubJyYAoL29HbFYDGNjY/D7/bMx7IqZ6Djc90otU+/H+rGPfQwbN25EU1MTnnjiCdx44404fvw4vvCFLwDg41q2bFneOrnH3tjYOONjrpRTp07Btu2i5+ell16apVFNn82bN+Pee+/F6tWrcfz4cdx66624+OKLsXv3bvT29sLj8YyLmWtvb898Z+cq7viLnc/c32NbW1ve+4ZhoKmpaU4d/2WXXYZ3vvOdWLZsGfbv34+/+7u/w/bt27Fjxw7ouj5vjlNRGiWMasinP/1p/NM//VPJZV588cW8AM5SfPazn838f+6552J0dBR33HFHRhjNJtU+1rlEJcd+ww03ZF5bv349PB4P/uqv/gq33Xabaj1Q52zfvj3z//r167F582YsWbIE3/3ud+tWiCsq493vfnfm/7PPPhvr16/HGWecgUceeQRvfOMbZ3FkiplECaMa8olPfALvf//7Sy6zfPnyKW9/8+bN+F//638hmUzC6/Wio6NjXBZMX18fIpFIzS/c1TzWjo6OcRlM7nF1dHRk/s7WsRYynWPfvHkzLMvCwYMHsXr16gmPC8gee73T0tICXdeLHsdcOYZyaGhowKpVq7Bv3z686U1vQiqVwuDgYJ7VaD4cszv+vr4+dHZ2Zl7v6+vDhg0bMssUBtZbloXTp0/P6eNfvnw5WlpasG/fPrzxjW+ct8epyEcJoxrS2tqK1tbWmm1/165daGxszFgatmzZgp/85Cd5yzz00EPYsmVLzcbgUs1j3bJlC/7hH/4BJ06cyJitH3roIUQiEZx55pmZZWbrWAuZzrHv2rULmqZljnPLli34zGc+g3Q6DdM0AfBxrV69ek640QDA4/Fg06ZNePjhhzNZk47j4OGHH8Z11103u4OrIiMjI9i/fz/e9773YdOmTTBNEw8//DCuuOIKAMCePXtw+PDhWflOVpNly5aho6MDDz/8cEYIxWIxPPXUU5nM0i1btmBwcBA7d+7Epk2bAAC//OUv4TgONm/ePFtDnzZHjx5Ff39/RhDO1+NUFDDb0d8K5tChQ/T000/TrbfeSqFQiJ5++ml6+umnaXh4mIiI/vu//5v+7d/+jZ577jnau3cv3XXXXRQIBOimm27KbOOVV16hQCBAn/rUp+jFF1+kO++8k3RdpwcffHC2Dqsokx2rZVl01lln0aWXXkq7du2iBx98kFpbW+nGG2/MbGOuHGsuTzzxBH3xi1+kXbt20f79++mb3/wmtba20p//+Z9nlhkcHKT29nZ63/veR7t376b777+fAoEA/eu//ussjrxy7r//fvJ6vXTvvffSCy+8QB/60IeooaEhL9NwrvGJT3yCHnnkETpw4AD95je/oa1bt1JLSwudOHGCiIg+/OEPU09PD/3yl7+k3//+97RlyxbasmXLLI+6PIaHhzO/QwD0hS98gZ5++mk6dOgQERHdfvvt1NDQQD/84Q/p2Wefpbe//e20bNkyGhsby2zjsssuo3PPPZeeeuopevzxx2nlypV01VVXzdYhFaXUcQ4PD9MnP/lJ2rFjBx04cIB+8Ytf0MaNG2nlypWUSCQy25gLx6mYHkoY1QlXX301ARj3+NWvfkVEnBK6YcMGCoVCFAwG6ZxzzqG7776bbNvO286vfvUr2rBhA3k8Hlq+fDndc889M38wkzDZsRIRHTx4kLZv305+v59aWlroE5/4BKXT6bztzIVjzWXnzp20efNmikaj5PP5aO3atfSP//iPeRddIqJnnnmGLrroIvJ6vbRo0SK6/fbbZ2nE0+OrX/0q9fT0kMfjoQsuuICefPLJ2R7StLjyyiups7OTPB4PLVq0iK688krat29f5v2xsTH667/+a2psbKRAIEDveMc76Pjx47M44vL51a9+VfQ3efXVVxMRp+x/9rOfpfb2dvJ6vfTGN76R9uzZk7eN/v5+uuqqqygUClEkEqEPfOADmZudeqHUccbjcbr00kuptbWVTNOkJUuW0Ac/+MFxYn4uHKdiegiinHxvhUKhUCgUigWMqmOkUCgUCoVCIVHCSKFQKBQKhUKihJFCoVAoFAqFRAkjhUKhUCgUCokSRgqFQqFQKBQSJYwUCoVCoVAoJEoYKRQKhUKhUEiUMFIoFAqFQqGQKGGkUCgUCoVCIVHCSKFQKBQKhUKihJFCoVAoFAqFRAkjhUKhUCgUCsn/D8MhBplx/mxLAAAAAElFTkSuQmCC", "text/plain": [ - "
" + "
" ] }, - "metadata": { - "needs_background": "light" - }, + "metadata": {}, "output_type": "display_data" } ], @@ -561,9 +537,9 @@ ], "metadata": { "kernelspec": { - "display_name": "Python 3 (ipykernel)", + "display_name": "apache-sedona", "language": "python", - "name": "python3" + "name": "apache-sedona" }, "language_info": { "codemirror_mode": { @@ -575,7 +551,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.7.12" + "version": "3.9.6" } }, "nbformat": 4, From ff9238c323c1d066e630d2c7afbc25c27d51cc80 Mon Sep 17 00:00:00 2001 From: Nilesh Gajwani Date: Mon, 3 Jul 2023 23:11:00 -0700 Subject: [PATCH 03/20] Replaced geopandas plot with KeplerGL visualization. Added a utilities file that hardcodes map config --- ...naSQL_SpatialJoin_AirportsPerCountry.ipynb | 100 +++++++++--------- binder/utilities.py | 96 +++++++++++++++++ 2 files changed, 145 insertions(+), 51 deletions(-) create mode 100644 binder/utilities.py diff --git a/binder/ApacheSedonaSQL_SpatialJoin_AirportsPerCountry.ipynb b/binder/ApacheSedonaSQL_SpatialJoin_AirportsPerCountry.ipynb index 4398126372..0a067bf454 100644 --- a/binder/ApacheSedonaSQL_SpatialJoin_AirportsPerCountry.ipynb +++ b/binder/ApacheSedonaSQL_SpatialJoin_AirportsPerCountry.ipynb @@ -24,7 +24,7 @@ }, { "cell_type": "code", - "execution_count": 1, + "execution_count": 2, "metadata": {}, "outputs": [], "source": [ @@ -34,7 +34,10 @@ "from pyspark.sql import SparkSession\n", "from pyspark.sql.functions import col, expr, when\n", "\n", - "from sedona.spark import *" + "\n", + "\n", + "from sedona.spark import *\n", + "from utilities import getConfig" ] }, { @@ -46,7 +49,7 @@ }, { "cell_type": "code", - "execution_count": 2, + "execution_count": 3, "metadata": {}, "outputs": [ { @@ -64,11 +67,11 @@ "The jars for the packages stored in: /Users/nileshgajwani/.ivy2/jars\n", "org.apache.sedona#sedona-spark-shaded-3.0_2.12 added as a dependency\n", "org.datasyslab#geotools-wrapper added as a dependency\n", - ":: resolving dependencies :: org.apache.spark#spark-submit-parent-c8d6364e-e535-48bc-9161-729cb68c80b1;1.0\n", + ":: resolving dependencies :: org.apache.spark#spark-submit-parent-ccdb40df-96c2-42bf-bb17-f6b17333162d;1.0\n", "\tconfs: [default]\n", "\tfound org.apache.sedona#sedona-spark-shaded-3.0_2.12;1.4.1 in central\n", "\tfound org.datasyslab#geotools-wrapper;1.4.0-28.2 in central\n", - ":: resolution report :: resolve 87ms :: artifacts dl 2ms\n", + ":: resolution report :: resolve 98ms :: artifacts dl 2ms\n", "\t:: modules in use:\n", "\torg.apache.sedona#sedona-spark-shaded-3.0_2.12;1.4.1 from central in [default]\n", "\torg.datasyslab#geotools-wrapper;1.4.0-28.2 from central in [default]\n", @@ -78,12 +81,13 @@ "\t---------------------------------------------------------------------\n", "\t| default | 2 | 0 | 0 | 0 || 2 | 0 |\n", "\t---------------------------------------------------------------------\n", - ":: retrieving :: org.apache.spark#spark-submit-parent-c8d6364e-e535-48bc-9161-729cb68c80b1\n", + ":: retrieving :: org.apache.spark#spark-submit-parent-ccdb40df-96c2-42bf-bb17-f6b17333162d\n", "\tconfs: [default]\n", - "\t0 artifacts copied, 2 already retrieved (0kB/5ms)\n", - "23/07/03 21:19:15 WARN NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable\n", + "\t0 artifacts copied, 2 already retrieved (0kB/2ms)\n", + "23/07/03 23:08:06 WARN NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable\n", "Setting default log level to \"WARN\".\n", - "To adjust logging level use sc.setLogLevel(newLevel). For SparkR, use setLogLevel(newLevel).\n" + "To adjust logging level use sc.setLogLevel(newLevel). For SparkR, use setLogLevel(newLevel).\n", + " \r" ] } ], @@ -109,7 +113,7 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": 4, "metadata": {}, "outputs": [ { @@ -219,7 +223,7 @@ "name": "stderr", "output_type": "stream", "text": [ - "23/07/03 21:19:18 WARN package: Truncated the string representation of a plan since it was too large. This behavior can be adjusted by setting 'spark.sql.debug.maxToStringFields'.\n" + "23/07/03 23:08:10 WARN package: Truncated the string representation of a plan since it was too large. This behavior can be adjusted by setting 'spark.sql.debug.maxToStringFields'.\n" ] } ], @@ -240,7 +244,7 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": 5, "metadata": {}, "outputs": [ { @@ -279,7 +283,7 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": 6, "metadata": {}, "outputs": [], "source": [ @@ -295,7 +299,7 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": 7, "metadata": {}, "outputs": [ { @@ -342,14 +346,14 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": 8, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ - "23/07/03 21:19:20 WARN JoinQuery: UseIndex is true, but no index exists. Will build index on the fly.\n" + "23/07/03 23:08:12 WARN JoinQuery: UseIndex is true, but no index exists. Will build index on the fly.\n" ] }, { @@ -427,7 +431,7 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": 9, "metadata": { "scrolled": true }, @@ -463,16 +467,6 @@ "only showing top 20 rows\n", "\n" ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "\r", - "[Stage 20:=================================================> (6 + 1) / 7]\r", - "\r", - " \r" - ] } ], "source": [ @@ -491,24 +485,38 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": 10, + "metadata": {}, + "outputs": [], + "source": [ + "try:\n", + " from keplergl import KeplerGl\n", + "except ImportError:\n", + " !pip install keplergl\n", + " from keplergl import KeplerGl" + ] + }, + { + "cell_type": "code", + "execution_count": 11, "metadata": {}, "outputs": [ { - "data": { - "text/plain": [ - "" - ] - }, - "execution_count": 9, - "metadata": {}, - "output_type": "execute_result" + "name": "stdout", + "output_type": "stream", + "text": [ + "User Guide: https://docs.kepler.gl/docs/keplergl-jupyter\n" + ] }, { "data": { - "image/png": "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", + "application/vnd.jupyter.widget-view+json": { + "model_id": "9df63933b69f4b18b5c66243b257dd34", + "version_major": 2, + "version_minor": 0 + }, "text/plain": [ - "
" + "KeplerGl(config={'version': 'v1', 'config': {'visState': {'filters': [], 'layers': [{'id': 'ikzru0t', 'type': …" ] }, "metadata": {}, @@ -517,21 +525,11 @@ ], "source": [ "df = groupedresult.toPandas()\n", - "gdf = gpd.GeoDataFrame(df, geometry=\"country_geom\")\n", + "gdf = gpd.GeoDataFrame(df, geometry=\"country_geom\").rename(columns={'country_geom':'geometry'})\n", "\n", - "import matplotlib.pyplot as plt\n", - "from mpl_toolkits.axes_grid1 import make_axes_locatable\n", - "fig, ax = plt.subplots(1, 1)\n", - "divider = make_axes_locatable(ax)\n", - "cax = divider.append_axes(\"right\", size=\"5%\", pad=0.1)\n", + "map_1 = KeplerGl(data={\"AirportCount\": gdf}, config=getConfig())\n", "\n", - "gdf.plot(\n", - " column=\"AirportCount\",\n", - " legend=True,\n", - " cmap='OrRd',\n", - " cax=cax,\n", - " ax=ax\n", - ")" + "map_1" ] } ], diff --git a/binder/utilities.py b/binder/utilities.py new file mode 100644 index 0000000000..7bcb043354 --- /dev/null +++ b/binder/utilities.py @@ -0,0 +1,96 @@ +def getConfig(): + config = {'version': 'v1', + 'config': {'visState': {'filters': [], + 'layers': [{'id': 'ikzru0t', + 'type': 'geojson', + 'config': {'dataId': 'AirportCount', + 'label': 'AirportCount', + 'color': [218, 112, 191], + 'highlightColor': [252, 242, 26, 255], + 'columns': {'geojson': 'geometry'}, + 'isVisible': True, + 'visConfig': {'opacity': 0.8, + 'strokeOpacity': 0.8, + 'thickness': 0.5, + 'strokeColor': [18, 92, 119], + 'colorRange': {'name': 'Uber Viz Sequential 6', + 'type': 'sequential', + 'category': 'Uber', + 'colors': ['#E6FAFA', + '#C1E5E6', + '#9DD0D4', + '#75BBC1', + '#4BA7AF', + '#00939C', + '#108188', + '#0E7077']}, + 'strokeColorRange': {'name': 'Global Warming', + 'type': 'sequential', + 'category': 'Uber', + 'colors': ['#5A1846', + '#900C3F', + '#C70039', + '#E3611C', + '#F1920E', + '#FFC300']}, + 'radius': 10, + 'sizeRange': [0, 10], + 'radiusRange': [0, 50], + 'heightRange': [0, 500], + 'elevationScale': 5, + 'enableElevationZoomFactor': True, + 'stroked': False, + 'filled': True, + 'enable3d': False, + 'wireframe': False}, + 'hidden': False, + 'textLabel': [{'field': None, + 'color': [255, 255, 255], + 'size': 18, + 'offset': [0, 0], + 'anchor': 'start', + 'alignment': 'center'}]}, + 'visualChannels': {'colorField': {'name': 'AirportCount', + 'type': 'integer'}, + 'colorScale': 'quantize', + 'strokeColorField': None, + 'strokeColorScale': 'quantile', + 'sizeField': None, + 'sizeScale': 'linear', + 'heightField': None, + 'heightScale': 'linear', + 'radiusField': None, + 'radiusScale': 'linear'}}], + 'interactionConfig': {'tooltip': {'fieldsToShow': {'AirportCount': [{'name': 'NAME_EN', + 'format': None}, + {'name': 'AirportCount', 'format': None}]}, + 'compareMode': False, + 'compareType': 'absolute', + 'enabled': True}, + 'brush': {'size': 0.5, 'enabled': False}, + 'geocoder': {'enabled': False}, + 'coordinate': {'enabled': False}}, + 'layerBlending': 'normal', + 'splitMaps': [], + 'animationConfig': {'currentTime': None, 'speed': 1}}, + 'mapState': {'bearing': 0, + 'dragRotate': False, + 'latitude': 56.422456606624316, + 'longitude': 9.778836615231771, + 'pitch': 0, + 'zoom': 0.4214991225736964, + 'isSplit': False}, + 'mapStyle': {'styleType': 'dark', + 'topLayerGroups': {}, + 'visibleLayerGroups': {'label': True, + 'road': True, + 'border': False, + 'building': True, + 'water': True, + 'land': True, + '3d building': False}, + 'threeDBuildingColor': [9.665468314072013, + 17.18305478057247, + 31.1442867897876], + 'mapStyles': {}}}} + return config \ No newline at end of file From 40135b3f917543696577eefb6f53aad54a5110f2 Mon Sep 17 00:00:00 2001 From: Nilesh Gajwani Date: Wed, 5 Jul 2023 14:57:55 -0700 Subject: [PATCH 04/20] Add keplerGL to pipfile --- ...naSQL_SpatialJoin_AirportsPerCountry.ipynb | 39 +++++++++---------- binder/Pipfile | 4 +- 2 files changed, 22 insertions(+), 21 deletions(-) diff --git a/binder/ApacheSedonaSQL_SpatialJoin_AirportsPerCountry.ipynb b/binder/ApacheSedonaSQL_SpatialJoin_AirportsPerCountry.ipynb index 0a067bf454..34044eb0a6 100644 --- a/binder/ApacheSedonaSQL_SpatialJoin_AirportsPerCountry.ipynb +++ b/binder/ApacheSedonaSQL_SpatialJoin_AirportsPerCountry.ipynb @@ -24,7 +24,7 @@ }, { "cell_type": "code", - "execution_count": 2, + "execution_count": 1, "metadata": {}, "outputs": [], "source": [ @@ -49,7 +49,7 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": 2, "metadata": {}, "outputs": [ { @@ -67,11 +67,11 @@ "The jars for the packages stored in: /Users/nileshgajwani/.ivy2/jars\n", "org.apache.sedona#sedona-spark-shaded-3.0_2.12 added as a dependency\n", "org.datasyslab#geotools-wrapper added as a dependency\n", - ":: resolving dependencies :: org.apache.spark#spark-submit-parent-ccdb40df-96c2-42bf-bb17-f6b17333162d;1.0\n", + ":: resolving dependencies :: org.apache.spark#spark-submit-parent-da2051cb-1fa2-4362-8eae-336dcaaad6f7;1.0\n", "\tconfs: [default]\n", "\tfound org.apache.sedona#sedona-spark-shaded-3.0_2.12;1.4.1 in central\n", "\tfound org.datasyslab#geotools-wrapper;1.4.0-28.2 in central\n", - ":: resolution report :: resolve 98ms :: artifacts dl 2ms\n", + ":: resolution report :: resolve 79ms :: artifacts dl 2ms\n", "\t:: modules in use:\n", "\torg.apache.sedona#sedona-spark-shaded-3.0_2.12;1.4.1 from central in [default]\n", "\torg.datasyslab#geotools-wrapper;1.4.0-28.2 from central in [default]\n", @@ -81,13 +81,12 @@ "\t---------------------------------------------------------------------\n", "\t| default | 2 | 0 | 0 | 0 || 2 | 0 |\n", "\t---------------------------------------------------------------------\n", - ":: retrieving :: org.apache.spark#spark-submit-parent-ccdb40df-96c2-42bf-bb17-f6b17333162d\n", + ":: retrieving :: org.apache.spark#spark-submit-parent-da2051cb-1fa2-4362-8eae-336dcaaad6f7\n", "\tconfs: [default]\n", "\t0 artifacts copied, 2 already retrieved (0kB/2ms)\n", - "23/07/03 23:08:06 WARN NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable\n", + "23/07/05 12:58:39 WARN NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable\n", "Setting default log level to \"WARN\".\n", - "To adjust logging level use sc.setLogLevel(newLevel). For SparkR, use setLogLevel(newLevel).\n", - " \r" + "To adjust logging level use sc.setLogLevel(newLevel). For SparkR, use setLogLevel(newLevel).\n" ] } ], @@ -113,7 +112,7 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": 3, "metadata": {}, "outputs": [ { @@ -223,7 +222,7 @@ "name": "stderr", "output_type": "stream", "text": [ - "23/07/03 23:08:10 WARN package: Truncated the string representation of a plan since it was too large. This behavior can be adjusted by setting 'spark.sql.debug.maxToStringFields'.\n" + "23/07/05 12:58:42 WARN package: Truncated the string representation of a plan since it was too large. This behavior can be adjusted by setting 'spark.sql.debug.maxToStringFields'.\n" ] } ], @@ -244,7 +243,7 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": 4, "metadata": {}, "outputs": [ { @@ -283,7 +282,7 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": 5, "metadata": {}, "outputs": [], "source": [ @@ -299,7 +298,7 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": 6, "metadata": {}, "outputs": [ { @@ -346,14 +345,14 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": 7, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ - "23/07/03 23:08:12 WARN JoinQuery: UseIndex is true, but no index exists. Will build index on the fly.\n" + "23/07/05 12:58:43 WARN JoinQuery: UseIndex is true, but no index exists. Will build index on the fly.\n" ] }, { @@ -431,7 +430,7 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": 8, "metadata": { "scrolled": true }, @@ -485,20 +484,20 @@ }, { "cell_type": "code", - "execution_count": 10, + "execution_count": 9, "metadata": {}, "outputs": [], "source": [ "try:\n", " from keplergl import KeplerGl\n", - "except ImportError:\n", + "except ModuleNotFoundError:\n", " !pip install keplergl\n", " from keplergl import KeplerGl" ] }, { "cell_type": "code", - "execution_count": 11, + "execution_count": 10, "metadata": {}, "outputs": [ { @@ -511,7 +510,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "9df63933b69f4b18b5c66243b257dd34", + "model_id": "709f06aa7b2a4dfd82ef6bcfb6cbe134", "version_major": 2, "version_minor": 0 }, diff --git a/binder/Pipfile b/binder/Pipfile index 01844df505..6312816408 100644 --- a/binder/Pipfile +++ b/binder/Pipfile @@ -16,10 +16,12 @@ shapely="==1.8.4" geopandas="==0.11.1" pyspark="==3.3.2" attrs="*" -ipykernel = "*" apache-sedona="==1.4.1" matplotlib = "*" descartes = "*" +keplergl="==0.3.2" +ipykernel = "*" +jupyterlab = "*" [requires] python_version = "3.9" From 3095099a24507b0dad5b625a539ff1117d0a47f5 Mon Sep 17 00:00:00 2001 From: Nilesh Gajwani Date: Wed, 5 Jul 2023 23:04:33 -0700 Subject: [PATCH 05/20] try adding dependencies in pipfile --- ...heSedonaSQL_SpatialJoin_AirportsPerCountry.ipynb | 13 ------------- binder/Pipfile | 4 +++- 2 files changed, 3 insertions(+), 14 deletions(-) diff --git a/binder/ApacheSedonaSQL_SpatialJoin_AirportsPerCountry.ipynb b/binder/ApacheSedonaSQL_SpatialJoin_AirportsPerCountry.ipynb index e6c9497451..96cea1bbd2 100644 --- a/binder/ApacheSedonaSQL_SpatialJoin_AirportsPerCountry.ipynb +++ b/binder/ApacheSedonaSQL_SpatialJoin_AirportsPerCountry.ipynb @@ -492,19 +492,6 @@ "## Visualize the number of airports in each country" ] }, - { - "cell_type": "code", - "execution_count": 9, - "metadata": {}, - "outputs": [], - "source": [ - "try:\n", - " from keplergl import KeplerGl\n", - "except ModuleNotFoundError:\n", - " !pip install keplergl\n", - " from keplergl import KeplerGl" - ] - }, { "cell_type": "code", "execution_count": 10, diff --git a/binder/Pipfile b/binder/Pipfile index 6312816408..e70cef10c8 100644 --- a/binder/Pipfile +++ b/binder/Pipfile @@ -19,7 +19,9 @@ attrs="*" apache-sedona="==1.4.1" matplotlib = "*" descartes = "*" -keplergl="==0.3.2" +keplergl = "==0.3.2" +ipywidgets = "*" +jupyterlab-widgets = "*" ipykernel = "*" jupyterlab = "*" From 088aaf4b3df7faee56c6e32d0d3dc1ce640216ea Mon Sep 17 00:00:00 2001 From: Nilesh Gajwani Date: Wed, 5 Jul 2023 23:21:14 -0700 Subject: [PATCH 06/20] Add keplergl import --- ...naSQL_SpatialJoin_AirportsPerCountry.ipynb | 30 +++++++++++++++++-- 1 file changed, 28 insertions(+), 2 deletions(-) diff --git a/binder/ApacheSedonaSQL_SpatialJoin_AirportsPerCountry.ipynb b/binder/ApacheSedonaSQL_SpatialJoin_AirportsPerCountry.ipynb index 96cea1bbd2..37bbdfb3bd 100644 --- a/binder/ApacheSedonaSQL_SpatialJoin_AirportsPerCountry.ipynb +++ b/binder/ApacheSedonaSQL_SpatialJoin_AirportsPerCountry.ipynb @@ -26,7 +26,31 @@ "cell_type": "code", "execution_count": 1, "metadata": {}, - "outputs": [], + "outputs": [ + { + "ename": "ImportError", + "evalue": "\n\nIMPORTANT: PLEASE READ THIS FOR ADVICE ON HOW TO SOLVE THIS ISSUE!\n\nImporting the numpy C-extensions failed. This error can happen for\nmany reasons, often due to issues with your setup or how NumPy was\ninstalled.\n\nWe have compiled some common reasons and troubleshooting tips at:\n\n https://numpy.org/devdocs/user/troubleshooting-importerror.html\n\nPlease note and check the following:\n\n * The Python version is: Python3.9 from \"/Users/nileshgajwani/Desktop/sedona/sedona/venv/bin/python\"\n * The NumPy version is: \"1.25.0\"\n\nand make sure that they are the versions you expect.\nPlease carefully study the documentation linked above for further help.\n\nOriginal error was: No module named 'numpy.core._multiarray_umath'\n", + "output_type": "error", + "traceback": [ + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[0;31mModuleNotFoundError\u001b[0m Traceback (most recent call last)", + "File \u001b[0;32m~/Desktop/sedona/sedona/venv/lib/python3.9/site-packages/numpy/core/__init__.py:23\u001b[0m\n\u001b[1;32m 22\u001b[0m \u001b[38;5;28;01mtry\u001b[39;00m:\n\u001b[0;32m---> 23\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01m.\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m multiarray\n\u001b[1;32m 24\u001b[0m \u001b[38;5;28;01mexcept\u001b[39;00m \u001b[38;5;167;01mImportError\u001b[39;00m \u001b[38;5;28;01mas\u001b[39;00m exc:\n", + "File \u001b[0;32m~/Desktop/sedona/sedona/venv/lib/python3.9/site-packages/numpy/core/multiarray.py:10\u001b[0m\n\u001b[1;32m 9\u001b[0m \u001b[38;5;28;01mimport\u001b[39;00m \u001b[38;5;21;01mfunctools\u001b[39;00m\n\u001b[0;32m---> 10\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01m.\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m overrides\n\u001b[1;32m 11\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01m.\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m _multiarray_umath\n", + "File \u001b[0;32m~/Desktop/sedona/sedona/venv/lib/python3.9/site-packages/numpy/core/overrides.py:8\u001b[0m\n\u001b[1;32m 7\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01m_utils\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01m_inspect\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m getargspec\n\u001b[0;32m----> 8\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mnumpy\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mcore\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01m_multiarray_umath\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m (\n\u001b[1;32m 9\u001b[0m add_docstring, _get_implementing_args, _ArrayFunctionDispatcher)\n\u001b[1;32m 12\u001b[0m ARRAY_FUNCTIONS \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mset\u001b[39m()\n", + "\u001b[0;31mModuleNotFoundError\u001b[0m: No module named 'numpy.core._multiarray_umath'", + "\nDuring handling of the above exception, another exception occurred:\n", + "\u001b[0;31mImportError\u001b[0m Traceback (most recent call last)", + "Cell \u001b[0;32mIn[1], line 3\u001b[0m\n\u001b[1;32m 1\u001b[0m \u001b[38;5;28;01mimport\u001b[39;00m \u001b[38;5;21;01mos\u001b[39;00m\n\u001b[0;32m----> 3\u001b[0m \u001b[38;5;28;01mimport\u001b[39;00m \u001b[38;5;21;01mgeopandas\u001b[39;00m \u001b[38;5;28;01mas\u001b[39;00m \u001b[38;5;21;01mgpd\u001b[39;00m\n\u001b[1;32m 4\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mpyspark\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01msql\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m SparkSession\n\u001b[1;32m 5\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mpyspark\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01msql\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mfunctions\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m col, expr, when\n", + "File \u001b[0;32m~/Desktop/sedona/sedona/venv/lib/python3.9/site-packages/geopandas/__init__.py:1\u001b[0m\n\u001b[0;32m----> 1\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mgeopandas\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01m_config\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m options \u001b[38;5;66;03m# noqa\u001b[39;00m\n\u001b[1;32m 3\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mgeopandas\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mgeoseries\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m GeoSeries \u001b[38;5;66;03m# noqa\u001b[39;00m\n\u001b[1;32m 4\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mgeopandas\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mgeodataframe\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m GeoDataFrame \u001b[38;5;66;03m# noqa\u001b[39;00m\n", + "File \u001b[0;32m~/Desktop/sedona/sedona/venv/lib/python3.9/site-packages/geopandas/_config.py:109\u001b[0m\n\u001b[1;32m 102\u001b[0m \u001b[38;5;28;01mimport\u001b[39;00m \u001b[38;5;21;01mgeopandas\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01m_compat\u001b[39;00m \u001b[38;5;28;01mas\u001b[39;00m \u001b[38;5;21;01mcompat\u001b[39;00m\n\u001b[1;32m 104\u001b[0m compat\u001b[38;5;241m.\u001b[39mset_use_pygeos(value)\n\u001b[1;32m 107\u001b[0m use_pygeos \u001b[38;5;241m=\u001b[39m Option(\n\u001b[1;32m 108\u001b[0m key\u001b[38;5;241m=\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124muse_pygeos\u001b[39m\u001b[38;5;124m\"\u001b[39m,\n\u001b[0;32m--> 109\u001b[0m default_value\u001b[38;5;241m=\u001b[39m\u001b[43m_default_use_pygeos\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m,\n\u001b[1;32m 110\u001b[0m doc\u001b[38;5;241m=\u001b[39m(\n\u001b[1;32m 111\u001b[0m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mWhether to use PyGEOS to speed up spatial operations. The default is True \u001b[39m\u001b[38;5;124m\"\u001b[39m\n\u001b[1;32m 112\u001b[0m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mif PyGEOS is installed, and follows the USE_PYGEOS environment variable \u001b[39m\u001b[38;5;124m\"\u001b[39m\n\u001b[1;32m 113\u001b[0m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mif set.\u001b[39m\u001b[38;5;124m\"\u001b[39m\n\u001b[1;32m 114\u001b[0m ),\n\u001b[1;32m 115\u001b[0m validator\u001b[38;5;241m=\u001b[39m_validate_bool,\n\u001b[1;32m 116\u001b[0m callback\u001b[38;5;241m=\u001b[39m_callback_use_pygeos,\n\u001b[1;32m 117\u001b[0m )\n\u001b[1;32m 120\u001b[0m options \u001b[38;5;241m=\u001b[39m Options({\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mdisplay_precision\u001b[39m\u001b[38;5;124m\"\u001b[39m: display_precision, \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124muse_pygeos\u001b[39m\u001b[38;5;124m\"\u001b[39m: use_pygeos})\n", + "File \u001b[0;32m~/Desktop/sedona/sedona/venv/lib/python3.9/site-packages/geopandas/_config.py:95\u001b[0m, in \u001b[0;36m_default_use_pygeos\u001b[0;34m()\u001b[0m\n\u001b[1;32m 94\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21m_default_use_pygeos\u001b[39m():\n\u001b[0;32m---> 95\u001b[0m \u001b[38;5;28;01mimport\u001b[39;00m \u001b[38;5;21;01mgeopandas\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01m_compat\u001b[39;00m \u001b[38;5;28;01mas\u001b[39;00m \u001b[38;5;21;01mcompat\u001b[39;00m\n\u001b[1;32m 97\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m compat\u001b[38;5;241m.\u001b[39mUSE_PYGEOS\n", + "File \u001b[0;32m~/Desktop/sedona/sedona/venv/lib/python3.9/site-packages/geopandas/_compat.py:7\u001b[0m\n\u001b[1;32m 4\u001b[0m \u001b[38;5;28;01mimport\u001b[39;00m \u001b[38;5;21;01mos\u001b[39;00m\n\u001b[1;32m 5\u001b[0m \u001b[38;5;28;01mimport\u001b[39;00m \u001b[38;5;21;01mwarnings\u001b[39;00m\n\u001b[0;32m----> 7\u001b[0m \u001b[38;5;28;01mimport\u001b[39;00m \u001b[38;5;21;01mnumpy\u001b[39;00m \u001b[38;5;28;01mas\u001b[39;00m \u001b[38;5;21;01mnp\u001b[39;00m\n\u001b[1;32m 8\u001b[0m \u001b[38;5;28;01mimport\u001b[39;00m \u001b[38;5;21;01mpandas\u001b[39;00m \u001b[38;5;28;01mas\u001b[39;00m \u001b[38;5;21;01mpd\u001b[39;00m\n\u001b[1;32m 9\u001b[0m \u001b[38;5;28;01mimport\u001b[39;00m \u001b[38;5;21;01mpyproj\u001b[39;00m\n", + "File \u001b[0;32m~/Desktop/sedona/sedona/venv/lib/python3.9/site-packages/numpy/__init__.py:139\u001b[0m\n\u001b[1;32m 136\u001b[0m \u001b[38;5;66;03m# mapping of {name: (value, deprecation_msg)}\u001b[39;00m\n\u001b[1;32m 137\u001b[0m __deprecated_attrs__ \u001b[38;5;241m=\u001b[39m {}\n\u001b[0;32m--> 139\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01m.\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m core\n\u001b[1;32m 140\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mcore\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m \u001b[38;5;241m*\u001b[39m\n\u001b[1;32m 141\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01m.\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m compat\n", + "File \u001b[0;32m~/Desktop/sedona/sedona/venv/lib/python3.9/site-packages/numpy/core/__init__.py:49\u001b[0m\n\u001b[1;32m 25\u001b[0m \u001b[38;5;28;01mimport\u001b[39;00m \u001b[38;5;21;01msys\u001b[39;00m\n\u001b[1;32m 26\u001b[0m msg \u001b[38;5;241m=\u001b[39m \u001b[38;5;124m\"\"\"\u001b[39m\n\u001b[1;32m 27\u001b[0m \n\u001b[1;32m 28\u001b[0m \u001b[38;5;124mIMPORTANT: PLEASE READ THIS FOR ADVICE ON HOW TO SOLVE THIS ISSUE!\u001b[39m\n\u001b[0;32m (...)\u001b[0m\n\u001b[1;32m 47\u001b[0m \u001b[38;5;124m\"\"\"\u001b[39m \u001b[38;5;241m%\u001b[39m (sys\u001b[38;5;241m.\u001b[39mversion_info[\u001b[38;5;241m0\u001b[39m], sys\u001b[38;5;241m.\u001b[39mversion_info[\u001b[38;5;241m1\u001b[39m], sys\u001b[38;5;241m.\u001b[39mexecutable,\n\u001b[1;32m 48\u001b[0m __version__, exc)\n\u001b[0;32m---> 49\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m \u001b[38;5;167;01mImportError\u001b[39;00m(msg)\n\u001b[1;32m 50\u001b[0m \u001b[38;5;28;01mfinally\u001b[39;00m:\n\u001b[1;32m 51\u001b[0m \u001b[38;5;28;01mfor\u001b[39;00m envkey \u001b[38;5;129;01min\u001b[39;00m env_added:\n", + "\u001b[0;31mImportError\u001b[0m: \n\nIMPORTANT: PLEASE READ THIS FOR ADVICE ON HOW TO SOLVE THIS ISSUE!\n\nImporting the numpy C-extensions failed. This error can happen for\nmany reasons, often due to issues with your setup or how NumPy was\ninstalled.\n\nWe have compiled some common reasons and troubleshooting tips at:\n\n https://numpy.org/devdocs/user/troubleshooting-importerror.html\n\nPlease note and check the following:\n\n * The Python version is: Python3.9 from \"/Users/nileshgajwani/Desktop/sedona/sedona/venv/bin/python\"\n * The NumPy version is: \"1.25.0\"\n\nand make sure that they are the versions you expect.\nPlease carefully study the documentation linked above for further help.\n\nOriginal error was: No module named 'numpy.core._multiarray_umath'\n" + ] + } + ], "source": [ "import os\n", "\n", @@ -37,7 +61,9 @@ "\n", "\n", "from sedona.spark import *\n", - "from utilities import getConfig" + "from utilities import getConfig\n", + "\n", + "from keplergl import KeplerGl" ] }, { From 8e22147466f78bf87036394a0361aafdc888d448 Mon Sep 17 00:00:00 2001 From: Nilesh Gajwani Date: Fri, 7 Jul 2023 15:00:20 -0700 Subject: [PATCH 07/20] Add env.yml for binder (copied from leafmap) --- environment.yml | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 environment.yml diff --git a/environment.yml b/environment.yml new file mode 100644 index 0000000000..cb311b8cfa --- /dev/null +++ b/environment.yml @@ -0,0 +1,32 @@ +name: geo-env +channels: + - conda-forge +dependencies: + - bokeh + - cartopy + - datapane + - flask>=2.0.0 + - flask-caching + - gdal + - geemap>=0.11.1 + - geopandas + - imageio + - ipyvtklink + - jupyter_bokeh + - keplergl + - laspy + - leafmap>=0.11.3 + - localtileserver>=0.4.0 + - osmnx + - pip + - pydeck + - pyntcloud + - python>=3.9 + - pyvista + - requests + - rio-cogeo + - tifffile + - xarray_leaflet + # - pip: + # - git+https://github.com/opengeos/leafmap + # - git+https://github.com/opengeos/geemap From d9d3cbb21d760e77883dd4911b2a0141bc184f2d Mon Sep 17 00:00:00 2001 From: Nilesh Gajwani Date: Mon, 10 Jul 2023 19:03:20 -0700 Subject: [PATCH 08/20] Force version 3.6.4 of jupyter lab in pipfile Clean up jupyter notebook --- ...naSQL_SpatialJoin_AirportsPerCountry.ipynb | 365 +----------------- binder/Pipfile | 4 +- 2 files changed, 18 insertions(+), 351 deletions(-) diff --git a/binder/ApacheSedonaSQL_SpatialJoin_AirportsPerCountry.ipynb b/binder/ApacheSedonaSQL_SpatialJoin_AirportsPerCountry.ipynb index 37bbdfb3bd..f1d883f5d2 100644 --- a/binder/ApacheSedonaSQL_SpatialJoin_AirportsPerCountry.ipynb +++ b/binder/ApacheSedonaSQL_SpatialJoin_AirportsPerCountry.ipynb @@ -26,31 +26,7 @@ "cell_type": "code", "execution_count": 1, "metadata": {}, - "outputs": [ - { - "ename": "ImportError", - "evalue": "\n\nIMPORTANT: PLEASE READ THIS FOR ADVICE ON HOW TO SOLVE THIS ISSUE!\n\nImporting the numpy C-extensions failed. This error can happen for\nmany reasons, often due to issues with your setup or how NumPy was\ninstalled.\n\nWe have compiled some common reasons and troubleshooting tips at:\n\n https://numpy.org/devdocs/user/troubleshooting-importerror.html\n\nPlease note and check the following:\n\n * The Python version is: Python3.9 from \"/Users/nileshgajwani/Desktop/sedona/sedona/venv/bin/python\"\n * The NumPy version is: \"1.25.0\"\n\nand make sure that they are the versions you expect.\nPlease carefully study the documentation linked above for further help.\n\nOriginal error was: No module named 'numpy.core._multiarray_umath'\n", - "output_type": "error", - "traceback": [ - "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", - "\u001b[0;31mModuleNotFoundError\u001b[0m Traceback (most recent call last)", - "File \u001b[0;32m~/Desktop/sedona/sedona/venv/lib/python3.9/site-packages/numpy/core/__init__.py:23\u001b[0m\n\u001b[1;32m 22\u001b[0m \u001b[38;5;28;01mtry\u001b[39;00m:\n\u001b[0;32m---> 23\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01m.\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m multiarray\n\u001b[1;32m 24\u001b[0m \u001b[38;5;28;01mexcept\u001b[39;00m \u001b[38;5;167;01mImportError\u001b[39;00m \u001b[38;5;28;01mas\u001b[39;00m exc:\n", - "File \u001b[0;32m~/Desktop/sedona/sedona/venv/lib/python3.9/site-packages/numpy/core/multiarray.py:10\u001b[0m\n\u001b[1;32m 9\u001b[0m \u001b[38;5;28;01mimport\u001b[39;00m \u001b[38;5;21;01mfunctools\u001b[39;00m\n\u001b[0;32m---> 10\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01m.\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m overrides\n\u001b[1;32m 11\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01m.\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m _multiarray_umath\n", - "File \u001b[0;32m~/Desktop/sedona/sedona/venv/lib/python3.9/site-packages/numpy/core/overrides.py:8\u001b[0m\n\u001b[1;32m 7\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01m_utils\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01m_inspect\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m getargspec\n\u001b[0;32m----> 8\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mnumpy\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mcore\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01m_multiarray_umath\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m (\n\u001b[1;32m 9\u001b[0m add_docstring, _get_implementing_args, _ArrayFunctionDispatcher)\n\u001b[1;32m 12\u001b[0m ARRAY_FUNCTIONS \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mset\u001b[39m()\n", - "\u001b[0;31mModuleNotFoundError\u001b[0m: No module named 'numpy.core._multiarray_umath'", - "\nDuring handling of the above exception, another exception occurred:\n", - "\u001b[0;31mImportError\u001b[0m Traceback (most recent call last)", - "Cell \u001b[0;32mIn[1], line 3\u001b[0m\n\u001b[1;32m 1\u001b[0m \u001b[38;5;28;01mimport\u001b[39;00m \u001b[38;5;21;01mos\u001b[39;00m\n\u001b[0;32m----> 3\u001b[0m \u001b[38;5;28;01mimport\u001b[39;00m \u001b[38;5;21;01mgeopandas\u001b[39;00m \u001b[38;5;28;01mas\u001b[39;00m \u001b[38;5;21;01mgpd\u001b[39;00m\n\u001b[1;32m 4\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mpyspark\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01msql\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m SparkSession\n\u001b[1;32m 5\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mpyspark\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01msql\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mfunctions\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m col, expr, when\n", - "File \u001b[0;32m~/Desktop/sedona/sedona/venv/lib/python3.9/site-packages/geopandas/__init__.py:1\u001b[0m\n\u001b[0;32m----> 1\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mgeopandas\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01m_config\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m options \u001b[38;5;66;03m# noqa\u001b[39;00m\n\u001b[1;32m 3\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mgeopandas\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mgeoseries\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m GeoSeries \u001b[38;5;66;03m# noqa\u001b[39;00m\n\u001b[1;32m 4\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mgeopandas\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mgeodataframe\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m GeoDataFrame \u001b[38;5;66;03m# noqa\u001b[39;00m\n", - "File \u001b[0;32m~/Desktop/sedona/sedona/venv/lib/python3.9/site-packages/geopandas/_config.py:109\u001b[0m\n\u001b[1;32m 102\u001b[0m \u001b[38;5;28;01mimport\u001b[39;00m \u001b[38;5;21;01mgeopandas\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01m_compat\u001b[39;00m \u001b[38;5;28;01mas\u001b[39;00m \u001b[38;5;21;01mcompat\u001b[39;00m\n\u001b[1;32m 104\u001b[0m compat\u001b[38;5;241m.\u001b[39mset_use_pygeos(value)\n\u001b[1;32m 107\u001b[0m use_pygeos \u001b[38;5;241m=\u001b[39m Option(\n\u001b[1;32m 108\u001b[0m key\u001b[38;5;241m=\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124muse_pygeos\u001b[39m\u001b[38;5;124m\"\u001b[39m,\n\u001b[0;32m--> 109\u001b[0m default_value\u001b[38;5;241m=\u001b[39m\u001b[43m_default_use_pygeos\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m,\n\u001b[1;32m 110\u001b[0m doc\u001b[38;5;241m=\u001b[39m(\n\u001b[1;32m 111\u001b[0m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mWhether to use PyGEOS to speed up spatial operations. The default is True \u001b[39m\u001b[38;5;124m\"\u001b[39m\n\u001b[1;32m 112\u001b[0m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mif PyGEOS is installed, and follows the USE_PYGEOS environment variable \u001b[39m\u001b[38;5;124m\"\u001b[39m\n\u001b[1;32m 113\u001b[0m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mif set.\u001b[39m\u001b[38;5;124m\"\u001b[39m\n\u001b[1;32m 114\u001b[0m ),\n\u001b[1;32m 115\u001b[0m validator\u001b[38;5;241m=\u001b[39m_validate_bool,\n\u001b[1;32m 116\u001b[0m callback\u001b[38;5;241m=\u001b[39m_callback_use_pygeos,\n\u001b[1;32m 117\u001b[0m )\n\u001b[1;32m 120\u001b[0m options \u001b[38;5;241m=\u001b[39m Options({\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mdisplay_precision\u001b[39m\u001b[38;5;124m\"\u001b[39m: display_precision, \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124muse_pygeos\u001b[39m\u001b[38;5;124m\"\u001b[39m: use_pygeos})\n", - "File \u001b[0;32m~/Desktop/sedona/sedona/venv/lib/python3.9/site-packages/geopandas/_config.py:95\u001b[0m, in \u001b[0;36m_default_use_pygeos\u001b[0;34m()\u001b[0m\n\u001b[1;32m 94\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21m_default_use_pygeos\u001b[39m():\n\u001b[0;32m---> 95\u001b[0m \u001b[38;5;28;01mimport\u001b[39;00m \u001b[38;5;21;01mgeopandas\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01m_compat\u001b[39;00m \u001b[38;5;28;01mas\u001b[39;00m \u001b[38;5;21;01mcompat\u001b[39;00m\n\u001b[1;32m 97\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m compat\u001b[38;5;241m.\u001b[39mUSE_PYGEOS\n", - "File \u001b[0;32m~/Desktop/sedona/sedona/venv/lib/python3.9/site-packages/geopandas/_compat.py:7\u001b[0m\n\u001b[1;32m 4\u001b[0m \u001b[38;5;28;01mimport\u001b[39;00m \u001b[38;5;21;01mos\u001b[39;00m\n\u001b[1;32m 5\u001b[0m \u001b[38;5;28;01mimport\u001b[39;00m \u001b[38;5;21;01mwarnings\u001b[39;00m\n\u001b[0;32m----> 7\u001b[0m \u001b[38;5;28;01mimport\u001b[39;00m \u001b[38;5;21;01mnumpy\u001b[39;00m \u001b[38;5;28;01mas\u001b[39;00m \u001b[38;5;21;01mnp\u001b[39;00m\n\u001b[1;32m 8\u001b[0m \u001b[38;5;28;01mimport\u001b[39;00m \u001b[38;5;21;01mpandas\u001b[39;00m \u001b[38;5;28;01mas\u001b[39;00m \u001b[38;5;21;01mpd\u001b[39;00m\n\u001b[1;32m 9\u001b[0m \u001b[38;5;28;01mimport\u001b[39;00m \u001b[38;5;21;01mpyproj\u001b[39;00m\n", - "File \u001b[0;32m~/Desktop/sedona/sedona/venv/lib/python3.9/site-packages/numpy/__init__.py:139\u001b[0m\n\u001b[1;32m 136\u001b[0m \u001b[38;5;66;03m# mapping of {name: (value, deprecation_msg)}\u001b[39;00m\n\u001b[1;32m 137\u001b[0m __deprecated_attrs__ \u001b[38;5;241m=\u001b[39m {}\n\u001b[0;32m--> 139\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01m.\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m core\n\u001b[1;32m 140\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mcore\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m \u001b[38;5;241m*\u001b[39m\n\u001b[1;32m 141\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01m.\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m compat\n", - "File \u001b[0;32m~/Desktop/sedona/sedona/venv/lib/python3.9/site-packages/numpy/core/__init__.py:49\u001b[0m\n\u001b[1;32m 25\u001b[0m \u001b[38;5;28;01mimport\u001b[39;00m \u001b[38;5;21;01msys\u001b[39;00m\n\u001b[1;32m 26\u001b[0m msg \u001b[38;5;241m=\u001b[39m \u001b[38;5;124m\"\"\"\u001b[39m\n\u001b[1;32m 27\u001b[0m \n\u001b[1;32m 28\u001b[0m \u001b[38;5;124mIMPORTANT: PLEASE READ THIS FOR ADVICE ON HOW TO SOLVE THIS ISSUE!\u001b[39m\n\u001b[0;32m (...)\u001b[0m\n\u001b[1;32m 47\u001b[0m \u001b[38;5;124m\"\"\"\u001b[39m \u001b[38;5;241m%\u001b[39m (sys\u001b[38;5;241m.\u001b[39mversion_info[\u001b[38;5;241m0\u001b[39m], sys\u001b[38;5;241m.\u001b[39mversion_info[\u001b[38;5;241m1\u001b[39m], sys\u001b[38;5;241m.\u001b[39mexecutable,\n\u001b[1;32m 48\u001b[0m __version__, exc)\n\u001b[0;32m---> 49\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m \u001b[38;5;167;01mImportError\u001b[39;00m(msg)\n\u001b[1;32m 50\u001b[0m \u001b[38;5;28;01mfinally\u001b[39;00m:\n\u001b[1;32m 51\u001b[0m \u001b[38;5;28;01mfor\u001b[39;00m envkey \u001b[38;5;129;01min\u001b[39;00m env_added:\n", - "\u001b[0;31mImportError\u001b[0m: \n\nIMPORTANT: PLEASE READ THIS FOR ADVICE ON HOW TO SOLVE THIS ISSUE!\n\nImporting the numpy C-extensions failed. This error can happen for\nmany reasons, often due to issues with your setup or how NumPy was\ninstalled.\n\nWe have compiled some common reasons and troubleshooting tips at:\n\n https://numpy.org/devdocs/user/troubleshooting-importerror.html\n\nPlease note and check the following:\n\n * The Python version is: Python3.9 from \"/Users/nileshgajwani/Desktop/sedona/sedona/venv/bin/python\"\n * The NumPy version is: \"1.25.0\"\n\nand make sure that they are the versions you expect.\nPlease carefully study the documentation linked above for further help.\n\nOriginal error was: No module named 'numpy.core._multiarray_umath'\n" - ] - } - ], + "outputs": [], "source": [ "import os\n", "\n", @@ -75,47 +51,9 @@ }, { "cell_type": "code", - "execution_count": 2, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - ":: loading settings :: url = jar:file:/Users/nileshgajwani/Desktop/spark/spark-3.4.0-bin-hadoop3/jars/ivy-2.5.1.jar!/org/apache/ivy/core/settings/ivysettings.xml\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Ivy Default Cache set to: /Users/nileshgajwani/.ivy2/cache\n", - "The jars for the packages stored in: /Users/nileshgajwani/.ivy2/jars\n", - "org.apache.sedona#sedona-spark-shaded-3.0_2.12 added as a dependency\n", - "org.datasyslab#geotools-wrapper added as a dependency\n", - ":: resolving dependencies :: org.apache.spark#spark-submit-parent-da2051cb-1fa2-4362-8eae-336dcaaad6f7;1.0\n", - "\tconfs: [default]\n", - "\tfound org.apache.sedona#sedona-spark-shaded-3.0_2.12;1.4.1 in central\n", - "\tfound org.datasyslab#geotools-wrapper;1.4.0-28.2 in central\n", - ":: resolution report :: resolve 79ms :: artifacts dl 2ms\n", - "\t:: modules in use:\n", - "\torg.apache.sedona#sedona-spark-shaded-3.0_2.12;1.4.1 from central in [default]\n", - "\torg.datasyslab#geotools-wrapper;1.4.0-28.2 from central in [default]\n", - "\t---------------------------------------------------------------------\n", - "\t| | modules || artifacts |\n", - "\t| conf | number| search|dwnlded|evicted|| number|dwnlded|\n", - "\t---------------------------------------------------------------------\n", - "\t| default | 2 | 0 | 0 | 0 || 2 | 0 |\n", - "\t---------------------------------------------------------------------\n", - ":: retrieving :: org.apache.spark#spark-submit-parent-da2051cb-1fa2-4362-8eae-336dcaaad6f7\n", - "\tconfs: [default]\n", - "\t0 artifacts copied, 2 already retrieved (0kB/2ms)\n", - "23/07/05 12:58:39 WARN NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable\n", - "Setting default log level to \"WARN\".\n", - "To adjust logging level use sc.setLogLevel(newLevel). For SparkR, use setLogLevel(newLevel).\n" - ] - } - ], + "outputs": [], "source": [ "config = SedonaContext.builder() .\\\n", " config('spark.jars.packages',\n", @@ -138,120 +76,9 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "root\n", - " |-- geometry: geometry (nullable = true)\n", - " |-- featurecla: string (nullable = true)\n", - " |-- scalerank: string (nullable = true)\n", - " |-- LABELRANK: string (nullable = true)\n", - " |-- SOVEREIGNT: string (nullable = true)\n", - " |-- SOV_A3: string (nullable = true)\n", - " |-- ADM0_DIF: string (nullable = true)\n", - " |-- LEVEL: string (nullable = true)\n", - " |-- TYPE: string (nullable = true)\n", - " |-- ADMIN: string (nullable = true)\n", - " |-- ADM0_A3: string (nullable = true)\n", - " |-- GEOU_DIF: string (nullable = true)\n", - " |-- GEOUNIT: string (nullable = true)\n", - " |-- GU_A3: string (nullable = true)\n", - " |-- SU_DIF: string (nullable = true)\n", - " |-- SUBUNIT: string (nullable = true)\n", - " |-- SU_A3: string (nullable = true)\n", - " |-- BRK_DIFF: string (nullable = true)\n", - " |-- NAME: string (nullable = true)\n", - " |-- NAME_LONG: string (nullable = true)\n", - " |-- BRK_A3: string (nullable = true)\n", - " |-- BRK_NAME: string (nullable = true)\n", - " |-- BRK_GROUP: string (nullable = true)\n", - " |-- ABBREV: string (nullable = true)\n", - " |-- POSTAL: string (nullable = true)\n", - " |-- FORMAL_EN: string (nullable = true)\n", - " |-- FORMAL_FR: string (nullable = true)\n", - " |-- NAME_CIAWF: string (nullable = true)\n", - " |-- NOTE_ADM0: string (nullable = true)\n", - " |-- NOTE_BRK: string (nullable = true)\n", - " |-- NAME_SORT: string (nullable = true)\n", - " |-- NAME_ALT: string (nullable = true)\n", - " |-- MAPCOLOR7: string (nullable = true)\n", - " |-- MAPCOLOR8: string (nullable = true)\n", - " |-- MAPCOLOR9: string (nullable = true)\n", - " |-- MAPCOLOR13: string (nullable = true)\n", - " |-- POP_EST: string (nullable = true)\n", - " |-- POP_RANK: string (nullable = true)\n", - " |-- GDP_MD_EST: string (nullable = true)\n", - " |-- POP_YEAR: string (nullable = true)\n", - " |-- LASTCENSUS: string (nullable = true)\n", - " |-- GDP_YEAR: string (nullable = true)\n", - " |-- ECONOMY: string (nullable = true)\n", - " |-- INCOME_GRP: string (nullable = true)\n", - " |-- WIKIPEDIA: string (nullable = true)\n", - " |-- FIPS_10_: string (nullable = true)\n", - " |-- ISO_A2: string (nullable = true)\n", - " |-- ISO_A3: string (nullable = true)\n", - " |-- ISO_A3_EH: string (nullable = true)\n", - " |-- ISO_N3: string (nullable = true)\n", - " |-- UN_A3: string (nullable = true)\n", - " |-- WB_A2: string (nullable = true)\n", - " |-- WB_A3: string (nullable = true)\n", - " |-- WOE_ID: string (nullable = true)\n", - " |-- WOE_ID_EH: string (nullable = true)\n", - " |-- WOE_NOTE: string (nullable = true)\n", - " |-- ADM0_A3_IS: string (nullable = true)\n", - " |-- ADM0_A3_US: string (nullable = true)\n", - " |-- ADM0_A3_UN: string (nullable = true)\n", - " |-- ADM0_A3_WB: string (nullable = true)\n", - " |-- CONTINENT: string (nullable = true)\n", - " |-- REGION_UN: string (nullable = true)\n", - " |-- SUBREGION: string (nullable = true)\n", - " |-- REGION_WB: string (nullable = true)\n", - " |-- NAME_LEN: string (nullable = true)\n", - " |-- LONG_LEN: string (nullable = true)\n", - " |-- ABBREV_LEN: string (nullable = true)\n", - " |-- TINY: string (nullable = true)\n", - " |-- HOMEPART: string (nullable = true)\n", - " |-- MIN_ZOOM: string (nullable = true)\n", - " |-- MIN_LABEL: string (nullable = true)\n", - " |-- MAX_LABEL: string (nullable = true)\n", - " |-- NE_ID: string (nullable = true)\n", - " |-- WIKIDATAID: string (nullable = true)\n", - " |-- NAME_AR: string (nullable = true)\n", - " |-- NAME_BN: string (nullable = true)\n", - " |-- NAME_DE: string (nullable = true)\n", - " |-- NAME_EN: string (nullable = true)\n", - " |-- NAME_ES: string (nullable = true)\n", - " |-- NAME_FR: string (nullable = true)\n", - " |-- NAME_EL: string (nullable = true)\n", - " |-- NAME_HI: string (nullable = true)\n", - " |-- NAME_HU: string (nullable = true)\n", - " |-- NAME_ID: string (nullable = true)\n", - " |-- NAME_IT: string (nullable = true)\n", - " |-- NAME_JA: string (nullable = true)\n", - " |-- NAME_KO: string (nullable = true)\n", - " |-- NAME_NL: string (nullable = true)\n", - " |-- NAME_PL: string (nullable = true)\n", - " |-- NAME_PT: string (nullable = true)\n", - " |-- NAME_RU: string (nullable = true)\n", - " |-- NAME_SV: string (nullable = true)\n", - " |-- NAME_TR: string (nullable = true)\n", - " |-- NAME_VI: string (nullable = true)\n", - " |-- NAME_ZH: string (nullable = true)\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "23/07/05 12:58:42 WARN package: Truncated the string representation of a plan since it was too large. This behavior can be adjusted by setting 'spark.sql.debug.maxToStringFields'.\n" - ] - } - ], + "outputs": [], "source": [ "countries = ShapefileReader.readToGeometryRDD(sc, \"data/ne_50m_admin_0_countries_lakes/\")\n", "countries_df = Adapter.toDf(countries, sedona)\n", @@ -269,29 +96,9 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "root\n", - " |-- geometry: geometry (nullable = true)\n", - " |-- scalerank: string (nullable = true)\n", - " |-- featurecla: string (nullable = true)\n", - " |-- type: string (nullable = true)\n", - " |-- name: string (nullable = true)\n", - " |-- abbrev: string (nullable = true)\n", - " |-- location: string (nullable = true)\n", - " |-- gps_code: string (nullable = true)\n", - " |-- iata_code: string (nullable = true)\n", - " |-- wikipedia: string (nullable = true)\n", - " |-- natlscale: string (nullable = true)\n", - "\n" - ] - } - ], + "outputs": [], "source": [ "airports = ShapefileReader.readToGeometryRDD(sc, \"data/ne_50m_airports/\")\n", "airports_df = Adapter.toDf(airports, sedona)\n", @@ -308,7 +115,7 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -324,17 +131,9 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "[('3.0', '2.12', '1.4.1')]\n" - ] - } - ], + "outputs": [], "source": [ "airports_rdd = Adapter.toSpatialRdd(airports_df, \"geometry\")\n", "# Drop the duplicate name column in countries_df\n", @@ -371,75 +170,9 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "23/07/05 12:58:43 WARN JoinQuery: UseIndex is true, but no index exists. Will build index on the fly.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "+--------------------+--------------------+--------------------+--------------------+\n", - "| country_geom| NAME_EN| airport_geom| name|\n", - "+--------------------+--------------------+--------------------+--------------------+\n", - "|MULTIPOLYGON (((1...|Taiwan ...|POINT (121.231370...|Taoyuan ...|\n", - "|MULTIPOLYGON (((5...|Netherlands ...|POINT (4.76437693...|Schiphol ...|\n", - "|POLYGON ((103.969...|Singapore ...|POINT (103.986413...|Singapore Changi ...|\n", - "|MULTIPOLYGON (((-...|United Kingdom ...|POINT (-0.4531566...|London Heathrow ...|\n", - "|MULTIPOLYGON (((-...|United States of ...|POINT (-149.98172...|Anchorage Int'l ...|\n", - "|MULTIPOLYGON (((-...|United States of ...|POINT (-84.425397...|Hartsfield-Jackso...|\n", - "|MULTIPOLYGON (((1...|People's Republic...|POINT (116.588174...|Beijing Capital ...|\n", - "|MULTIPOLYGON (((-...|Colombia ...|POINT (-74.143371...|Eldorado Int'l ...|\n", - "|MULTIPOLYGON (((6...|India ...|POINT (72.8745639...|Chhatrapati Shiva...|\n", - "|MULTIPOLYGON (((-...|United States of ...|POINT (-71.016406...|Gen E L Logan Int...|\n", - "|MULTIPOLYGON (((-...|United States of ...|POINT (-76.668642...|Baltimore-Washing...|\n", - "|POLYGON ((36.8713...|Egypt ...|POINT (31.3997430...|Cairo Int'l ...|\n", - "|POLYGON ((-2.2196...|Morocco ...|POINT (-7.6632188...|Casablanca-Anfa ...|\n", - "|MULTIPOLYGON (((-...|Venezuela ...|POINT (-67.005748...|Simon Bolivar Int...|\n", - "|MULTIPOLYGON (((2...|South Africa ...|POINT (18.5976565...|Cape Town Int'l ...|\n", - "|MULTIPOLYGON (((1...|People's Republic...|POINT (103.956136...|Chengdushuang Liu...|\n", - "|MULTIPOLYGON (((6...|India ...|POINT (77.0878362...|Indira Gandhi Int...|\n", - "|MULTIPOLYGON (((-...|United States of ...|POINT (-104.67379...|Denver Int'l ...|\n", - "|MULTIPOLYGON (((-...|United States of ...|POINT (-97.040371...|Dallas-Ft. Worth ...|\n", - "|MULTIPOLYGON (((1...|Thailand ...|POINT (100.602578...|Don Muang Int'l ...|\n", - "+--------------------+--------------------+--------------------+--------------------+\n", - "only showing top 20 rows\n", - "\n", - "+--------------------+--------------------+--------------------+--------------------+\n", - "| country_geom| NAME_EN| airport_geom| name|\n", - "+--------------------+--------------------+--------------------+--------------------+\n", - "|MULTIPOLYGON (((-...|United States of ...|POINT (-80.145258...|Fort Lauderdale H...|\n", - "|MULTIPOLYGON (((-...|United States of ...|POINT (-80.278971...|Miami Int'l ...|\n", - "|MULTIPOLYGON (((-...|United States of ...|POINT (-95.333704...|George Bush Inter...|\n", - "|MULTIPOLYGON (((-...|United States of ...|POINT (-90.256693...|New Orleans Int'l...|\n", - "|MULTIPOLYGON (((-...|United States of ...|POINT (-81.307371...|Orlando Int'l ...|\n", - "|MULTIPOLYGON (((-...|United States of ...|POINT (-82.534824...|Tampa Int'l ...|\n", - "|MULTIPOLYGON (((-...|United States of ...|POINT (-112.01363...|Sky Harbor Int'l ...|\n", - "|MULTIPOLYGON (((-...|United States of ...|POINT (-118.40246...|Los Angeles Int'l...|\n", - "|MULTIPOLYGON (((-...|United States of ...|POINT (-116.97547...|General Abelardo ...|\n", - "|MULTIPOLYGON (((-...|United States of ...|POINT (-97.040371...|Dallas-Ft. Worth ...|\n", - "|MULTIPOLYGON (((-...|United States of ...|POINT (-84.425397...|Hartsfield-Jackso...|\n", - "|POLYGON ((-69.965...|Peru ...|POINT (-77.107565...|Jorge Chavez ...|\n", - "|MULTIPOLYGON (((-...|Panama ...|POINT (-79.387134...|Tocumen Int'l ...|\n", - "|POLYGON ((-83.157...|Nicaragua ...|POINT (-86.171284...|Augusto Cesar San...|\n", - "|MULTIPOLYGON (((-...|Mexico ...|POINT (-96.183570...|Gen. Heriberto Ja...|\n", - "|MULTIPOLYGON (((-...|Mexico ...|POINT (-106.27001...|General Rafael Bu...|\n", - "|MULTIPOLYGON (((-...|Mexico ...|POINT (-99.754508...|General Juan N Al...|\n", - "|MULTIPOLYGON (((-...|Mexico ...|POINT (-99.570649...|Jose Maria Morelo...|\n", - "|MULTIPOLYGON (((-...|Mexico ...|POINT (-98.375759...|Puebla ...|\n", - "|MULTIPOLYGON (((-...|Mexico ...|POINT (-99.082607...|Lic Benito Juarez...|\n", - "+--------------------+--------------------+--------------------+--------------------+\n", - "only showing top 20 rows\n", - "\n" - ] - } - ], + "outputs": [], "source": [ "# The result of SQL API\n", "result.show()\n", @@ -456,54 +189,11 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": null, "metadata": { "scrolled": true }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "+--------------------+--------------------+------------+\n", - "| NAME_EN| country_geom|AirportCount|\n", - "+--------------------+--------------------+------------+\n", - "|Cuba ...|MULTIPOLYGON (((-...| 1|\n", - "|Mexico ...|MULTIPOLYGON (((-...| 12|\n", - "|Panama ...|MULTIPOLYGON (((-...| 1|\n", - "|Nicaragua ...|POLYGON ((-83.157...| 1|\n", - "|Honduras ...|MULTIPOLYGON (((-...| 1|\n", - "|Colombia ...|MULTIPOLYGON (((-...| 4|\n", - "|United States of ...|MULTIPOLYGON (((-...| 35|\n", - "|Ecuador ...|MULTIPOLYGON (((-...| 1|\n", - "|The Bahamas ...|MULTIPOLYGON (((-...| 1|\n", - "|Peru ...|POLYGON ((-69.965...| 1|\n", - "|Guatemala ...|POLYGON ((-92.235...| 1|\n", - "|Canada ...|MULTIPOLYGON (((-...| 15|\n", - "|Venezuela ...|MULTIPOLYGON (((-...| 3|\n", - "|Argentina ...|MULTIPOLYGON (((-...| 3|\n", - "|Bolivia ...|MULTIPOLYGON (((-...| 2|\n", - "|Paraguay ...|POLYGON ((-58.159...| 1|\n", - "|Benin ...|POLYGON ((1.62265...| 1|\n", - "|Guinea ...|POLYGON ((-10.283...| 1|\n", - "|Chile ...|MULTIPOLYGON (((-...| 5|\n", - "|Nigeria ...|MULTIPOLYGON (((7...| 3|\n", - "+--------------------+--------------------+------------+\n", - "only showing top 20 rows\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "\r", - "[Stage 20:=================================================> (6 + 1) / 7]\r", - "\r", - " \r" - ] - } - ], + "outputs": [], "source": [ "# result.createOrReplaceTempView(\"result\")\n", "result2.createOrReplaceTempView(\"result\")\n", @@ -520,37 +210,14 @@ }, { "cell_type": "code", - "execution_count": 10, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "User Guide: https://docs.kepler.gl/docs/keplergl-jupyter\n" - ] - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "709f06aa7b2a4dfd82ef6bcfb6cbe134", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "KeplerGl(config={'version': 'v1', 'config': {'visState': {'filters': [], 'layers': [{'id': 'ikzru0t', 'type': …" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "outputs": [], "source": [ "df = groupedresult.toPandas()\n", "gdf = gpd.GeoDataFrame(df, geometry=\"country_geom\").rename(columns={'country_geom':'geometry'})\n", "\n", "map_1 = KeplerGl(data={\"AirportCount\": gdf}, config=getConfig())\n", - "\n", "map_1" ] } diff --git a/binder/Pipfile b/binder/Pipfile index e70cef10c8..4763148951 100644 --- a/binder/Pipfile +++ b/binder/Pipfile @@ -6,7 +6,7 @@ verify_ssl = true [dev-packages] pytest="*" notebook="==6.0.0" -jupyter="*" +jupyter = "*" mkdocs="*" pytest-cov = "*" @@ -23,7 +23,7 @@ keplergl = "==0.3.2" ipywidgets = "*" jupyterlab-widgets = "*" ipykernel = "*" -jupyterlab = "*" +jupyterlab = "==3.6.4" [requires] python_version = "3.9" From 196ac82d34026ed87350a964fc52bb9bd731bbc2 Mon Sep 17 00:00:00 2001 From: Nilesh Gajwani Date: Mon, 10 Jul 2023 19:14:56 -0700 Subject: [PATCH 09/20] revert adding environment.yml --- environment.yml | 32 -------------------------------- 1 file changed, 32 deletions(-) delete mode 100644 environment.yml diff --git a/environment.yml b/environment.yml deleted file mode 100644 index cb311b8cfa..0000000000 --- a/environment.yml +++ /dev/null @@ -1,32 +0,0 @@ -name: geo-env -channels: - - conda-forge -dependencies: - - bokeh - - cartopy - - datapane - - flask>=2.0.0 - - flask-caching - - gdal - - geemap>=0.11.1 - - geopandas - - imageio - - ipyvtklink - - jupyter_bokeh - - keplergl - - laspy - - leafmap>=0.11.3 - - localtileserver>=0.4.0 - - osmnx - - pip - - pydeck - - pyntcloud - - python>=3.9 - - pyvista - - requests - - rio-cogeo - - tifffile - - xarray_leaflet - # - pip: - # - git+https://github.com/opengeos/leafmap - # - git+https://github.com/opengeos/geemap From 0f0015c3d0883c0c3d476b109a0b71448a558e87 Mon Sep 17 00:00:00 2001 From: Nilesh Gajwani Date: Tue, 11 Jul 2023 15:59:19 -0700 Subject: [PATCH 10/20] add sedona.maps with SedonaKepler, a wrapper for KeplerGl visualization in sedona --- ...naSQL_SpatialJoin_AirportsPerCountry.ipynb | 359 +++++++++++++++++- python/sedona/maps/SedonaKepler.py | 20 + python/sedona/maps/__init__.py | 19 + 3 files changed, 378 insertions(+), 20 deletions(-) create mode 100644 python/sedona/maps/SedonaKepler.py create mode 100644 python/sedona/maps/__init__.py diff --git a/binder/ApacheSedonaSQL_SpatialJoin_AirportsPerCountry.ipynb b/binder/ApacheSedonaSQL_SpatialJoin_AirportsPerCountry.ipynb index f1d883f5d2..e22351a615 100644 --- a/binder/ApacheSedonaSQL_SpatialJoin_AirportsPerCountry.ipynb +++ b/binder/ApacheSedonaSQL_SpatialJoin_AirportsPerCountry.ipynb @@ -38,8 +38,9 @@ "\n", "from sedona.spark import *\n", "from utilities import getConfig\n", + "from sedona.maps import *\n", "\n", - "from keplergl import KeplerGl" + "\n" ] }, { @@ -51,9 +52,48 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 2, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + ":: loading settings :: url = jar:file:/Users/nileshgajwani/Desktop/spark/spark-3.4.0-bin-hadoop3/jars/ivy-2.5.1.jar!/org/apache/ivy/core/settings/ivysettings.xml\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Ivy Default Cache set to: /Users/nileshgajwani/.ivy2/cache\n", + "The jars for the packages stored in: /Users/nileshgajwani/.ivy2/jars\n", + "org.apache.sedona#sedona-spark-shaded-3.0_2.12 added as a dependency\n", + "org.datasyslab#geotools-wrapper added as a dependency\n", + ":: resolving dependencies :: org.apache.spark#spark-submit-parent-b8fbae2c-f850-4987-b677-3b94074f20f2;1.0\n", + "\tconfs: [default]\n", + "\tfound org.apache.sedona#sedona-spark-shaded-3.0_2.12;1.4.1 in central\n", + "\tfound org.datasyslab#geotools-wrapper;1.4.0-28.2 in central\n", + ":: resolution report :: resolve 82ms :: artifacts dl 2ms\n", + "\t:: modules in use:\n", + "\torg.apache.sedona#sedona-spark-shaded-3.0_2.12;1.4.1 from central in [default]\n", + "\torg.datasyslab#geotools-wrapper;1.4.0-28.2 from central in [default]\n", + "\t---------------------------------------------------------------------\n", + "\t| | modules || artifacts |\n", + "\t| conf | number| search|dwnlded|evicted|| number|dwnlded|\n", + "\t---------------------------------------------------------------------\n", + "\t| default | 2 | 0 | 0 | 0 || 2 | 0 |\n", + "\t---------------------------------------------------------------------\n", + ":: retrieving :: org.apache.spark#spark-submit-parent-b8fbae2c-f850-4987-b677-3b94074f20f2\n", + "\tconfs: [default]\n", + "\t0 artifacts copied, 2 already retrieved (0kB/2ms)\n", + "23/07/11 15:56:19 WARN NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable\n", + "Setting default log level to \"WARN\".\n", + "To adjust logging level use sc.setLogLevel(newLevel). For SparkR, use setLogLevel(newLevel).\n", + "23/07/11 15:56:23 WARN SimpleFunctionRegistry: The function st_affine replaced a previously registered function.\n" + ] + } + ], "source": [ "config = SedonaContext.builder() .\\\n", " config('spark.jars.packages',\n", @@ -76,9 +116,120 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 3, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "root\n", + " |-- geometry: geometry (nullable = true)\n", + " |-- featurecla: string (nullable = true)\n", + " |-- scalerank: string (nullable = true)\n", + " |-- LABELRANK: string (nullable = true)\n", + " |-- SOVEREIGNT: string (nullable = true)\n", + " |-- SOV_A3: string (nullable = true)\n", + " |-- ADM0_DIF: string (nullable = true)\n", + " |-- LEVEL: string (nullable = true)\n", + " |-- TYPE: string (nullable = true)\n", + " |-- ADMIN: string (nullable = true)\n", + " |-- ADM0_A3: string (nullable = true)\n", + " |-- GEOU_DIF: string (nullable = true)\n", + " |-- GEOUNIT: string (nullable = true)\n", + " |-- GU_A3: string (nullable = true)\n", + " |-- SU_DIF: string (nullable = true)\n", + " |-- SUBUNIT: string (nullable = true)\n", + " |-- SU_A3: string (nullable = true)\n", + " |-- BRK_DIFF: string (nullable = true)\n", + " |-- NAME: string (nullable = true)\n", + " |-- NAME_LONG: string (nullable = true)\n", + " |-- BRK_A3: string (nullable = true)\n", + " |-- BRK_NAME: string (nullable = true)\n", + " |-- BRK_GROUP: string (nullable = true)\n", + " |-- ABBREV: string (nullable = true)\n", + " |-- POSTAL: string (nullable = true)\n", + " |-- FORMAL_EN: string (nullable = true)\n", + " |-- FORMAL_FR: string (nullable = true)\n", + " |-- NAME_CIAWF: string (nullable = true)\n", + " |-- NOTE_ADM0: string (nullable = true)\n", + " |-- NOTE_BRK: string (nullable = true)\n", + " |-- NAME_SORT: string (nullable = true)\n", + " |-- NAME_ALT: string (nullable = true)\n", + " |-- MAPCOLOR7: string (nullable = true)\n", + " |-- MAPCOLOR8: string (nullable = true)\n", + " |-- MAPCOLOR9: string (nullable = true)\n", + " |-- MAPCOLOR13: string (nullable = true)\n", + " |-- POP_EST: string (nullable = true)\n", + " |-- POP_RANK: string (nullable = true)\n", + " |-- GDP_MD_EST: string (nullable = true)\n", + " |-- POP_YEAR: string (nullable = true)\n", + " |-- LASTCENSUS: string (nullable = true)\n", + " |-- GDP_YEAR: string (nullable = true)\n", + " |-- ECONOMY: string (nullable = true)\n", + " |-- INCOME_GRP: string (nullable = true)\n", + " |-- WIKIPEDIA: string (nullable = true)\n", + " |-- FIPS_10_: string (nullable = true)\n", + " |-- ISO_A2: string (nullable = true)\n", + " |-- ISO_A3: string (nullable = true)\n", + " |-- ISO_A3_EH: string (nullable = true)\n", + " |-- ISO_N3: string (nullable = true)\n", + " |-- UN_A3: string (nullable = true)\n", + " |-- WB_A2: string (nullable = true)\n", + " |-- WB_A3: string (nullable = true)\n", + " |-- WOE_ID: string (nullable = true)\n", + " |-- WOE_ID_EH: string (nullable = true)\n", + " |-- WOE_NOTE: string (nullable = true)\n", + " |-- ADM0_A3_IS: string (nullable = true)\n", + " |-- ADM0_A3_US: string (nullable = true)\n", + " |-- ADM0_A3_UN: string (nullable = true)\n", + " |-- ADM0_A3_WB: string (nullable = true)\n", + " |-- CONTINENT: string (nullable = true)\n", + " |-- REGION_UN: string (nullable = true)\n", + " |-- SUBREGION: string (nullable = true)\n", + " |-- REGION_WB: string (nullable = true)\n", + " |-- NAME_LEN: string (nullable = true)\n", + " |-- LONG_LEN: string (nullable = true)\n", + " |-- ABBREV_LEN: string (nullable = true)\n", + " |-- TINY: string (nullable = true)\n", + " |-- HOMEPART: string (nullable = true)\n", + " |-- MIN_ZOOM: string (nullable = true)\n", + " |-- MIN_LABEL: string (nullable = true)\n", + " |-- MAX_LABEL: string (nullable = true)\n", + " |-- NE_ID: string (nullable = true)\n", + " |-- WIKIDATAID: string (nullable = true)\n", + " |-- NAME_AR: string (nullable = true)\n", + " |-- NAME_BN: string (nullable = true)\n", + " |-- NAME_DE: string (nullable = true)\n", + " |-- NAME_EN: string (nullable = true)\n", + " |-- NAME_ES: string (nullable = true)\n", + " |-- NAME_FR: string (nullable = true)\n", + " |-- NAME_EL: string (nullable = true)\n", + " |-- NAME_HI: string (nullable = true)\n", + " |-- NAME_HU: string (nullable = true)\n", + " |-- NAME_ID: string (nullable = true)\n", + " |-- NAME_IT: string (nullable = true)\n", + " |-- NAME_JA: string (nullable = true)\n", + " |-- NAME_KO: string (nullable = true)\n", + " |-- NAME_NL: string (nullable = true)\n", + " |-- NAME_PL: string (nullable = true)\n", + " |-- NAME_PT: string (nullable = true)\n", + " |-- NAME_RU: string (nullable = true)\n", + " |-- NAME_SV: string (nullable = true)\n", + " |-- NAME_TR: string (nullable = true)\n", + " |-- NAME_VI: string (nullable = true)\n", + " |-- NAME_ZH: string (nullable = true)\n", + "\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "23/07/11 15:56:23 WARN package: Truncated the string representation of a plan since it was too large. This behavior can be adjusted by setting 'spark.sql.debug.maxToStringFields'.\n" + ] + } + ], "source": [ "countries = ShapefileReader.readToGeometryRDD(sc, \"data/ne_50m_admin_0_countries_lakes/\")\n", "countries_df = Adapter.toDf(countries, sedona)\n", @@ -96,9 +247,29 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 4, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "root\n", + " |-- geometry: geometry (nullable = true)\n", + " |-- scalerank: string (nullable = true)\n", + " |-- featurecla: string (nullable = true)\n", + " |-- type: string (nullable = true)\n", + " |-- name: string (nullable = true)\n", + " |-- abbrev: string (nullable = true)\n", + " |-- location: string (nullable = true)\n", + " |-- gps_code: string (nullable = true)\n", + " |-- iata_code: string (nullable = true)\n", + " |-- wikipedia: string (nullable = true)\n", + " |-- natlscale: string (nullable = true)\n", + "\n" + ] + } + ], "source": [ "airports = ShapefileReader.readToGeometryRDD(sc, \"data/ne_50m_airports/\")\n", "airports_df = Adapter.toDf(airports, sedona)\n", @@ -115,7 +286,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 5, "metadata": {}, "outputs": [], "source": [ @@ -131,9 +302,17 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 6, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[('3.0', '2.12', '1.4.1')]\n" + ] + } + ], "source": [ "airports_rdd = Adapter.toSpatialRdd(airports_df, \"geometry\")\n", "# Drop the duplicate name column in countries_df\n", @@ -170,9 +349,75 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 7, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "23/07/11 15:56:24 WARN JoinQuery: UseIndex is true, but no index exists. Will build index on the fly.\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "+--------------------+--------------------+--------------------+--------------------+\n", + "| country_geom| NAME_EN| airport_geom| name|\n", + "+--------------------+--------------------+--------------------+--------------------+\n", + "|MULTIPOLYGON (((1...|Taiwan ...|POINT (121.231370...|Taoyuan ...|\n", + "|MULTIPOLYGON (((5...|Netherlands ...|POINT (4.76437693...|Schiphol ...|\n", + "|POLYGON ((103.969...|Singapore ...|POINT (103.986413...|Singapore Changi ...|\n", + "|MULTIPOLYGON (((-...|United Kingdom ...|POINT (-0.4531566...|London Heathrow ...|\n", + "|MULTIPOLYGON (((-...|United States of ...|POINT (-149.98172...|Anchorage Int'l ...|\n", + "|MULTIPOLYGON (((-...|United States of ...|POINT (-84.425397...|Hartsfield-Jackso...|\n", + "|MULTIPOLYGON (((1...|People's Republic...|POINT (116.588174...|Beijing Capital ...|\n", + "|MULTIPOLYGON (((-...|Colombia ...|POINT (-74.143371...|Eldorado Int'l ...|\n", + "|MULTIPOLYGON (((6...|India ...|POINT (72.8745639...|Chhatrapati Shiva...|\n", + "|MULTIPOLYGON (((-...|United States of ...|POINT (-71.016406...|Gen E L Logan Int...|\n", + "|MULTIPOLYGON (((-...|United States of ...|POINT (-76.668642...|Baltimore-Washing...|\n", + "|POLYGON ((36.8713...|Egypt ...|POINT (31.3997430...|Cairo Int'l ...|\n", + "|POLYGON ((-2.2196...|Morocco ...|POINT (-7.6632188...|Casablanca-Anfa ...|\n", + "|MULTIPOLYGON (((-...|Venezuela ...|POINT (-67.005748...|Simon Bolivar Int...|\n", + "|MULTIPOLYGON (((2...|South Africa ...|POINT (18.5976565...|Cape Town Int'l ...|\n", + "|MULTIPOLYGON (((1...|People's Republic...|POINT (103.956136...|Chengdushuang Liu...|\n", + "|MULTIPOLYGON (((6...|India ...|POINT (77.0878362...|Indira Gandhi Int...|\n", + "|MULTIPOLYGON (((-...|United States of ...|POINT (-104.67379...|Denver Int'l ...|\n", + "|MULTIPOLYGON (((-...|United States of ...|POINT (-97.040371...|Dallas-Ft. Worth ...|\n", + "|MULTIPOLYGON (((1...|Thailand ...|POINT (100.602578...|Don Muang Int'l ...|\n", + "+--------------------+--------------------+--------------------+--------------------+\n", + "only showing top 20 rows\n", + "\n", + "+--------------------+--------------------+--------------------+--------------------+\n", + "| country_geom| NAME_EN| airport_geom| name|\n", + "+--------------------+--------------------+--------------------+--------------------+\n", + "|MULTIPOLYGON (((-...|United States of ...|POINT (-80.145258...|Fort Lauderdale H...|\n", + "|MULTIPOLYGON (((-...|United States of ...|POINT (-80.278971...|Miami Int'l ...|\n", + "|MULTIPOLYGON (((-...|United States of ...|POINT (-95.333704...|George Bush Inter...|\n", + "|MULTIPOLYGON (((-...|United States of ...|POINT (-90.256693...|New Orleans Int'l...|\n", + "|MULTIPOLYGON (((-...|United States of ...|POINT (-81.307371...|Orlando Int'l ...|\n", + "|MULTIPOLYGON (((-...|United States of ...|POINT (-82.534824...|Tampa Int'l ...|\n", + "|MULTIPOLYGON (((-...|United States of ...|POINT (-112.01363...|Sky Harbor Int'l ...|\n", + "|MULTIPOLYGON (((-...|United States of ...|POINT (-118.40246...|Los Angeles Int'l...|\n", + "|MULTIPOLYGON (((-...|United States of ...|POINT (-116.97547...|General Abelardo ...|\n", + "|MULTIPOLYGON (((-...|United States of ...|POINT (-97.040371...|Dallas-Ft. Worth ...|\n", + "|MULTIPOLYGON (((-...|United States of ...|POINT (-84.425397...|Hartsfield-Jackso...|\n", + "|POLYGON ((-69.965...|Peru ...|POINT (-77.107565...|Jorge Chavez ...|\n", + "|MULTIPOLYGON (((-...|Panama ...|POINT (-79.387134...|Tocumen Int'l ...|\n", + "|POLYGON ((-83.157...|Nicaragua ...|POINT (-86.171284...|Augusto Cesar San...|\n", + "|MULTIPOLYGON (((-...|Mexico ...|POINT (-96.183570...|Gen. Heriberto Ja...|\n", + "|MULTIPOLYGON (((-...|Mexico ...|POINT (-106.27001...|General Rafael Bu...|\n", + "|MULTIPOLYGON (((-...|Mexico ...|POINT (-99.754508...|General Juan N Al...|\n", + "|MULTIPOLYGON (((-...|Mexico ...|POINT (-99.570649...|Jose Maria Morelo...|\n", + "|MULTIPOLYGON (((-...|Mexico ...|POINT (-98.375759...|Puebla ...|\n", + "|MULTIPOLYGON (((-...|Mexico ...|POINT (-99.082607...|Lic Benito Juarez...|\n", + "+--------------------+--------------------+--------------------+--------------------+\n", + "only showing top 20 rows\n", + "\n" + ] + } + ], "source": [ "# The result of SQL API\n", "result.show()\n", @@ -189,11 +434,44 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 8, "metadata": { "scrolled": true }, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "+--------------------+--------------------+------------+\n", + "| NAME_EN| country_geom|AirportCount|\n", + "+--------------------+--------------------+------------+\n", + "|Cuba ...|MULTIPOLYGON (((-...| 1|\n", + "|Mexico ...|MULTIPOLYGON (((-...| 12|\n", + "|Panama ...|MULTIPOLYGON (((-...| 1|\n", + "|Nicaragua ...|POLYGON ((-83.157...| 1|\n", + "|Honduras ...|MULTIPOLYGON (((-...| 1|\n", + "|Colombia ...|MULTIPOLYGON (((-...| 4|\n", + "|United States of ...|MULTIPOLYGON (((-...| 35|\n", + "|Ecuador ...|MULTIPOLYGON (((-...| 1|\n", + "|The Bahamas ...|MULTIPOLYGON (((-...| 1|\n", + "|Peru ...|POLYGON ((-69.965...| 1|\n", + "|Guatemala ...|POLYGON ((-92.235...| 1|\n", + "|Canada ...|MULTIPOLYGON (((-...| 15|\n", + "|Venezuela ...|MULTIPOLYGON (((-...| 3|\n", + "|Argentina ...|MULTIPOLYGON (((-...| 3|\n", + "|Bolivia ...|MULTIPOLYGON (((-...| 2|\n", + "|Paraguay ...|POLYGON ((-58.159...| 1|\n", + "|Benin ...|POLYGON ((1.62265...| 1|\n", + "|Guinea ...|POLYGON ((-10.283...| 1|\n", + "|Chile ...|MULTIPOLYGON (((-...| 5|\n", + "|Nigeria ...|MULTIPOLYGON (((7...| 3|\n", + "+--------------------+--------------------+------------+\n", + "only showing top 20 rows\n", + "\n" + ] + } + ], "source": [ "# result.createOrReplaceTempView(\"result\")\n", "result2.createOrReplaceTempView(\"result\")\n", @@ -210,16 +488,57 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 10, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "User Guide: https://docs.kepler.gl/docs/keplergl-jupyter\n" + ] + } + ], "source": [ - "df = groupedresult.toPandas()\n", - "gdf = gpd.GeoDataFrame(df, geometry=\"country_geom\").rename(columns={'country_geom':'geometry'})\n", + "dataFrame = groupedresult.toPandas()\n", + "gdf = gpd.GeoDataFrame(dataFrame, geometry=\"country_geom\").rename(columns={'country_geom':'geometry'})\n", + "\n", "\n", - "map_1 = KeplerGl(data={\"AirportCount\": gdf}, config=getConfig())\n", - "map_1" + "# map_1 = KeplerGl(data={\"AirportCount\": gdf}, config=getConfig())\n", + "# map_1\n", + "map = SedonaKepler.createMap(df=gdf, name=\"AirportCount\", config=getConfig())" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": {}, + "outputs": [ + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "330902e32411466ea2e63f78334e0ca4", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "KeplerGl(config={'version': 'v1', 'config': {'visState': {'filters': [], 'layers': [{'id': 'ikzru0t', 'type': …" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "map" ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] } ], "metadata": { diff --git a/python/sedona/maps/SedonaKepler.py b/python/sedona/maps/SedonaKepler.py new file mode 100644 index 0000000000..cfcf51f075 --- /dev/null +++ b/python/sedona/maps/SedonaKepler.py @@ -0,0 +1,20 @@ +from keplergl import KeplerGl + +class SedonaKepler: + + @classmethod + def createMap(cls, df=None, name=None, config=None): + if df is not None: + dfName = 'unnamed' + if name is not None: + dfName = name + dataDict = {dfName: df} + map = KeplerGl(data=dataDict) + else: + map = KeplerGl() + + if config is not None: + map.config = config + + return map + diff --git a/python/sedona/maps/__init__.py b/python/sedona/maps/__init__.py new file mode 100644 index 0000000000..1c48517285 --- /dev/null +++ b/python/sedona/maps/__init__.py @@ -0,0 +1,19 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + +from keplergl import KeplerGl +from sedona.maps.SedonaKepler import SedonaKepler \ No newline at end of file From bb46de5142f97e9d3129f3d2559e365f0fe12442 Mon Sep 17 00:00:00 2001 From: Nilesh Gajwani Date: Wed, 12 Jul 2023 14:31:40 -0700 Subject: [PATCH 11/20] Refactor SedonaKepler wrapper to take SedonaDataFrames as data input Added comments and documentation on using SedonaKepler Added keplergl to sedona/python pipfile Added SedonaKepler import to SedonaContext init Added basic test cases for map created by SedonaKepler Reverted jupyter notebook example to sedona 1.4.1 compatible example --- ...naSQL_SpatialJoin_AirportsPerCountry.ipynb | 47 +++++------- docs/tutorial/sql.md | 75 +++++++++++++++++++ python/Pipfile | 1 + python/__init__.py | 0 python/sedona/maps/SedonaKepler.py | 48 ++++++++++-- python/sedona/maps/__init__.py | 3 - python/sedona/spark/__init__.py | 3 +- .../sql/test_sedonakepler_visualization.py | 11 +++ 8 files changed, 150 insertions(+), 38 deletions(-) create mode 100644 python/__init__.py create mode 100644 python/tests/sql/test_sedonakepler_visualization.py diff --git a/binder/ApacheSedonaSQL_SpatialJoin_AirportsPerCountry.ipynb b/binder/ApacheSedonaSQL_SpatialJoin_AirportsPerCountry.ipynb index e22351a615..225e6ad8e2 100644 --- a/binder/ApacheSedonaSQL_SpatialJoin_AirportsPerCountry.ipynb +++ b/binder/ApacheSedonaSQL_SpatialJoin_AirportsPerCountry.ipynb @@ -37,9 +37,8 @@ "\n", "\n", "from sedona.spark import *\n", + "from keplergl import KeplerGl\n", "from utilities import getConfig\n", - "from sedona.maps import *\n", - "\n", "\n" ] }, @@ -70,11 +69,11 @@ "The jars for the packages stored in: /Users/nileshgajwani/.ivy2/jars\n", "org.apache.sedona#sedona-spark-shaded-3.0_2.12 added as a dependency\n", "org.datasyslab#geotools-wrapper added as a dependency\n", - ":: resolving dependencies :: org.apache.spark#spark-submit-parent-b8fbae2c-f850-4987-b677-3b94074f20f2;1.0\n", + ":: resolving dependencies :: org.apache.spark#spark-submit-parent-2ebc22b4-bd08-4a3f-a2dc-bd50e2f0f728;1.0\n", "\tconfs: [default]\n", "\tfound org.apache.sedona#sedona-spark-shaded-3.0_2.12;1.4.1 in central\n", "\tfound org.datasyslab#geotools-wrapper;1.4.0-28.2 in central\n", - ":: resolution report :: resolve 82ms :: artifacts dl 2ms\n", + ":: resolution report :: resolve 85ms :: artifacts dl 3ms\n", "\t:: modules in use:\n", "\torg.apache.sedona#sedona-spark-shaded-3.0_2.12;1.4.1 from central in [default]\n", "\torg.datasyslab#geotools-wrapper;1.4.0-28.2 from central in [default]\n", @@ -84,13 +83,13 @@ "\t---------------------------------------------------------------------\n", "\t| default | 2 | 0 | 0 | 0 || 2 | 0 |\n", "\t---------------------------------------------------------------------\n", - ":: retrieving :: org.apache.spark#spark-submit-parent-b8fbae2c-f850-4987-b677-3b94074f20f2\n", + ":: retrieving :: org.apache.spark#spark-submit-parent-2ebc22b4-bd08-4a3f-a2dc-bd50e2f0f728\n", "\tconfs: [default]\n", "\t0 artifacts copied, 2 already retrieved (0kB/2ms)\n", - "23/07/11 15:56:19 WARN NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable\n", + "23/07/12 14:17:39 WARN NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable\n", "Setting default log level to \"WARN\".\n", "To adjust logging level use sc.setLogLevel(newLevel). For SparkR, use setLogLevel(newLevel).\n", - "23/07/11 15:56:23 WARN SimpleFunctionRegistry: The function st_affine replaced a previously registered function.\n" + "23/07/12 14:17:43 WARN SimpleFunctionRegistry: The function st_affine replaced a previously registered function.\n" ] } ], @@ -226,7 +225,7 @@ "name": "stderr", "output_type": "stream", "text": [ - "23/07/11 15:56:23 WARN package: Truncated the string representation of a plan since it was too large. This behavior can be adjusted by setting 'spark.sql.debug.maxToStringFields'.\n" + "23/07/12 14:17:43 WARN package: Truncated the string representation of a plan since it was too large. This behavior can be adjusted by setting 'spark.sql.debug.maxToStringFields'.\n" ] } ], @@ -356,7 +355,7 @@ "name": "stderr", "output_type": "stream", "text": [ - "23/07/11 15:56:24 WARN JoinQuery: UseIndex is true, but no index exists. Will build index on the fly.\n" + "23/07/12 14:17:44 WARN JoinQuery: UseIndex is true, but no index exists. Will build index on the fly.\n" ] }, { @@ -488,7 +487,7 @@ }, { "cell_type": "code", - "execution_count": 10, + "execution_count": 9, "metadata": {}, "outputs": [ { @@ -497,27 +496,11 @@ "text": [ "User Guide: https://docs.kepler.gl/docs/keplergl-jupyter\n" ] - } - ], - "source": [ - "dataFrame = groupedresult.toPandas()\n", - "gdf = gpd.GeoDataFrame(dataFrame, geometry=\"country_geom\").rename(columns={'country_geom':'geometry'})\n", - "\n", - "\n", - "# map_1 = KeplerGl(data={\"AirportCount\": gdf}, config=getConfig())\n", - "# map_1\n", - "map = SedonaKepler.createMap(df=gdf, name=\"AirportCount\", config=getConfig())" - ] - }, - { - "cell_type": "code", - "execution_count": 11, - "metadata": {}, - "outputs": [ + }, { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "330902e32411466ea2e63f78334e0ca4", + "model_id": "0646646608754887811eee12e5516d16", "version_major": 2, "version_minor": 0 }, @@ -530,13 +513,19 @@ } ], "source": [ + "df = groupedresult.toPandas()\n", + "gdf = gpd.GeoDataFrame(df, geometry=\"country_geom\").rename(columns={'country_geom':'geometry'})\n", + "\n", + "map = KeplerGl(data={\"AirportCount\": gdf}, config=getConfig())\n", "map" ] }, { "cell_type": "code", "execution_count": null, - "metadata": {}, + "metadata": { + "tags": [] + }, "outputs": [], "source": [] } diff --git a/docs/tutorial/sql.md b/docs/tutorial/sql.md index aa98b3791c..3092833f31 100644 --- a/docs/tutorial/sql.md +++ b/docs/tutorial/sql.md @@ -505,6 +505,81 @@ The details of a join query is available here [Join query](../api/sql/Optimizer. There are lots of other functions can be combined with these queries. Please read [SedonaSQL functions](../api/sql/Function.md) and [SedonaSQL aggregate functions](../api/sql/AggregateFunction.md). +## Visualize query results + +==Sedona >= 1.5.0== + + +Spatial query results can be visualized in Jupyter lab/notebook using SedonaKepler. + +SedonaKepler exposes APIs to create interactive and customizable map visualizations using [KeplerGl](https://kepler.gl/). + +### Creating a map object using SedonaKepler.createMap + +SedonaKepler exposes a createMap API with the following signature: + +```python +createMap(df: SedonaDataFrame=None, name: str='unnamed', geometry_col: str='geometry', config: dict=None) -> map +``` + +The parameter 'name' is used to associate the passed SedonaDataFrame in the map object and any config applied to the map is linked to this name. It is recommended you pass a unique identifier to the dataframe here. + +The parameter 'geometry_col' is used to identify the geometry containing column. This is required if the column has a name other than the standard 'geometry'. + +!!!Note + Failure to pass the correct geometry column name (if it has a name other than 'geometry') will result in a failure to create a map object. + +If no SedonaDataFrame object is passed, an empty map (with config applied if passed) is returned. A SedonaDataFrame can be added later using the method `addDf` + +A map config can be passed optionally to apply pre-apply customizations to the map. + +!!!Note + The map config references every customization with the name assigned to the SedonaDataFrame being displayed, if there is a mismatch in the name, the config will not be applied to the map object. + + +!!! abstract "Example usage (Referenced from Sedona Jupyter examples)" + + === "Python" + ```python + map = SedonaKepler.createMap(df=groupedresult, name="AirportCount", geometry_col="country_geom") + map + ``` + +### Adding SedonaDataFrame to a map object using SedonaKepler.addDf +SedonaKepler exposes a addDf API with the following signature: + +```python +addDf(map, df: SedonaDataFrame, name: str='unnamed', geometry_col='geometry') +``` + +This API can be used to add a SedonaDataFrame to an already created map object. The map object passed is directly mutated and nothing is returned. + +The parameters name and geometry_col have the same conditions as 'createMap' + +!!!Note + If the passed map object already has a dataframe added, this method will overwrite it with the passed SedonaDataFrame. + +!!! abstract "Example usage (Referenced from Sedona Jupyter examples)" + === "Python" + ```python + map = SedonaKepler.createMap() + SedonaKepler.addDf(map, groupedresult, name="AirportCount", geometry_col="country_geom") + map + ``` + +### Setting a config via the map +A map rendered by accessing the map object created by SedonaKepler includes a config panel which can be used to customize the map + + + + +### Saving and setting config + +A map object's current config can be accessed by accessing its 'config' attribute like `map.config`. This config can be saved for future use or use across notebooks if the exact same map is to be rendered everytime. + +!!!Note + The map config references each applied customization with the name given to the dataframe and hence will work only on maps with the same name of dataframe supplied. + For more details refer to keplerGl documentation [here](https://docs.kepler.gl/docs/keplergl-jupyter#6.-match-config-with-data) ## Save to permanent storage To save a Spatial DataFrame to some permanent storage such as Hive tables and HDFS, you can simply convert each geometry in the Geometry type column back to a plain String and save the plain DataFrame to wherever you want. diff --git a/python/Pipfile b/python/Pipfile index e1aeb8c1b3..e23af0bffc 100644 --- a/python/Pipfile +++ b/python/Pipfile @@ -17,6 +17,7 @@ geopandas="<=0.10.2" pyspark=">=2.3.0" attrs="*" pyarrow="*" +keplergl = "==0.3.2" [requires] python_version = "3.7" diff --git a/python/__init__.py b/python/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/python/sedona/maps/SedonaKepler.py b/python/sedona/maps/SedonaKepler.py index cfcf51f075..1dc6160cdb 100644 --- a/python/sedona/maps/SedonaKepler.py +++ b/python/sedona/maps/SedonaKepler.py @@ -1,14 +1,24 @@ from keplergl import KeplerGl +import geopandas as gpd + + class SedonaKepler: @classmethod - def createMap(cls, df=None, name=None, config=None): + def createMap(cls, df=None, name="unnamed", geometry_col="geometry", config=None): + """ + Creates a map visualization using kepler, optionally taking a sedona dataFrame as data input + :param df: [Optional] SedonaDataFrame to plot on the map + :param name: [Optional] Name to be associated with the given dataframe, if a df is passed with no name, a default name of 'unnamed' is set for it. + :param geometry_col: [Optional] Custom name of geometry column in the sedona data frame, + if no name is provided, it is assumed that the column has the default name 'geometry'. + :param config: [Optional] A map config to be applied to the rendered map + :return: A map object + """ if df is not None: - dfName = 'unnamed' - if name is not None: - dfName = name - dataDict = {dfName: df} + geoDf = SedonaKepler._convertToGdf(df, geometry_col) + dataDict = {name: geoDf} map = KeplerGl(data=dataDict) else: map = KeplerGl() @@ -18,3 +28,31 @@ def createMap(cls, df=None, name=None, config=None): return map + @classmethod + def addDf(cls, map, df, name="unnamed", geometry_col="geometry"): + """ + Adds a SedonaDataFrame to a given map object. + :param map: Map object to add SedonaDataFrame to + :param df: SedonaDataFrame to add + :param name: [Optional] Name to assign to the dataframe, default name assigned is 'unnamed' + :param geometry_col: [Optional] Custom name of geometry_column if any, if no name is provided, a default name of 'geometry' is assumed. + :return: Does not return anything, adds df directly to the given map object + """ + geoDf = SedonaKepler._convertToGdf(df, geometry_col) + map.add_data(geoDf, name=name) + + + @classmethod + def _convertToGdf(cls, df, geometry_col="geometry"): + """ + Converts a SedonaDataFrame to a GeoPandasDataFrame and also renames geometry column to a standard name of 'geometry' + :param df: SedonaDataFrame to convert + :param geometry_col: [Optional] + :return: + """ + pandasDf = df.toPandas() + geoDf = gpd.GeoDataFrame(pandasDf, geometry=geometry_col) + if geometry_col != "geometry": + geoDf = geoDf.rename(columns={geometry_col: "geometry"}) + return geoDf + diff --git a/python/sedona/maps/__init__.py b/python/sedona/maps/__init__.py index 1c48517285..a67d5ea255 100644 --- a/python/sedona/maps/__init__.py +++ b/python/sedona/maps/__init__.py @@ -14,6 +14,3 @@ # KIND, either express or implied. See the License for the # specific language governing permissions and limitations # under the License. - -from keplergl import KeplerGl -from sedona.maps.SedonaKepler import SedonaKepler \ No newline at end of file diff --git a/python/sedona/spark/__init__.py b/python/sedona/spark/__init__.py index 3cf6e8fac8..011a1940c3 100644 --- a/python/sedona/spark/__init__.py +++ b/python/sedona/spark/__init__.py @@ -38,4 +38,5 @@ from sedona.utils import KryoSerializer from sedona.utils import SedonaKryoRegistrator from sedona.register import SedonaRegistrator -from sedona.spark.SedonaContext import SedonaContext \ No newline at end of file +from sedona.spark.SedonaContext import SedonaContext +from sedona.maps.SedonaKepler import SedonaKepler \ No newline at end of file diff --git a/python/tests/sql/test_sedonakepler_visualization.py b/python/tests/sql/test_sedonakepler_visualization.py new file mode 100644 index 0000000000..cc43f445f6 --- /dev/null +++ b/python/tests/sql/test_sedonakepler_visualization.py @@ -0,0 +1,11 @@ +from keplergl import KeplerGl +from sedona.maps.SedonaKepler import SedonaKepler +from tests.test_base import TestBase + + +class TestVisualization(TestBase): + + def test_map_creation(self): + sedona_kepler_map = SedonaKepler.createMap() + kepler_map = KeplerGl() + assert sedona_kepler_map.config == kepler_map.config From 349c855d5b6a899788a85777cb3b6142c4d73b82 Mon Sep 17 00:00:00 2001 From: Nilesh Gajwani Date: Thu, 13 Jul 2023 01:09:31 -0700 Subject: [PATCH 12/20] moved sedonakepler tests to a separate folder Removed unnecessary init.py in python Refactored method names to follow python convention --- docs/tutorial/sql.md | 22 +++++++++---------- python/sedona/maps/SedonaKepler.py | 4 ++-- python/{ => tests/maps}/__init__.py | 0 .../test_sedonakepler_visualization.py | 2 +- 4 files changed, 14 insertions(+), 14 deletions(-) rename python/{ => tests/maps}/__init__.py (100%) rename python/tests/{sql => maps}/test_sedonakepler_visualization.py (83%) diff --git a/docs/tutorial/sql.md b/docs/tutorial/sql.md index 3092833f31..754f9fb0ff 100644 --- a/docs/tutorial/sql.md +++ b/docs/tutorial/sql.md @@ -514,12 +514,12 @@ Spatial query results can be visualized in Jupyter lab/notebook using SedonaKepl SedonaKepler exposes APIs to create interactive and customizable map visualizations using [KeplerGl](https://kepler.gl/). -### Creating a map object using SedonaKepler.createMap +### Creating a map object using SedonaKepler.create_map -SedonaKepler exposes a createMap API with the following signature: +SedonaKepler exposes a create_map API with the following signature: ```python -createMap(df: SedonaDataFrame=None, name: str='unnamed', geometry_col: str='geometry', config: dict=None) -> map +create_map(df: SedonaDataFrame=None, name: str='unnamed', geometry_col: str='geometry', config: dict=None) -> map ``` The parameter 'name' is used to associate the passed SedonaDataFrame in the map object and any config applied to the map is linked to this name. It is recommended you pass a unique identifier to the dataframe here. @@ -529,7 +529,7 @@ The parameter 'geometry_col' is used to identify the geometry containing column. !!!Note Failure to pass the correct geometry column name (if it has a name other than 'geometry') will result in a failure to create a map object. -If no SedonaDataFrame object is passed, an empty map (with config applied if passed) is returned. A SedonaDataFrame can be added later using the method `addDf` +If no SedonaDataFrame object is passed, an empty map (with config applied if passed) is returned. A SedonaDataFrame can be added later using the method `add_df` A map config can be passed optionally to apply pre-apply customizations to the map. @@ -541,20 +541,20 @@ A map config can be passed optionally to apply pre-apply customizations to the m === "Python" ```python - map = SedonaKepler.createMap(df=groupedresult, name="AirportCount", geometry_col="country_geom") + map = SedonaKepler.create_map(df=groupedresult, name="AirportCount", geometry_col="country_geom") map ``` -### Adding SedonaDataFrame to a map object using SedonaKepler.addDf -SedonaKepler exposes a addDf API with the following signature: +### Adding SedonaDataFrame to a map object using SedonaKepler.add_df +SedonaKepler exposes a add_df API with the following signature: ```python -addDf(map, df: SedonaDataFrame, name: str='unnamed', geometry_col='geometry') +add_df(map, df: SedonaDataFrame, name: str='unnamed', geometry_col='geometry') ``` This API can be used to add a SedonaDataFrame to an already created map object. The map object passed is directly mutated and nothing is returned. -The parameters name and geometry_col have the same conditions as 'createMap' +The parameters name and geometry_col have the same conditions as 'create_map' !!!Note If the passed map object already has a dataframe added, this method will overwrite it with the passed SedonaDataFrame. @@ -562,8 +562,8 @@ The parameters name and geometry_col have the same conditions as 'createMap' !!! abstract "Example usage (Referenced from Sedona Jupyter examples)" === "Python" ```python - map = SedonaKepler.createMap() - SedonaKepler.addDf(map, groupedresult, name="AirportCount", geometry_col="country_geom") + map = SedonaKepler.create_map() + SedonaKepler.add_df(map, groupedresult, name="AirportCount", geometry_col="country_geom") map ``` diff --git a/python/sedona/maps/SedonaKepler.py b/python/sedona/maps/SedonaKepler.py index 1dc6160cdb..008b51a023 100644 --- a/python/sedona/maps/SedonaKepler.py +++ b/python/sedona/maps/SedonaKepler.py @@ -6,7 +6,7 @@ class SedonaKepler: @classmethod - def createMap(cls, df=None, name="unnamed", geometry_col="geometry", config=None): + def create_map(cls, df=None, name="unnamed", geometry_col="geometry", config=None): """ Creates a map visualization using kepler, optionally taking a sedona dataFrame as data input :param df: [Optional] SedonaDataFrame to plot on the map @@ -29,7 +29,7 @@ def createMap(cls, df=None, name="unnamed", geometry_col="geometry", config=None return map @classmethod - def addDf(cls, map, df, name="unnamed", geometry_col="geometry"): + def add_df(cls, map, df, name="unnamed", geometry_col="geometry"): """ Adds a SedonaDataFrame to a given map object. :param map: Map object to add SedonaDataFrame to diff --git a/python/__init__.py b/python/tests/maps/__init__.py similarity index 100% rename from python/__init__.py rename to python/tests/maps/__init__.py diff --git a/python/tests/sql/test_sedonakepler_visualization.py b/python/tests/maps/test_sedonakepler_visualization.py similarity index 83% rename from python/tests/sql/test_sedonakepler_visualization.py rename to python/tests/maps/test_sedonakepler_visualization.py index cc43f445f6..8e5c8e8129 100644 --- a/python/tests/sql/test_sedonakepler_visualization.py +++ b/python/tests/maps/test_sedonakepler_visualization.py @@ -6,6 +6,6 @@ class TestVisualization(TestBase): def test_map_creation(self): - sedona_kepler_map = SedonaKepler.createMap() + sedona_kepler_map = SedonaKepler.create_map() kepler_map = KeplerGl() assert sedona_kepler_map.config == kepler_map.config From a566ee0e7c69ffc8c1c025cc8266b651b7f72945 Mon Sep 17 00:00:00 2001 From: Nilesh Gajwani Date: Thu, 13 Jul 2023 01:24:32 -0700 Subject: [PATCH 13/20] Add apache license header to newly created py files --- python/sedona/maps/SedonaKepler.py | 17 +++++++++++++++++ python/tests/maps/__init__.py | 16 ++++++++++++++++ .../maps/test_sedonakepler_visualization.py | 17 +++++++++++++++++ 3 files changed, 50 insertions(+) diff --git a/python/sedona/maps/SedonaKepler.py b/python/sedona/maps/SedonaKepler.py index 008b51a023..60f79ae998 100644 --- a/python/sedona/maps/SedonaKepler.py +++ b/python/sedona/maps/SedonaKepler.py @@ -1,3 +1,20 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + from keplergl import KeplerGl import geopandas as gpd diff --git a/python/tests/maps/__init__.py b/python/tests/maps/__init__.py index e69de29bb2..38cc50c27e 100644 --- a/python/tests/maps/__init__.py +++ b/python/tests/maps/__init__.py @@ -0,0 +1,16 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. \ No newline at end of file diff --git a/python/tests/maps/test_sedonakepler_visualization.py b/python/tests/maps/test_sedonakepler_visualization.py index 8e5c8e8129..46b47993c0 100644 --- a/python/tests/maps/test_sedonakepler_visualization.py +++ b/python/tests/maps/test_sedonakepler_visualization.py @@ -1,3 +1,20 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + from keplergl import KeplerGl from sedona.maps.SedonaKepler import SedonaKepler from tests.test_base import TestBase From f7964bae431ac96f2e6c0e4160baae5127eb1ba7 Mon Sep 17 00:00:00 2001 From: Nilesh Gajwani Date: Thu, 13 Jul 2023 13:26:43 -0700 Subject: [PATCH 14/20] refactor private method signature to be in line with naming convention Add comprehensive test cases for SedonaKepler --- python/sedona/maps/SedonaKepler.py | 6 +- .../maps/test_sedonakepler_visualization.py | 154 +++++++++++++++++- 2 files changed, 156 insertions(+), 4 deletions(-) diff --git a/python/sedona/maps/SedonaKepler.py b/python/sedona/maps/SedonaKepler.py index 60f79ae998..8c8bc71ffa 100644 --- a/python/sedona/maps/SedonaKepler.py +++ b/python/sedona/maps/SedonaKepler.py @@ -34,7 +34,7 @@ def create_map(cls, df=None, name="unnamed", geometry_col="geometry", config=Non :return: A map object """ if df is not None: - geoDf = SedonaKepler._convertToGdf(df, geometry_col) + geoDf = SedonaKepler._convert_to_gdf(df, geometry_col) dataDict = {name: geoDf} map = KeplerGl(data=dataDict) else: @@ -55,12 +55,12 @@ def add_df(cls, map, df, name="unnamed", geometry_col="geometry"): :param geometry_col: [Optional] Custom name of geometry_column if any, if no name is provided, a default name of 'geometry' is assumed. :return: Does not return anything, adds df directly to the given map object """ - geoDf = SedonaKepler._convertToGdf(df, geometry_col) + geoDf = SedonaKepler._convert_to_gdf(df, geometry_col) map.add_data(geoDf, name=name) @classmethod - def _convertToGdf(cls, df, geometry_col="geometry"): + def _convert_to_gdf(cls, df, geometry_col="geometry"): """ Converts a SedonaDataFrame to a GeoPandasDataFrame and also renames geometry column to a standard name of 'geometry' :param df: SedonaDataFrame to convert diff --git a/python/tests/maps/test_sedonakepler_visualization.py b/python/tests/maps/test_sedonakepler_visualization.py index 46b47993c0..3a26e9719a 100644 --- a/python/tests/maps/test_sedonakepler_visualization.py +++ b/python/tests/maps/test_sedonakepler_visualization.py @@ -18,11 +18,163 @@ from keplergl import KeplerGl from sedona.maps.SedonaKepler import SedonaKepler from tests.test_base import TestBase +from tests import mixed_wkt_geometry_input_location +import geopandas as gpd + class TestVisualization(TestBase): - def test_map_creation(self): + def test_basic_map_creation(self): sedona_kepler_map = SedonaKepler.create_map() kepler_map = KeplerGl() assert sedona_kepler_map.config == kepler_map.config + + + def test_map_creation_with_df(self): + polygon_wkt_df = self.spark.read.format("csv"). \ + option("delimiter", "\t"). \ + option("header", "false"). \ + load(mixed_wkt_geometry_input_location) + + polygon_wkt_df.createOrReplaceTempView("polygontable") + polygon_df = self.spark.sql("select ST_GeomFromWKT(polygontable._c0) as countyshape from polygontable") + polygon_gdf = gpd.GeoDataFrame(data=polygon_df.toPandas(), geometry="countyshape") + sedona_kepler_map = SedonaKepler.create_map(df=polygon_df, name="data_1", geometry_col="countyshape") + polygon_gdf_renamed = polygon_gdf.rename(columns={"countyshape": "geometry"}) + kepler_map = KeplerGl(data={"data_1": polygon_gdf_renamed}) + assert sedona_kepler_map._repr_html_() == kepler_map._repr_html_() + assert sedona_kepler_map.config == kepler_map.config + + + def test_df_addition(self): + polygon_wkt_df = self.spark.read.format("csv"). \ + option("delimiter", "\t"). \ + option("header", "false"). \ + load(mixed_wkt_geometry_input_location) + + polygon_wkt_df.createOrReplaceTempView("polygontable") + polygon_df = self.spark.sql("select ST_GeomFromWKT(polygontable._c0) as countyshape from polygontable") + polygon_gdf = gpd.GeoDataFrame(data=polygon_df.toPandas(), geometry="countyshape") + polygon_gdf_renamed = polygon_gdf.rename(columns={"countyshape": "geometry"}) + sedona_kepler_empty_map = SedonaKepler.create_map() + SedonaKepler.add_df(sedona_kepler_empty_map, polygon_df, name="data_1", geometry_col="countyshape") + kepler_map = KeplerGl(data={"data_1": polygon_gdf_renamed}) + assert sedona_kepler_empty_map._repr_html_() == kepler_map._repr_html_() + assert sedona_kepler_empty_map.config == kepler_map.config + + + + def test_adding_multiple_datasets(self): + config = {'version': 'v1', + 'config': {'visState': {'filters': [], + 'layers': [{'id': 'ikzru0t', + 'type': 'geojson', + 'config': {'dataId': 'AirportCount', + 'label': 'AirportCount', + 'color': [218, 112, 191], + 'highlightColor': [252, 242, 26, 255], + 'columns': {'geojson': 'geometry'}, + 'isVisible': True, + 'visConfig': {'opacity': 0.8, + 'strokeOpacity': 0.8, + 'thickness': 0.5, + 'strokeColor': [18, 92, 119], + 'colorRange': {'name': 'Uber Viz Sequential 6', + 'type': 'sequential', + 'category': 'Uber', + 'colors': ['#E6FAFA', + '#C1E5E6', + '#9DD0D4', + '#75BBC1', + '#4BA7AF', + '#00939C', + '#108188', + '#0E7077']}, + 'strokeColorRange': {'name': 'Global Warming', + 'type': 'sequential', + 'category': 'Uber', + 'colors': ['#5A1846', + '#900C3F', + '#C70039', + '#E3611C', + '#F1920E', + '#FFC300']}, + 'radius': 10, + 'sizeRange': [0, 10], + 'radiusRange': [0, 50], + 'heightRange': [0, 500], + 'elevationScale': 5, + 'enableElevationZoomFactor': True, + 'stroked': False, + 'filled': True, + 'enable3d': False, + 'wireframe': False}, + 'hidden': False, + 'textLabel': [{'field': None, + 'color': [255, 255, 255], + 'size': 18, + 'offset': [0, 0], + 'anchor': 'start', + 'alignment': 'center'}]}, + 'visualChannels': {'colorField': {'name': 'AirportCount', + 'type': 'integer'}, + 'colorScale': 'quantize', + 'strokeColorField': None, + 'strokeColorScale': 'quantile', + 'sizeField': None, + 'sizeScale': 'linear', + 'heightField': None, + 'heightScale': 'linear', + 'radiusField': None, + 'radiusScale': 'linear'}}], + 'interactionConfig': {'tooltip': {'fieldsToShow': {'AirportCount': [{'name': 'NAME_EN', + 'format': None}, + {'name': 'AirportCount', 'format': None}]}, + 'compareMode': False, + 'compareType': 'absolute', + 'enabled': True}, + 'brush': {'size': 0.5, 'enabled': False}, + 'geocoder': {'enabled': False}, + 'coordinate': {'enabled': False}}, + 'layerBlending': 'normal', + 'splitMaps': [], + 'animationConfig': {'currentTime': None, 'speed': 1}}, + 'mapState': {'bearing': 0, + 'dragRotate': False, + 'latitude': 56.422456606624316, + 'longitude': 9.778836615231771, + 'pitch': 0, + 'zoom': 0.4214991225736964, + 'isSplit': False}, + 'mapStyle': {'styleType': 'dark', + 'topLayerGroups': {}, + 'visibleLayerGroups': {'label': True, + 'road': True, + 'border': False, + 'building': True, + 'water': True, + 'land': True, + '3d building': False}, + 'threeDBuildingColor': [9.665468314072013, + 17.18305478057247, + 31.1442867897876], + 'mapStyles': {}}}} + polygon_wkt_df = self.spark.read.format("csv"). \ + option("delimiter", "\t"). \ + option("header", "false"). \ + load(mixed_wkt_geometry_input_location) + + polygon_wkt_df.createOrReplaceTempView("polygontable") + polygon_df = self.spark.sql("select ST_GeomFromWKT(polygontable._c0) as countyshape from polygontable") + polygon_gdf = gpd.GeoDataFrame(data=polygon_df.toPandas(), geometry="countyshape") + polygon_gdf_renamed = polygon_gdf.rename(columns={"countyshape": "geometry"}) + + sedona_kepler_map = SedonaKepler.create_map(df=polygon_df, name="data_1", geometry_col="countyshape", config=config) + kepler_map = KeplerGl(data={"data_1": polygon_gdf_renamed}, config=config) + SedonaKepler.add_df(sedona_kepler_map, polygon_df, name="data_2", geometry_col="countyshape") + kepler_map.add_data(polygon_gdf_renamed, name="data_2") + + assert sedona_kepler_map._repr_html_() == kepler_map._repr_html_() + assert sedona_kepler_map.config == kepler_map.config + From 5786f2a65473f713d4a59b4aeeed500506ab6c5f Mon Sep 17 00:00:00 2001 From: Nilesh Gajwani Date: Thu, 13 Jul 2023 13:35:14 -0700 Subject: [PATCH 15/20] Added comment explaining usage of _repr_html() --- python/tests/maps/test_sedonakepler_visualization.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/python/tests/maps/test_sedonakepler_visualization.py b/python/tests/maps/test_sedonakepler_visualization.py index 3a26e9719a..9a987e6017 100644 --- a/python/tests/maps/test_sedonakepler_visualization.py +++ b/python/tests/maps/test_sedonakepler_visualization.py @@ -25,6 +25,8 @@ class TestVisualization(TestBase): + """ _repr_html() creates a html encoded string of the current map data, can be used to assert data equality """ + def test_basic_map_creation(self): sedona_kepler_map = SedonaKepler.create_map() kepler_map = KeplerGl() From 4ce9f220d9bf13afe252653f3015bc5e215df2d5 Mon Sep 17 00:00:00 2001 From: Nilesh Gajwani Date: Fri, 14 Jul 2023 00:30:48 -0700 Subject: [PATCH 16/20] Update documentation --- docs/tutorial/sql.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/tutorial/sql.md b/docs/tutorial/sql.md index 754f9fb0ff..b4f7b3dce6 100644 --- a/docs/tutorial/sql.md +++ b/docs/tutorial/sql.md @@ -556,8 +556,8 @@ This API can be used to add a SedonaDataFrame to an already created map object. The parameters name and geometry_col have the same conditions as 'create_map' -!!!Note - If the passed map object already has a dataframe added, this method will overwrite it with the passed SedonaDataFrame. +!!!Tip + This method can be used to add mutliple dataframes to a map object to be able to visualize them together. !!! abstract "Example usage (Referenced from Sedona Jupyter examples)" === "Python" From 084e0dd2e50446a38d60c4d520f1cae3d85090be Mon Sep 17 00:00:00 2001 From: Nilesh Gajwani Date: Fri, 14 Jul 2023 08:35:36 -0700 Subject: [PATCH 17/20] fix typo --- docs/tutorial/sql.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/tutorial/sql.md b/docs/tutorial/sql.md index b4f7b3dce6..8621d153e4 100644 --- a/docs/tutorial/sql.md +++ b/docs/tutorial/sql.md @@ -557,7 +557,7 @@ This API can be used to add a SedonaDataFrame to an already created map object. The parameters name and geometry_col have the same conditions as 'create_map' !!!Tip - This method can be used to add mutliple dataframes to a map object to be able to visualize them together. + This method can be used to add multiple dataframes to a map object to be able to visualize them together. !!! abstract "Example usage (Referenced from Sedona Jupyter examples)" === "Python" From b4295e2a14458af83f1210bf41b39c1028c8c259 Mon Sep 17 00:00:00 2001 From: Nilesh Gajwani Date: Fri, 14 Jul 2023 10:22:44 -0700 Subject: [PATCH 18/20] Add copies of datasets to get around keplergl bug --- .../maps/test_sedonakepler_visualization.py | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/python/tests/maps/test_sedonakepler_visualization.py b/python/tests/maps/test_sedonakepler_visualization.py index 9a987e6017..6065c18f52 100644 --- a/python/tests/maps/test_sedonakepler_visualization.py +++ b/python/tests/maps/test_sedonakepler_visualization.py @@ -41,7 +41,8 @@ def test_map_creation_with_df(self): polygon_wkt_df.createOrReplaceTempView("polygontable") polygon_df = self.spark.sql("select ST_GeomFromWKT(polygontable._c0) as countyshape from polygontable") - polygon_gdf = gpd.GeoDataFrame(data=polygon_df.toPandas(), geometry="countyshape") + polygon_df_copy = self.spark.sql("select ST_GeomFromWKT(polygontable._c0) as countyshape from polygontable") + polygon_gdf = gpd.GeoDataFrame(data=polygon_df_copy.toPandas(), geometry="countyshape") sedona_kepler_map = SedonaKepler.create_map(df=polygon_df, name="data_1", geometry_col="countyshape") polygon_gdf_renamed = polygon_gdf.rename(columns={"countyshape": "geometry"}) kepler_map = KeplerGl(data={"data_1": polygon_gdf_renamed}) @@ -57,11 +58,12 @@ def test_df_addition(self): polygon_wkt_df.createOrReplaceTempView("polygontable") polygon_df = self.spark.sql("select ST_GeomFromWKT(polygontable._c0) as countyshape from polygontable") - polygon_gdf = gpd.GeoDataFrame(data=polygon_df.toPandas(), geometry="countyshape") + polygon_df_copy = self.spark.sql("select ST_GeomFromWKT(polygontable._c0) as countyshape from polygontable") + polygon_gdf = gpd.GeoDataFrame(data=polygon_df_copy.toPandas(), geometry="countyshape") polygon_gdf_renamed = polygon_gdf.rename(columns={"countyshape": "geometry"}) sedona_kepler_empty_map = SedonaKepler.create_map() SedonaKepler.add_df(sedona_kepler_empty_map, polygon_df, name="data_1", geometry_col="countyshape") - kepler_map = KeplerGl(data={"data_1": polygon_gdf_renamed}) + kepler_map = KeplerGl(data={"data_1": polygon_gdf_renamed.copy()}) assert sedona_kepler_empty_map._repr_html_() == kepler_map._repr_html_() assert sedona_kepler_empty_map.config == kepler_map.config @@ -169,14 +171,14 @@ def test_adding_multiple_datasets(self): polygon_wkt_df.createOrReplaceTempView("polygontable") polygon_df = self.spark.sql("select ST_GeomFromWKT(polygontable._c0) as countyshape from polygontable") + polygon_df_copy = self.spark.sql("select ST_GeomFromWKT(polygontable._c0) as countyshape from polygontable") polygon_gdf = gpd.GeoDataFrame(data=polygon_df.toPandas(), geometry="countyshape") polygon_gdf_renamed = polygon_gdf.rename(columns={"countyshape": "geometry"}) sedona_kepler_map = SedonaKepler.create_map(df=polygon_df, name="data_1", geometry_col="countyshape", config=config) - kepler_map = KeplerGl(data={"data_1": polygon_gdf_renamed}, config=config) - SedonaKepler.add_df(sedona_kepler_map, polygon_df, name="data_2", geometry_col="countyshape") - kepler_map.add_data(polygon_gdf_renamed, name="data_2") + kepler_map = KeplerGl(data={"data_1": polygon_gdf_renamed.copy()}, config=config) + SedonaKepler.add_df(sedona_kepler_map, polygon_df_copy, name="data_2", geometry_col="countyshape") + kepler_map.add_data(polygon_gdf_renamed.copy(), name="data_2") assert sedona_kepler_map._repr_html_() == kepler_map._repr_html_() assert sedona_kepler_map.config == kepler_map.config - From 2e822bfacebb615d4c0faee20344a4f5c8c65d35 Mon Sep 17 00:00:00 2001 From: Nilesh Gajwani Date: Mon, 17 Jul 2023 13:49:19 -0700 Subject: [PATCH 19/20] Refactor SedonaKepler constructor to add support for pandas with python 3.7 Updated tests Refactored naming schemes --- python/sedona/maps/SedonaKepler.py | 30 ++--- .../maps/test_sedonakepler_visualization.py | 111 ++++++++++-------- 2 files changed, 76 insertions(+), 65 deletions(-) diff --git a/python/sedona/maps/SedonaKepler.py b/python/sedona/maps/SedonaKepler.py index 8c8bc71ffa..c70ee7262a 100644 --- a/python/sedona/maps/SedonaKepler.py +++ b/python/sedona/maps/SedonaKepler.py @@ -19,7 +19,6 @@ import geopandas as gpd - class SedonaKepler: @classmethod @@ -33,31 +32,27 @@ def create_map(cls, df=None, name="unnamed", geometry_col="geometry", config=Non :param config: [Optional] A map config to be applied to the rendered map :return: A map object """ + kepler_map = KeplerGl() if df is not None: - geoDf = SedonaKepler._convert_to_gdf(df, geometry_col) - dataDict = {name: geoDf} - map = KeplerGl(data=dataDict) - else: - map = KeplerGl() + SedonaKepler.add_df(kepler_map, df, name, geometry_col) if config is not None: - map.config = config + kepler_map.config = config - return map + return kepler_map @classmethod - def add_df(cls, map, df, name="unnamed", geometry_col="geometry"): + def add_df(cls, kepler_map, df, name="unnamed", geometry_col="geometry"): """ Adds a SedonaDataFrame to a given map object. - :param map: Map object to add SedonaDataFrame to + :param kepler_map: Map object to add SedonaDataFrame to :param df: SedonaDataFrame to add :param name: [Optional] Name to assign to the dataframe, default name assigned is 'unnamed' :param geometry_col: [Optional] Custom name of geometry_column if any, if no name is provided, a default name of 'geometry' is assumed. :return: Does not return anything, adds df directly to the given map object """ - geoDf = SedonaKepler._convert_to_gdf(df, geometry_col) - map.add_data(geoDf, name=name) - + geo_df = SedonaKepler._convert_to_gdf(df, geometry_col) + kepler_map.add_data(geo_df, name=name) @classmethod def _convert_to_gdf(cls, df, geometry_col="geometry"): @@ -67,9 +62,8 @@ def _convert_to_gdf(cls, df, geometry_col="geometry"): :param geometry_col: [Optional] :return: """ - pandasDf = df.toPandas() - geoDf = gpd.GeoDataFrame(pandasDf, geometry=geometry_col) + pandas_df = df.toPandas() + geo_df = gpd.GeoDataFrame(pandas_df, geometry=geometry_col) if geometry_col != "geometry": - geoDf = geoDf.rename(columns={geometry_col: "geometry"}) - return geoDf - + geo_df = geo_df.rename(columns={geometry_col: "geometry"}) + return geo_df diff --git a/python/tests/maps/test_sedonakepler_visualization.py b/python/tests/maps/test_sedonakepler_visualization.py index 6065c18f52..a5144e909d 100644 --- a/python/tests/maps/test_sedonakepler_visualization.py +++ b/python/tests/maps/test_sedonakepler_visualization.py @@ -19,12 +19,11 @@ from sedona.maps.SedonaKepler import SedonaKepler from tests.test_base import TestBase from tests import mixed_wkt_geometry_input_location +from tests import csv_point_input_location import geopandas as gpd - class TestVisualization(TestBase): - """ _repr_html() creates a html encoded string of the current map data, can be used to assert data equality """ def test_basic_map_creation(self): @@ -32,7 +31,6 @@ def test_basic_map_creation(self): kepler_map = KeplerGl() assert sedona_kepler_map.config == kepler_map.config - def test_map_creation_with_df(self): polygon_wkt_df = self.spark.read.format("csv"). \ option("delimiter", "\t"). \ @@ -41,15 +39,16 @@ def test_map_creation_with_df(self): polygon_wkt_df.createOrReplaceTempView("polygontable") polygon_df = self.spark.sql("select ST_GeomFromWKT(polygontable._c0) as countyshape from polygontable") - polygon_df_copy = self.spark.sql("select ST_GeomFromWKT(polygontable._c0) as countyshape from polygontable") - polygon_gdf = gpd.GeoDataFrame(data=polygon_df_copy.toPandas(), geometry="countyshape") - sedona_kepler_map = SedonaKepler.create_map(df=polygon_df, name="data_1", geometry_col="countyshape") + polygon_gdf = gpd.GeoDataFrame(data=polygon_df.toPandas(), geometry="countyshape") polygon_gdf_renamed = polygon_gdf.rename(columns={"countyshape": "geometry"}) - kepler_map = KeplerGl(data={"data_1": polygon_gdf_renamed}) + + sedona_kepler_map = SedonaKepler.create_map(df=polygon_df, name="data_1", geometry_col="countyshape") + kepler_map = KeplerGl() + kepler_map.add_data(data=polygon_gdf_renamed, name="data_1") + assert sedona_kepler_map._repr_html_() == kepler_map._repr_html_() assert sedona_kepler_map.config == kepler_map.config - def test_df_addition(self): polygon_wkt_df = self.spark.read.format("csv"). \ option("delimiter", "\t"). \ @@ -57,17 +56,19 @@ def test_df_addition(self): load(mixed_wkt_geometry_input_location) polygon_wkt_df.createOrReplaceTempView("polygontable") + polygon_df = self.spark.sql("select ST_GeomFromWKT(polygontable._c0) as countyshape from polygontable") - polygon_df_copy = self.spark.sql("select ST_GeomFromWKT(polygontable._c0) as countyshape from polygontable") - polygon_gdf = gpd.GeoDataFrame(data=polygon_df_copy.toPandas(), geometry="countyshape") + polygon_gdf = gpd.GeoDataFrame(data=polygon_df.toPandas(), geometry="countyshape") polygon_gdf_renamed = polygon_gdf.rename(columns={"countyshape": "geometry"}) + sedona_kepler_empty_map = SedonaKepler.create_map() SedonaKepler.add_df(sedona_kepler_empty_map, polygon_df, name="data_1", geometry_col="countyshape") - kepler_map = KeplerGl(data={"data_1": polygon_gdf_renamed.copy()}) - assert sedona_kepler_empty_map._repr_html_() == kepler_map._repr_html_() - assert sedona_kepler_empty_map.config == kepler_map.config + kepler_map = KeplerGl() + kepler_map.add_data(polygon_gdf_renamed, name="data_1") + assert sedona_kepler_empty_map._repr_html_() == kepler_map._repr_html_() + assert sedona_kepler_empty_map.config == kepler_map.config def test_adding_multiple_datasets(self): config = {'version': 'v1', @@ -84,26 +85,28 @@ def test_adding_multiple_datasets(self): 'strokeOpacity': 0.8, 'thickness': 0.5, 'strokeColor': [18, 92, 119], - 'colorRange': {'name': 'Uber Viz Sequential 6', - 'type': 'sequential', - 'category': 'Uber', - 'colors': ['#E6FAFA', - '#C1E5E6', - '#9DD0D4', - '#75BBC1', - '#4BA7AF', - '#00939C', - '#108188', - '#0E7077']}, - 'strokeColorRange': {'name': 'Global Warming', - 'type': 'sequential', - 'category': 'Uber', - 'colors': ['#5A1846', - '#900C3F', - '#C70039', - '#E3611C', - '#F1920E', - '#FFC300']}, + 'colorRange': { + 'name': 'Uber Viz Sequential 6', + 'type': 'sequential', + 'category': 'Uber', + 'colors': ['#E6FAFA', + '#C1E5E6', + '#9DD0D4', + '#75BBC1', + '#4BA7AF', + '#00939C', + '#108188', + '#0E7077']}, + 'strokeColorRange': { + 'name': 'Global Warming', + 'type': 'sequential', + 'category': 'Uber', + 'colors': ['#5A1846', + '#900C3F', + '#C70039', + '#E3611C', + '#F1920E', + '#FFC300']}, 'radius': 10, 'sizeRange': [0, 10], 'radiusRange': [0, 50], @@ -132,15 +135,17 @@ def test_adding_multiple_datasets(self): 'heightScale': 'linear', 'radiusField': None, 'radiusScale': 'linear'}}], - 'interactionConfig': {'tooltip': {'fieldsToShow': {'AirportCount': [{'name': 'NAME_EN', - 'format': None}, - {'name': 'AirportCount', 'format': None}]}, - 'compareMode': False, - 'compareType': 'absolute', - 'enabled': True}, - 'brush': {'size': 0.5, 'enabled': False}, - 'geocoder': {'enabled': False}, - 'coordinate': {'enabled': False}}, + 'interactionConfig': { + 'tooltip': {'fieldsToShow': {'AirportCount': [{'name': 'NAME_EN', + 'format': None}, + {'name': 'AirportCount', + 'format': None}]}, + 'compareMode': False, + 'compareType': 'absolute', + 'enabled': True}, + 'brush': {'size': 0.5, 'enabled': False}, + 'geocoder': {'enabled': False}, + 'coordinate': {'enabled': False}}, 'layerBlending': 'normal', 'splitMaps': [], 'animationConfig': {'currentTime': None, 'speed': 1}}, @@ -169,16 +174,28 @@ def test_adding_multiple_datasets(self): option("header", "false"). \ load(mixed_wkt_geometry_input_location) + point_csv_df = self.spark.read.format("csv"). \ + option("delimiter", ","). \ + option("header", "false"). \ + load(csv_point_input_location) + + point_csv_df.createOrReplaceTempView("pointtable") + point_df = self.spark.sql("select ST_Point(cast(pointtable._c0 as Decimal(24,20)), cast(pointtable._c1 as Decimal(24,20))) as arealandmark from pointtable") polygon_wkt_df.createOrReplaceTempView("polygontable") polygon_df = self.spark.sql("select ST_GeomFromWKT(polygontable._c0) as countyshape from polygontable") - polygon_df_copy = self.spark.sql("select ST_GeomFromWKT(polygontable._c0) as countyshape from polygontable") + + sedona_kepler_map = SedonaKepler.create_map(df=polygon_df, name="data_1", geometry_col="countyshape", config=config) + # SedonaKepler.add_df(sedona_kepler_map, polygon_df, "data_1", "countyshape") + SedonaKepler.add_df(sedona_kepler_map, point_df, name="data_2", geometry_col="arealandmark") + polygon_gdf = gpd.GeoDataFrame(data=polygon_df.toPandas(), geometry="countyshape") polygon_gdf_renamed = polygon_gdf.rename(columns={"countyshape": "geometry"}) + point_gdf = gpd.GeoDataFrame(data=point_df.toPandas(), geometry="arealandmark") + point_gdf_renamed = point_gdf.rename(columns={"arealandmark": "geometry"}) - sedona_kepler_map = SedonaKepler.create_map(df=polygon_df, name="data_1", geometry_col="countyshape", config=config) - kepler_map = KeplerGl(data={"data_1": polygon_gdf_renamed.copy()}, config=config) - SedonaKepler.add_df(sedona_kepler_map, polygon_df_copy, name="data_2", geometry_col="countyshape") - kepler_map.add_data(polygon_gdf_renamed.copy(), name="data_2") + kepler_map = KeplerGl(config=config) + kepler_map.add_data(polygon_gdf_renamed, "data_1") + kepler_map.add_data(point_gdf_renamed, name="data_2") assert sedona_kepler_map._repr_html_() == kepler_map._repr_html_() assert sedona_kepler_map.config == kepler_map.config From bea9973fef941550ad8dcdc9fa18bfa72a5b934c Mon Sep 17 00:00:00 2001 From: Nilesh Gajwani Date: Mon, 17 Jul 2023 21:58:22 -0700 Subject: [PATCH 20/20] Missed pushing gif --- docs/image/sedona_customization.gif | Bin 0 -> 675205 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 docs/image/sedona_customization.gif diff --git a/docs/image/sedona_customization.gif b/docs/image/sedona_customization.gif new file mode 100644 index 0000000000000000000000000000000000000000..2b6903a29c198d6f4519dc059cc3d631e303b7c3 GIT binary patch literal 675205 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

w_?*nGqCNTmnl5yt>Am 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 WN7=`u z?^(9bx^1E6UPzj8k9|sUHh1!m!5iLZtAflOy_*dPbJdyRx$MzpV9y7=+ZQ_F$MShZ zN^0WRCL1;E;{;zg(JiS<(VGiP(%h6>>d;A;?5V_Ma}|V@(yg(`xA`L2ma)ds%UU1{ zB*ouQQ@=}@aV2PgvDYYPb_MI#bSTC#SS|C!)vkp#bpfNI?}(rFuQFQhLVv zYhw0N8q=-f?6o?|?+n$3JLMY78N!d<*~#^fr>K*PHM*B=nr->RpIv4csgoGsy0_jY zfB0HsI7qKX4u($T$ixj^kTKf<)(wg8@@1PvK}wFn;7^9OCa_O6W72ocqdJvf2AfY) zESk+kMFgJtH>K>IcdZR^ztV8B!xkawJk6CqB9Uwdz6ZdabM^gDbd30(wS#%wG5(&# z5uRcrB6hGXomj$N&=`Q#5y6AtH2>a40)t6318Xs_PNqXA@#V&x?BIQMI@O-uarnm` zA~{y?6b=1HWYga3)*3(BMg8x6xP63!tbv~vw-;YM20-TWK_xjm2#ojLi0%!cAx(xC zO7~wRs~khwr;TzgJBG-XCn6*i_p)Opb$&73<8P@99l6FyP5!}a2u0jT#L*g8~e^e_}sPD z7O(yK@6Q4hgFNFU?LTVimj>K?uUDA3hHP=!OqM(I+q%MB?IKLO$r8c=oms=NR&w+3 zLWOG`Q+ns`>YujTPuz;X&w#Odd{(Ce#nEv1*yP5#{IBZLI-PzoQGj8QVdm~_-~9Uh zf+<9fP~Y5ucx5Tn9vJ)z$qu2@uQ+i|82mK7+%d|3{xgB`VCOmy%|fFWpTw|eC8x1t z+Kj~!_InT6$Y)l&>Kc3z8NnT5(ypa<{x=~Ts=TW8=S%IvKdM=WyATJx?OJAUn^rb{ zg4w&*6GGghYF~c!TXlcmRr1&ze@Edq*WLR272Nyex8rLuz6~Mqj6mJ`9p*5;dz*hh zD)@S-R0oSrqx>+b^Lmvz*K^1__b}`8dR>U#dn}{;xR|rGm?#4}_853v?)FElNa#JY zP<~qf{(6_D{31s4I~b8E5Ecar3XvNE_Y8Jm-weQ95f3~c3PKN|$9iunlwVGDwy(N) z#}D3#25lok03!yX5Li0VpaYYEhuH|>pY{I=$K=fUi_ruGL0fRoyST#FX}_VMw*Wv2 z<8#3q2&WaeLK^_b?uESryW0+P|Irt{&=)TdmLd`OHWRoJ;egN)M6?=I9uWv+_d?$R z41a`y-+`4S1LzLG>s=r?!XWB_LktRiM-X92JpXpoGZ2FT>|QAIKG-|JzXOd#pv_LO z8w{dZL#P=HBJ~AKUj~c-l$Lb_3EiXjtN=*J0NG?HLu{zZ7jO#q!S5?W9btgz12BCb z!=SY6%p)uX`tpuXIU8#K1xgef94iRXZ6NeLADp$8Zxb(~$xe8C z;mR;TwgH%dil|K5z}ZE|ssUhXIcLfrCY1(|Fq_xS5Kw=fO`i>M{9Z(50H~rOl5-JT ztQFT*5edG4)ftCVzCc;Jh}*tL@oNAussQxB$VDmuJW*KO0k2lI*v(}z;d$=DabRn( z^K_eNJ&>nf0<=6Hq{SB)JswY@0w~-;ofk!0Ye+RVB=2UEj zcYv~-2{{8vQ#&yY5}d+pyinccdXuP1VA7yUEaX19OvbH>*K7C)V3U}L44FtoTSH8O zLG`#tv7(E_!55RkLaoIWCOH9`m559a02{-(-cQ&PequyvN$S~8X0wWejq=j5^5S^# zWM%V0x(LZmOcba}Q8tVa=>(`m#$eCxY74en=RmPwOX#&s@ES$c zAzxGWH~s-z&Yb5M=EYp)48#=m-h?^0#%^TqFKogq38`cS%`T;5He;Vn0yzoFllGj zI;L>5O6=FY+*$hk-H8wiJYOjK-3DbTH{_*u0=ndUVhowJCjl;z z1*`bs5?~~eD$tfy$WnU_Vss%NT|v=UQEEk`Nhb_s2L@dQflm(2XcgY30pMmB(TNm> z4)(#%_TsEA;)(XV>C7})^BF`eQQ-@s2!yo;g;|4O?Y&B5wF9F)VHHmSn}1*w3CeCi z25iZcqL78jWtRc6N@&RZDP{eatV%~@e9=L$k)$fVZw3Ou`D7+$8=_wH_1sgrtjVpzND%l{#mG1^Cx%Mg}kgFIds#4^u z=!~lbf~x3?tM~`2vKaC#aNQ$2!GRg>g#r}C1QtlD)t?y*{4%O3oWsQ24N9s#n+Pac zCiPkcJUSoAg~n@oPiy+C$p@qLQ1(bx%v^`HYw?0g$=yd0vd8N?~?-in1kKQTvOLMppB5LJ6Gij z7nY0qB63ooAfn`ay?SCjkBn7ZDwWWDy$c!m3K`xK0OcRdSv;{=Pv{b+oY@O?sNJ=R zrvPuBhS0>iOfCfS94jV4#3nH~lo~7iDP9&xVna-!HA#+D_HzBaW@QyGLiVyO4Wk23 zH;9=HUV^dS_bVXtpoOU$I#_k&78POH0a8v?(bV9J>$ET@Hs9_8U`?8?idu9O;N}5# z!yQ0xX^_fJOSUFZ1f?Z$MNYN3buPR`)~1cd#~H<@4JoGGkvkS8r!~{M=}|J4#)mW1 zv&pm@WL9J4eb~V3qjZ(sg!o;TY_(PLXNPxAi^9)#DC^C}>9{%tIEFc7ns%hFw+~g~ zCxj3~b~;&MI*l1Sc?DZkL`7G{+OmA=Z@ilN+?t?Gd4unO5tQy?g)ZKlCfb~??A-*{ znCj0yO`!u#vfcQh11^aQAnw4fRY*>^>V5}{DCi0!F48@$vWDX|TKuKjnzmbEW72Bc zrYjrvBeoPM(+5MFu_rFQpI^c15v5bBL80M$Pu^%fD;q-SJnso(9`6)>`XT;yO{Ygo z-F9{BYg^r`Ca|@J=&d4Qq~`e!^kKc;#y7DzN6 zEHoa{gE+x9=BDW90Xf4o&qeivnk|VYl7%Lca#6Fh#=o|YGaHSLUyRRQPZSbO77It{AJ9Ov;xP*75$27EPYz}!5AK|WnCGzlG$-tEKtUrbme&NTQ=r{M}iIO1L~QRgh# zavHK`jhRa(VmV5fg)Rg*BsgoDKq(f?pswkX(}s)ehVO(;k2Y2kQvCl8;fs9{h67P196^O_3&R)il94FG;Mo>MFDXuttQ;G@94A2CfhmP!iYz}Q3DLDSs^CDKjBom?4;`gB=XaUTIv-b}t+#RrF~>7d%`gMZCTGl~bQ{ zq^)=*V%JcXWS?4@Y?=nC>%S;~3TQs_^@86MPinpog{rR!e<9YzqC~(f6xV*E$VwW% zXN8VNP2Vm59v6IA=F7@Mex%C0mW@qmNA0=J;K}oB=(6T|0zh@LtCy|&K0R~c;;By^ zS7LD4ZG`AftA(h@v1rH!qJO>D8h+n8=4VP2*RVs^B@>f$Hd%!)EJNqlnB|h)y_{_9 z)(atPSx?jJCDB$nL37?Xx*_110zz)bwB|Ut&cr8xq-YcM9(dqo;$PnD#Fvq~O{x-Y`M?$W_4>`4h~-qRCwQtQj-!;w8MUSCbu?xA-nAU ztvnx@EA0g9`-IlHhAFK+YH#1@tqx8f8=fCG5gjLy_@pR-zgB}wd8*s3x4nACQa4WP zUdPQ1Cu~SgnpDKtNFhSP)`0)pPqBW)7S!c!9WmfmEOYw|&ujdqMg35>xr| zE$b!Lw!L7k6WHkTjj|&#x+7`*C1~!FvfrM%{*pA~iedYlX8Vc-B4WoFa7iI@y{LIj z{@e6p#5L6(fFFEwz<0w4zJXWMGaVxn2)NJ)cVRxeCQk;&dlm11{tB?Q3T{84TOu{x z5VD#oi5!KLo7cD_Ty1`D4LWX4YEnrcgw9k~ClZ$o(LdJT>df6PjiUPe0W)piP*{LH z!Yx{sEiq*{JEh^+#!y8R2)Pp-RafqyI@ScFELVp=P^i`==8~Nc_M5v7KzCUGLKQb^ z6~<~6dB_CC!yRqb3?=w+ka`Wt6_5|Y;m@mN(m$x59?~IiWPcNuv^^kS-sW#xiauHT zy|>54MRhfQOu1vq6`LKsdu+KAcv_x4Jgsd<&q}I#N{4Je^%gyp`MVk=EH{%m{Lp+1 z!LbQrB%Ph(cDZ$9liS>2F6JD!Pnv5%jN} zXgZik6^cr?g}kdcn9s0q7FV?u{3hSaOp8vdzv20HGK1Y`bGnmB!~9(su9V*9qubdU zadn-}19b%k zh0A9#&=RJnsz8(#<3m zLdg$yQKX(oMwN$l)UPS9Fa=nK823|~J7&kRn>pt)b^q?nd@YrrJF^x#Arw6|WrzsY zhow0&Lbp_TiAy4TRe46K>%X*&RgIIj^+sIl=cQfK7)vb5hw#|QcX5F`U zI*vncJ#?L?{_f0d65Tho7To^mdG4n{Y1z*o>3Y5rt$%lBw|@)*KhJpV$OC!q4MVYn zGY!MBKK$L8rSolsGj6#U$8s*?8N~=nH-E=BhcPluhQ`7Vk|ee~&C;>%?tjp9zLmn4 zL2Z06&vjW|I}|m}EHWz$*}^q1{&3))o=vOjZB?G*t_?ldy#HhgsjiW3x2#1H5;&>o z_7^y<`i$da>(I<2*!>yp(%Y_lkmkv*qyC-G`RSthlYRUCvX5=o6U)qb_sXn~!Au%3boD)URh+nbF0%?1kTrJ!D!FAstOnz}$xBJt(wGpCh`DfAx^5W?k_OXv_50{t3>v%@b-`k#gSHNw4 zDBl0crQ(QaB%~t`7XAv24dQ$A_2V`Sw(sGq-$`!*5p#$r4!+s5swTew>quI_>-^Gh zBgnAnlMgs@NGcN+@TrqMrk2CQw5W^#lWdlt?Vx$D6^hnXj7zN1^1m0}nZ{+sS zW0r?uf)kiku_ON^jtrvb*3dl2fEp zsR{9*rHs&F5{2%P3F*tdj3|OyVhEKfIhvQOB#l~9jHxLlaaOsBlv=WtuW1vFmz*L^ zS#tWcDJ^T~gprq8Y7$&ogS6MAK^livrD@q`jm{d)QD?q9FV#5hdwB)B;rDOViqsE9 z;i`J*=uP-Sn2rtr#!M#ovxeoI=}EDsXS7Vcx|0E1kSGOta@ok=QE#wSuJFxQN5kdB z6kR1%OHyOMW)e>Zan^~Wd5$*YXOpYuKU3y088<7hGl7(O8Y4e}VcA0y=ZUNvB9X+5 zFhDagc9Eiy@t~y~8810DoJ-{drllO8lSpxVdAJY?*Sx#Igvd;FWgi}?OtGbkf_u5d z?G75eg@+?A9I?pj!U`%d8j}1h~!wN$dU`TjI6Q=6#58ooLw zi9x+~ZMeGlq?#!dz*}+gzgTKHrC}GAl$Oq=yBmq66r{V61|_5$q+#ij zMhTUc?hchy8WB`Nq}j9j{ho9G?)yLUKTpo^h+%lZ3^NR$>wR4>lGhqBRD0WBpE5k2 zLY;=j)Vq9-b=7NHOpe9k_v_;FJZYzSc5-H*eMuYvJeW%o;!>f-)!>92gipR>7R%nj zwSWkMSBI2X73|a{lpE8=!ws7+4(mK+#xv7ZeBW^H96Ft&|ChdtfIxyrX+kz97vD3m zJQsHmvuMIe@z|D6l1~hnJ~DYSl*zYZ=IWaLc=g&;S$u@B-sq}^;hsdcPQ>lxGl7-Q z=okCiy^UV&wf;ovDpfv_%?gCqiGDJXm;}m$FX))_%gspHdn*oogVJV&+gDBvWPLL# zG2$hU+rju!Y8tA{10!R3BOCZw1ZKYb(7IEXl5XpUI+{YZk)#_z0S5YG) zKi~4(25grx+&Zc;!Aa715fwWEpWetnOn1hgvo*FyH%T}3h?I^nNEfS>EVfTddk8GF z)#E4Kv={Oc?(GTlrB3<2J1r1@*)M(CHXZTXp!izJQE7T<#zn)Y%(K-|M*Q(yMx;;~ zTkyX4!^c`VyF#(TgrnLq)FVaisa48a--Mz(B5R```RGnEJsg%We;u7x=N2sdSaSbk z2kWC(zH6^(kFJ8>CnFn@)_AO2zAlb`eAr~w#lx3xML1vK_qIOR%^CfE&};whdwv&_ zyZSYuN0nmRWU#wWWe3rdncjCDW*txNxtTZwD7I~RJPFz}`Es4CNV`1w-Twve=N=9` z|E`0cCy}QsUw#m^_F$VAhp$L(kanN)%zU>I`$1$EJP zEnrfj)slvi{{N;xmgi_>sJ;+!mWu4NS!ZRU)+Ndp92r*5#2m)D*W8F+FGNFKANFr^ zEP8Twiw#x^CHVHurmYt(Y8)yQy?1S5{oFZ*m82z{W}F_R&EiJ>f7T1RrwZl5m>|wu zQ7bL(qLbDl@XV29UHz9$csoTCmdzR!OfXmNh8n4G9;Vijnkoumz1zS>r-_`dUYss9 zL*J?G7IW$6(GULndZFQ-Ql8)UnR!8cF2bR$uiQ)shg(vzL-s{u_4>QoFqXxHG7~dM ziOGF$-d)LeMjfz>DT#Mi{Rf5Ztp5el-#&eS}wvSOg~$&rl=X% zJK!v=;-BOG0$Q0(>R~=d**X{nv&`BRo1D1m%|#yA{aG)p_+vV(L;(uwwZ-{#h>+&(m>gG&GP`b#ho_ zMVt+3;&*8A8+tx!pP}^87;VX8H!0A~$8Sbl(i+%MzRSxrk{HBfoJHF06$I?6r{F4{ ziD%&Ikd$ZYtr(*FRjhOSAFM3v+ZGJ<;rfQ24{1NHn2y8tDoP%PMHw1B`x6fhP;vNH z-Fs2I^H3_$lk-sz2TFOMhF1>loq8Pxnl( zWj^KMpM$xNdQ_LO?hz-{;ZeA%GBFd4c&#@EuIhL7NmK3i~YDR}(hl^J2fs>$R=O72K=g=`h6iRH0e(=7GO={rQf>E4l+d&j>P=S_pr3MBE$@6R!O@14k?82Tw&m9J$kNj4^M*&_41?`}?Y zlt!+9k}_dk{W_-)xxVPPAivn_23qSd+2E{SJBBl2N;CwJ^o9e)dwXW3j>3@%>sVZ| zy+q{N5qR6h*s85m zzwyx4iI=?oqvO9#t#OSO%iuBU6V}wHIU}08_kyER3vWp9^Yg!`^%@O3zYnhp$ z-K97Aw!)WG!}ma|%aW-v%kb4B!aC9BtCV_Y!AcuT6_d)8c}ERr(#V`XE0So~kU#{) zf#IN(oFB}`T_#|6RwL9EZrsGgmYbw?$W2f-&mZL17@our~>OD&GmiJX^+JQg#WEE+wouBpMe~A1pjGGU^ zG--anSHSs%jBD~z!>>j!iPeD;|4WTtRF}S^OLAp{P5Yfl<5hi4Z2#yR!D6F4EmlvF z;Rf6>ty6+Lqa)XZTquRUVCy{AX(Da@`fIV4iNjz%?b`5VfdoR-)T-N)y&5m;e9nxM^fUB#i3Vm+1ZnB4^ELR!Bh6;gTI@-YI8ok zJYY>AY;tqv>{wa*-8YT6-80L}jEU=vspP;D3U-N|`rlYzdW?t9$f6B29mdX4Uz(w!~?C(f%m`5&$$ z4%*YH_;0p9!;ZGWy`Qt8)(h^00=D-Lyl3pit%P(Wr5~-1H2HhY zVR==A5%|7jquuKFln^bM`m7Ad|2Aa?Px0qH6Re_bH9wbFy6dkok1OLHO+{xmzz(2wY=^6u|_2@vlnvS!?ss1(nof0L=G$n zq2tS*Mnm1d@lf6;n;Q4jP*;o7?|-*+-|B`n#YirFMV&vT45@g5iY}GtCY*mALfO=P z%NZnlqsorD^l!NP-OX@!`m^Wuv^(_f{P`_uD9}i@L@)HpKNM&2IbLfhU@??PEEGZ+ z2Cia*eU-%u2wM{*KPwOWrN|R7sA=Ra?Y<$&d;#R~4yO}?rzz0A%pgS%-z19Arj=4M ze+_r%XXb1T$CyX=9K#Lz91%SP0lt)a@>oTud^lSi-k~7qsesi$ga9l=z!9Ptz=d82 zkMpJc(ny=8z&eqF$GaY7#U6#BD9IN~%1;^jP>jP6N^4YXBJ&NP+!YKeHcEIp7w)eRpPFOY+aP2of}P9G zk;D`&z{p|E9{(;U5w9f1z9d1#lasLwR@21wPLF3SAPMf6WXrEN%|tdL0GS9++RRCs zBVk_`Oa7XZ{H-0WU6cUR<@lxLJI0cku#1l|p_I3xd)C zIe1^nL&5uyO8&4WXcX2`3if^qxGg0!Bjrgt+eRucX&l>*XX=-9HsKyjX5%#UXdyc? zjk7I{dnt|gG7V0ZE+C#RWSlPYG+hdXz;tpX7h6h~xlEU%%1{u`5V<7g;^1U<0una> zh!6l`ISf!w2FL>g(g1(~Fo;qzA0snW)ica5GcBpISe-H~#5tvoFklS;=Su)Zah9_> zhEp8+(@c{#Odj@V# z4j}qmAg=|?HUxUV4W_kl)Cz~WGR^c4X5Qo!!0(D$hDCoVR8rr?2i;RUiNOFWMi zk(mo8I6&ekG87$i6nVh02-XW^oJ6mdiiv8{o*M%kM*&TM;`k#hYXIgCSPm#nk|GM*?_| z2HsFgH6to!^+=~JOy*G`sdZ50E|tMMoZt<9qmL9^63NWC7_93UEHj1u0Kx?{-IpWm znZf2l-x)A~D~fTwsB#o@Ib}R36>}^Tj+pY`k>q`tNCh(7hjw;ZB6cb`#+=E_R5`o| zUV)8_?O*(wGg*`D5?PFk56Amm1U* z0k5pqtNL_NI?)E6f>$Izt4*%KsfSm0L-HfU%eybCHOHt*oEcZb>@FK=i)1tJ!OFWa%7G96H7SO@wF`)ggSuY^mZV@H=<6)GCOUqIiFv=09r+R-Kap-#3TvZoo8cz@aG)B0a2S2U)xUItW%srjA({) zJZYPID+R~SZ^Z47hvoC*xAmE|oe;N?WU19ch1c0M^XjD#nZyi0i9JCgQu{BS;J2`GwK(Hq&>aE%CEqU16zYWHrq|#EKgbuWe#_p5=`;?B zI>@z?FTBlZ^+;%PU&>E;(D41TP!Z59uu_nVE}mGmV)mxxQ01}kXSF`a`r+6f65j57 zNnCmfkj2A9pNp`hbP^YL2Crmf<7U0(Y6s5de#hzbd;pEX%N~%-r7Z3oMY&Y7FaU8S zauaY%7fc}UYCD=n--j%{|AaQXC82zBg~gWuUO=|?b&1PT7AHOiu4UfAz4kYO9lXX} z=mo;>l3Cqc-DJAm4oj`P>sheFtRmxHOxGSzVh_3{DmdE9)1JI238U~#Gv_Lt@93qQ z=n$^%WvolSFV$^)TwLw~Imk*7D7;6Q*!dBY!6-ejShR>Ee_UU3|g8dSktIMQwNI!hKMd=r04K&&%O&uO<9dtvj@GvJP#dnSz7`;dd z;@Pd@LFcg>(+1=ON9X%6cjuExH#nj4SVEqoa`~iu{UlwVxGlWL@+ZP@`@LtyptXk( zx(LC;oiX9CNR2QS?>S)yMXY{o@|c)c>Vg6_-lEkvV z_l8ehF7V5y6#OvNR%T6yM{Xp`H|-I~G=Rq)PA*eulyvducsI8azcVE%Bg?<#2WO zia^}rTKN7gOeJn(Cd$$^t!MqokVYMsG0C%U_H}7c^Ma&(eaiGHC&k?O z)ge%_ShBE7a=D7M{5WxZj(eFs{I&El97ehnKG>ik?^ zJw8!CVnDjGc?&r-`%;U$c62L!qBTfr_2o_)d7+iE7W|o-sRb3h?%F}R+NDNlyuMtU zCfU=5BeTIzwJsT#N`+(uhm@il)tM(740M}JM4JO1m9WAh@>feswCYZjYC)@CIQIYE z8hBWXglzqZhlW_AHEHR<%`N1nIR798?>c)znoKBxMZ>n_=WXo}>tfCgIrpxMU=2>> z_5<@Ro%cIpbUXTVg@zM@ww^m0Q`@E?yMS+klSo3qL=hw*ZD($KcjaLIhSSE7j1 zSqSgy6*9Bo#_hMZE!+_g`L|S^i!N3F4OK7jewX~bUtelDAVHCk!eM?a4iGSY@s^dnxC1Rv){-w|HpHL?#~n&*NN9!}xmhXQ_Bn+4Loxr<&~q6y&W(uh_&01sH6&$fSi_WXS~A z#u6GSQ4Oaeo`>>Jwu%AYiyMxF=s?zp-73Vfc=GoU&fiMttiW8gq8cT`^gZ+5=04LC z0i86MB#84xhSK+gdRHOWFQ23Y#T!Y^Z!yS4tL2QFpZ4o+%?tkzlBZPsz+*1=4 zpu>w1o0&S}grJM6rTM+-LI*D(%ir}v^ya$V@~=|4NL@3Wa!wBdSTzFraA*0$!K0dc zicOJDX|~31_#K>A_ZQGm*K=peZ7kx4Spxdic46hyYx72?=?WH8qg|rTI5Ix_)y3mK z3Zyro=DQ=iH!-w-)(e|AM@y6=$nspLEhnm{Atu*LXD*AcRHrLYJiif5w&OlOch^?V zf7%Uz-zJ-_UL3c+$&C5jYO{ArJNr_n(!5K;b9?FS6I9Epr0tK5!58N@Yf_dc`yXCE z5Bwbb==br?_;U*j%cRT8Grk4)FYgTin6N)kSLjF%i`2kF9*liBE&I=Up=w}*0)gOy zhvF&k_K_k)5q1nBRzjZ$cN%wds9uh^z1<-AE#popEFq~dK`_)ZJ&hmmS9NqSq2MF?!x*6_!A zSS1RYGgv3rGu*eW;i{kLrE;t~KGkt9PF2-ZC}M8rL)qt4>oZJGtukvR#;OU;TAJhR z&RT|x>(2_u;n>enx7UPGv7an7Pye%C2xft4Dl#V2)TqqX;oN7>K`O&^=?XCMDFoJh zYAumayHo=rYMXRPGfJ{rirvNS#E4ynO#%hYNq%gDM}}|FONG9AZI9`@&Pq*(W8;yw zQEQR&)y%@@#RjY&el1y(77T*yW$F!9?zO!fS}}NzA-c-O_+X*di&447BEMq2#Z2qV znlq6-vq~&d)w^KJIPt?ITo-;{bwu+T7X>KWV6wcF4}yyQ-V z@vD{U?1YYM(}Z82Tb~3_^abeAe}1`OtY?;EH>bMf9(2}9XW{EUTHtfAGbr8>bRR?} zffLXFSk94v9{8)oA7Cu{xtb@Po*G^`KvT>!A^&FNcG=&O5SYJJ~+9phAAz6`|vy!-BBq*Kc1x$7Hs2C9n&>p+!6g zy)nC?6q5z19EI6?tz)%Obm8#Mgx}k?L}5$+qd?wgw!+m4P=KN1pD_rGByhDv)(0P~?RYyNYhStk32@@zBQmh6{h=p$uNo zzwywd6Dk!aEcVhK^?Pe*sQX@*L=bL6`#qrlWCriP95PCP#tP>jsLRYi3&oW9tecu3 zW#ho!JX|!f`69j8mW2lmb@k>T>}uPpcfD!|UV#@z9XRxCNOc2yuk-=}J1*sYHR&vY zv`S4o9^p~-N4t8dWtwH&!A$Cki+VY=3wHdIBjY)jO>8}|3Z6J8O~()@k_Kr9&qE={ z98~o4jPhBTpR13%SPSIw-)xIa#;F>m%`sKHu@@VR8}}YMjaxIY*UH(S@^8{Byk=&i zPT!xj3nwjVSzwbT)EGQ$@Gj1#*^{TuRpbxZF2rZ~s>p*k8+oS$3*oj^m88Z|GB+sK zn)s??566U*|Fd4G|77-S!rk}U#Q^@kcNyk5)rU;xFCr0M18(c*jPH9*z zyItZ!{mYD_KKCRH_ATpph39d1HcIvNhH9qE$Bzc~ea0 zp)IzF@%SBCGji>~UOe#8bco-p60+|mvierE?}x z!Pq7%5M>%scs>sEH3}eVv%e~(QN(V(#&2iiYAf7$5L%@)Dbg(}EN~%XTdRHi>HXSx z%ahqw@XskNu0?k9?pV_2!d7LCThCdy$qO}?oQW&r1zlt~{}8@nyPIZ43Vhnx)@kj%F_h4_0297-MgXkqHAxA6$YV6OW++;J#U|k~HHmRIZ!HIBndZ!Z)^S!5L zuGS)|J3oG|v;0Q=CNvFL*J{o&)G_Q=uF>kfd#S-fJJ!uV=fJ4>mVGhba`qTP;Dvcc zk;o3DI-h2>N#sxPNob`o^Jj1xF7Vp0t16M(x+SM^!UaWG_@l7;Bk(6C6tLo(YSF}}wSpGqqPPXh{F*zd_VN{(IQ0tiq%QZW;y_nc3UbudY)Ndq zPxJ5{dQdnVd3MhtcVva)fqHeG(KThUK1~|?veFQRZ;g4A3=sr4Lf2NdV8Z>r)IJR^ z+R(^W1`QtyjR$4k`Y`G*Z%t*`*WMJ+eX}SUd6!3NlPqozd;{t_(k&tbD-OWukKsdI zSoMogs1bn@7K|R+$mGk0n^@ZcK_STyPZ@_vyvM73_}?FrM|uu0{1kaK%$V&eV4A5* zM%KmF62z^`kv^C{F7yJ=dqV$1op*-lR^rDgxrn_}GkJ;v6D_vS8A5Zs1k#POi1WdI zrlAud-w%8UxAMo5PJ?<$2>V)Qzc6>96{dlnAsIDK{2z#LQOojC@j*SW;y^Z{fXa!V!mLl+uyRaQCwg zbmNd7>VM~44Q_VFy>z`*Jw3e+blv6|&f6r&?5 z5+|uCiRH{}>gdTnuQYy)Ka+i<+RskXiwRhI1USa@a{r-jNP(e;?I)QHiFRX_On)c) zT3ug0@ERRAzdFelcftKj-NwAKhcqh$vZ(}Z1x}GOi50#AOlazsj-2ZJL*2%+V-;Ya zj&d}0oASy%&Ht*o$5gaS;`=Xk+j}}9vaHXc-!mz9f{P*z`5{R6vy=;sJ{i$VuZ~yI$}~ z^GilD4h!>dbGdYH%4y9URdLhw^N1EI6b2kM@4uTb$bwbkO4q1okIk3=_9@aNEJX-E z7AT=RtCaDrQAwgUT$K_o)devba$KdPBpZreG7oSkqnFM?GApoji`Dl@6W_l7P^)g1 zvN|R*+oX_DNwi<9K3zi<0%Z4YrRt|@kDnVNQPR0G9g?;6$;+sLy+-ip?v{#t=(!Va z#$&9u?A?ljsXt_hFmj0l^A{MGTT{)7TRyWk;rNAu_v=l>PKD=`EG)%4%E!K4knLnB z_)6*Wu9D}mO^n9JUEs&&haYBGvvij+wI4CGtwlBhl-|O=XF(d{r~SYS#ddJVCO6s< zKQQ$3Xbri{x%%vLW=Zhr7{rl{)=l2j8PX?`SxznRB<^$IV|!O?24Aufrht0{AbE!t zEGW7*I%gRsWuyWO`$-v)U>2sf=otLrr}wmFImxtDBLu@EnvP%tL`FGCdN&;LL=y73 z&!2&$kVu}u)aKk?Oy=H?V_6x3&9BiS{j4H$VfRm#2qr~Z++ z)47dJ#yl=#4oMNeAtoZFa%TGRBwDazJ362jg%57~>F&s#vTxclVc_oKvZBGxFY7lt z!wC7($xVOHTdY_9M}s|~>ZV}NC1a9Go$N|}3O_oI{^H#cD;Qb`A|06bw+CmIOwdxL zQ;UmEHMslZ+YJ^j_an?*OULWJ@nC-^Ajt1$faUB*ju_5emA{ei?2*%Sc}5CPHZoH; zg)E9GHDY=GmMfQrjLTy!t4Q{a5x%d(49CS+Cdn@3StKiVu)L--gLx4x^uK zPFS>~;Y)$ee{&O4nQUL*T=REp&fr~C3%h+g5_TG>EH zHlF$;`%~wCN1@Dy!dg65xIh78CNjtIvJ6{-TE&8tck@~Pzc=__WYj+geUd4gG@5`E}Z+`@$uGfjXQRhx#&;uKbo3A?ESD(--<^7_Y&C%N*YyVF64YS|ex4ygF zL+76|&;{gHRR@jSNW{WmMxwkJd?Ljf)PGe|NQ`GIKV4T>6Fht5+VD}?M>IF}Y_wBHDYR+Ae5C`#Z%%?B6u zIt6;8Ac%;v*vGL^=>f21C@1Yab4{a_QiB!ZqbQ<+i_DL?&5njaEJB{0G&`1GOYhO_ zF%*3${!Le!Jq=H3lO}~k%_zsjyfGe`!_*8gL6bcld*(J_{1iPJ_EN4&u~_6Ax4Omq z;wM@Y9^j2RTA2n~!O}$Sxx}efsO&}pc$OKB^ziLX=KE+JLg9O*iGWf#&S}!(TV|(L z(#-&ta&iJ;04+iUdnL_ett9b6H-6_ds_kV0-17xtDxAF+(@2hlt^|G}rby493f)Q~ zzoeDIg5E=>(p{!9P^Ag=YoV!|%U3d1G<6fFbZz`Y-JTtj!Nt@0mdJ&krgNa2(#6`+ zSIX0+F4N~0$c2xHr4Sh^Pczhz87drUY}@1-$P7tHrk;4FWKTx$#vc@iYWR!d8UU70 zF^vDhGqetAZ=6Z3oAEFXN+*Z$cr=p&kcE!`z~nH9LNO>qvmC3l@KQ5yd$X{5Aq4VK z2U{fmmzh@T*`{&XPmQxcmRV?zlzu%sEG|Q-EdyDNbd5u*wjsmY!k<#YDdjQfdUCwg zvx(8PtT-F(?7l`~J~2)K9%mHAA&Z^zG)BW;%R?fMq{xoZm@N~80MLbEG4+5~(<9tiM} zF&K^JP$`+XmIXSf$GKQb@$7@1dHR9szj z+ZKMzR7{S6L6?$QafHvDi=()n?}5NZ<2psT63e)v$m)#q2uMqHL2Gq5EoUK_RX*D4 zZIUbfSL$6a=DNZnNXb;%hv-x=bs&+~PGz~H;k&6&H2g#pyCwv#&J6bCI>9Idn2P~S ze1!!EU=qk>uTb%Tv*?C&WeM~$z#^c8bxdV-Yc#Z5*#&v0RAz%gQV`K)dwPaTH0L4K zJi_XhBTPh%Rdu70T?3G122=vUL&1?0N07MO>T7C34)J;^?ne>PzP+-#%1V6qQ{XJN=m&93AJSO0p+kiTt{M&vF_Er(b z@`tix@#ggEf0&$$Ws_PhPJKfY$9OI=yXT5F9ynhXN9{A=@#v|)``;V=J{af=(YuK^8QFPkJg-k5Z}3+!mk>uB#Nv1Dw=Z2+*QWHv~4*2iI> ztz31y4)w8?j+M@->&}^bU2}N_Zn_yp&oFpr%7{I>J{{C}AS=dD9ROT-*S5*~-N5%> z@!L&xGguMXeNVHk$6G8fGppMGkfRPuK;>wTB@)nW(!H6` zeYes>bkj3y(xpa~2{G*@59*y?A?FSKJK2}m@g@#Nx!)SZ-^YAI&KlH5P1DDjPsOp? zXK~yIH;u|DX7Yh%a?U&(>l9(VqRWkHALzqmdikLLnhX$6?N%A-h zy+kNKj7ff$P9X)54~(Kg6zh1E8GR;|nBVjT@{b6tDwRfz4xLa3HjhR2i+UqSuLXGS zX^OA$OC~fhZ7GVaVaT^p_P;D6>6YSIaCHn<5TKB$mU7+O`BmM<+)wibI_`t+1dyha> z(KwaBX0)E>Q-i^xrxD|;RN+^QOX<=}a;d|LbuiCzsuV5FC@CQk*s`eca)oqyRl&0G zzJj6?3$yF6^)YjT1sSusRPE2izHzyYS3I=WZjta+_W(*u>2(G<{BJWE9UlFfM1V^9e7N=*-Aw-UJ)0;< z$v$joObd$MaRnZOZYIB=hsprxT5hg(`W&f?;DZsYADBja=i4)vD%`*l5dRd(QWp+;{f9!5xfu<@eo{Or##L5pAf> zZc4n`jSu}1*$UvKF*O!7bW~@pCLzE(<*!)|m ze;*6tHh$7u+eW*&$-8Kwa?=66OSWN>2LSCu34ZgNV5`v2Hqt`5YyeFU8!OnrA`Cdk zF{%rr7^iZ;(*m}pN3N(X*?9$F9C_<1DH4OS$&{>r^T=o|7cJ!O8}Gv!ts(%g_ZxA_ z+i3|5l2$X##x3h+J(E|^@924W8#~P(V%HRXCXC%Cr-N8Ir6puMQx7d8WGRrKWP=AyAxvnt4HZuD`@lbnmveRZZ={wncVIl43eRLQ3LkP|%BB+)^jW0FrDSEtm zd2fT)T+oE(G)!{OypoPQ5zkubN?&YUQ7sQs_V*$1y_lJL? z$Z}v>l==4%#1ZBOXw=ZH?JWV1LXF4$I;}od;%<}UXK;Lxdh()1!8|42f@!TU&mEe3L&NNfvjaigBAFd%KG2zASWE zdH(eJ#h2Sv`Wx-?l}E-9+P3!^`{Na5_D*~`J* zsXXNuyN64^oE8fCitZ@e@4I|tGfS^P5sI9-trk6~C8D_&K3u)0+frz@5-__usx`h# zxG1W+(_h9n9K0%Vyx+nlOHnBO=6w6ppg;DsneFlCap^47qxV-A2R~wds#u&y;ZvL~ zVP+G5X-}X5np(*LF$aEvNJ)gOWUhesoy%{l(se{piTxmIXMu$jYRB!TY~`37k%zsf zKMouTnC_^y5-DPH%DSedPRD8&a7OuB@w{(hsMFlBGzJFsZ0$!Z?{Mu&apKs$%E%SC ziBxHC$A_316!l*4{{z2L@@??$C#*(Ny$H8b$xzl?a!l01S*ilt7cV*{Yfa^(#|o|{ zrilwk zfx0NvH`T|CGJ-110ol4fMg)Fj6@Bk+Z)127lvNggzkp&X&4GqwPTb27xg@A0E$*np zXO7$%HH{|Q&7rNJDn~KmCSN>KJvS7gOx(Y1;j@=zvDRcVgM5fGma$t{%tN|geyAL@ zGm_7xSNY`J?F!ad^D|=zx41ztFM{X*7Rzp>avn_c3nwd)x`4HLGRgP|<)` zMtkailBPa$;)t21e&I)J%m5IxM-Pb-WdY{0i>P$(c*QH1lMfr-^71QAl_uw(6Q(@_ zwsk~9E~V2|KeytRWrsZbR@-v->?U8Q;cDR3`CZ^qKZR`jAqA}a`gs1)^WfhrMMS~p zTiMS;uF7J%LvBt#b)y&i(BV;l`RnHx%;?EJO1goCb#`Mbb4=yZo{_}CFw)LMERF#A zQ6osiJ=a7OSo}hMAOI41pN4?=FBJMq-SG7T6xvb{(c#d)NbGNTbeoX~6B=B2O!n!`LfAvCDNu~cinh9m)~lNYofk^*WZk5P+*?!yIYYv) z8k5{@nP|4ehQ#M|j)8zgP#r3x!=pRK3To=Gc0^_kfgQ)6@TfL3e`7g1JnEEX{8=x%W1B_A zYY815CC!Q34}&K?)qKpl%R6FgFL>G~srDy4T5c~~ukiG5cywjkUbO4-Z+LWz*+G2r zsrKLSsE~Q^qIxziVB z0Vv!X3dnzXUjNU(L<}$jKruM~w>b9Iy0|w2hm_OQ(fWUgW2+;7w(}SiTKD1OKRGo_Id|F_6@7vggzTB(8XfY&62M+YevjrT|gUYAt${Bv=Bc;rK&m z^b2v1N`S$QaZCBHAI#U7<$2C?+nbw}*BtX@ve#AXc}AT)A^2o0tPjN#VOxAi*IOQ9 zHei^MKwXXJPA#bN1g_xQGDUUKr@YjxzZ6fWb!7qX&UyXOCth%oo82FU2}{o~$lU$djgSSXu=ptP zzFx%Iorws<8(!7xOznC{e8YOVaC#t$bgs4f0Xtqd!v|*Wt;#1T`KNmSE_wR}Jr3tH zDkrdbq+__uZ)0ke$1OA{>p-B&;Ma+3Ti{fB2rHFqcAd+RtCYqfBaVzD-$;VyTJ|SP zEn5PkvAVE7c;b7$+>o`Sdbbo*aVrQCyd$%<)q2wCQ0A5={~&)tncWamdZ$++mt6cEK;*$n?@|@ zc%CL%%u&;e21QDm!NFeTU?fT&)*m6BayZErK!=p5ULh%VE{*li$oFD?l1~ zl_%TA^E*C~9sHEj`+&Vn>8**u+lKYAWu$A5n)^gv;g@ZGKS>mIjgj{N*Gw9YnJ6|a z!b9?Y+x@*xh#A=G9kk-paS)`DZ@2@ehyL|Gknv*w@RuyRh0qXF9=Evf2Ov-BSwIvC z6MtCV+x31{EN$r#h8`I+kEgP-)D%TLZ{TE)3*Ht#DSHw~=D+M*i8^RfkpsQg_j6Ae z+tal?Sv%iUa~k8WN>qLIaVzbSw%!P~uKVR~zW6&7|GAy_ zKM~e1D?gdE|Jcq`rei(&Z`*n0w2ZJw=HCHWE|`r3RD9t>@aO?JEy)Pw?oO)ZfTy%J za?nG-T2(ZDfFqDb$tRpY*3Qz7yxM5!;pSPE^5!_t1cW(bQ9tWm6OIP|vJwsHFJeB* zxRe28IlXLCoLyoV)iLKwx#Bmt=kPKkZTYn5DN8kDR(k?-qaoYaX4SBaD99TrTOWg` zW5%x0(l#?YUsS50X4<{N=>KA3V)gr#dsrx|t4bb%t<~9(_DPEi75*@5#a2!4+&syM zcOS*ECE7K(=s6!KtU5s?-s>@ZJ=~H1)rLw`UKjN9e}h}+jLFhU0Aw78jmUo@or#&~ zOT-MTQebv&r%@QdH<$YwVeZubO3YTwY_?2JuOvmYKPLEwH{nZC|hC+J90 zM%`ci5NiD}UbCb&{ERDh#<+%@Oym{O(>hzKz>hIfD3$d@A07ZZ6B*rl@G0vqgfoNM2uSRo_Y%QycF@zXDzr|YL4pYNj zJ>1x}c6dLv4H{~Q(tEx879!IA_T>AMX^83Jd*_&DiTMï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

  • $+-~A!y8Wm#23ae=HUbDl)%b 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

    {-IJ7 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 X1?(;Zc1Hmj^-$>Gq!H5d1va<<>6+ih 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 ~(88pNAHvcQ~uR5r5LTMpn3^Q_aycqG0n?G9Oda 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 kG~A)VZTx=q