|
16 | 16 | "metadata": {},
|
17 | 17 | "source": [
|
18 | 18 | "https://ubuntu.pkgs.org/18.04/ubuntu-universe-amd64/libsqlite3-mod-spatialite_4.3.0a-5build1_amd64.deb.html \n",
|
19 |
| - "! sudo apt-get install libsqlite3-mod-spatialite \n", |
20 |
| - "! pip install -U sqlalchemy geoalchemy" |
| 19 | + "https://zoomadmin.com/HowToInstall/UbuntuPackage/spatialite-bin \n", |
| 20 | + "\n", |
| 21 | + "! sudo apt-get install libsqlite3-mod-spatialite spatialite-bin \n", |
| 22 | + "! pip install -U sqlalchemy geoalchemy geoalchemy2" |
21 | 23 | ]
|
22 | 24 | },
|
23 | 25 | {
|
|
81 | 83 | "cell_type": "code",
|
82 | 84 | "execution_count": 4,
|
83 | 85 | "metadata": {},
|
84 |
| - "outputs": [ |
85 |
| - { |
86 |
| - "name": "stdout", |
87 |
| - "output_type": "stream", |
88 |
| - "text": [ |
89 |
| - "2020-11-17 12:23:01,113 INFO sqlalchemy.engine.base.Engine SELECT CAST('test plain returns' AS VARCHAR(60)) AS anon_1\n", |
90 |
| - "2020-11-17 12:23:01,115 INFO sqlalchemy.engine.base.Engine ()\n", |
91 |
| - "2020-11-17 12:23:01,118 INFO sqlalchemy.engine.base.Engine SELECT CAST('test unicode returns' AS VARCHAR(60)) AS anon_1\n", |
92 |
| - "2020-11-17 12:23:01,120 INFO sqlalchemy.engine.base.Engine ()\n" |
93 |
| - ] |
94 |
| - } |
95 |
| - ], |
| 86 | + "outputs": [], |
96 | 87 | "source": [
|
97 | 88 | "conn = engine.connect()"
|
98 | 89 | ]
|
|
114 | 105 | "name": "stdout",
|
115 | 106 | "output_type": "stream",
|
116 | 107 | "text": [
|
117 |
| - "2020-11-17 12:23:02,630 INFO sqlalchemy.engine.base.Engine SELECT InitSpatialMetaData() AS \"InitSpatialMetaData_1\"\n", |
118 |
| - "2020-11-17 12:23:02,632 INFO sqlalchemy.engine.base.Engine ()\n" |
| 108 | + "2021-09-30 14:15:35,114 INFO sqlalchemy.engine.Engine SELECT InitSpatialMetaData() AS \"InitSpatialMetaData_1\"\n", |
| 109 | + "2021-09-30 14:15:35,115 INFO sqlalchemy.engine.Engine [generated in 0.00168s] ()\n" |
119 | 110 | ]
|
120 | 111 | },
|
121 | 112 | {
|
122 | 113 | "data": {
|
123 | 114 | "text/plain": [
|
124 |
| - "<sqlalchemy.engine.result.ResultProxy at 0x7f810808ed00>" |
| 115 | + "<sqlalchemy.engine.cursor.LegacyCursorResult at 0x7f118040efa0>" |
125 | 116 | ]
|
126 | 117 | },
|
127 | 118 | "execution_count": 5,
|
|
196 | 187 | "name": "stdout",
|
197 | 188 | "output_type": "stream",
|
198 | 189 | "text": [
|
199 |
| - "2020-11-17 12:24:54,915 INFO sqlalchemy.engine.base.Engine \n", |
| 190 | + "2021-09-30 15:49:34,640 INFO sqlalchemy.engine.Engine BEGIN (implicit)\n", |
| 191 | + "2021-09-30 15:49:34,642 INFO sqlalchemy.engine.Engine \n", |
200 | 192 | "CREATE TABLE lake (\n",
|
201 | 193 | "\tid INTEGER NOT NULL, \n",
|
202 | 194 | "\tname VARCHAR, \n",
|
203 | 195 | "\tPRIMARY KEY (id)\n",
|
204 | 196 | ")\n",
|
205 | 197 | "\n",
|
206 | 198 | "\n",
|
207 |
| - "2020-11-17 12:24:54,919 INFO sqlalchemy.engine.base.Engine ()\n", |
208 |
| - "2020-11-17 12:24:54,951 INFO sqlalchemy.engine.base.Engine COMMIT\n", |
209 |
| - "2020-11-17 12:24:54,955 INFO sqlalchemy.engine.base.Engine SELECT AddGeometryColumn(?, ?, ?, ?, ?) AS \"AddGeometryColumn_1\"\n", |
210 |
| - "2020-11-17 12:24:54,956 INFO sqlalchemy.engine.base.Engine ('lake', 'geom', -1, 'POLYGON', 2)\n", |
211 |
| - "2020-11-17 12:24:55,114 INFO sqlalchemy.engine.base.Engine COMMIT\n", |
212 |
| - "2020-11-17 12:24:55,116 INFO sqlalchemy.engine.base.Engine SELECT CreateSpatialIndex(?, ?) AS \"CreateSpatialIndex_1\"\n", |
213 |
| - "2020-11-17 12:24:55,117 INFO sqlalchemy.engine.base.Engine ('lake', 'geom')\n", |
214 |
| - "2020-11-17 12:24:55,291 INFO sqlalchemy.engine.base.Engine COMMIT\n" |
| 199 | + "2021-09-30 15:49:34,643 INFO sqlalchemy.engine.Engine [no key 0.00138s] ()\n", |
| 200 | + "2021-09-30 15:49:35,448 INFO sqlalchemy.engine.Engine SELECT AddGeometryColumn(?, ?, ?, ?, ?, ?) AS \"AddGeometryColumn_1\"\n", |
| 201 | + "2021-09-30 15:49:35,449 INFO sqlalchemy.engine.Engine [no key 0.00092s] ('lake', 'geom', -1, 'POLYGON', 2, 0)\n", |
| 202 | + "2021-09-30 15:49:41,161 INFO sqlalchemy.engine.Engine SELECT CreateSpatialIndex(?, ?) AS \"CreateSpatialIndex_1\"\n", |
| 203 | + "2021-09-30 15:49:41,162 INFO sqlalchemy.engine.Engine [generated in 0.00089s] ('lake', 'geom')\n", |
| 204 | + "2021-09-30 15:49:47,476 INFO sqlalchemy.engine.Engine COMMIT\n" |
215 | 205 | ]
|
216 | 206 | }
|
217 | 207 | ],
|
|
227 | 217 | {
|
228 | 218 | "data": {
|
229 | 219 | "text/plain": [
|
230 |
| - "Table('lake', MetaData(bind=None), Column('id', Integer(), table=<lake>, primary_key=True, nullable=False), Column('name', String(), table=<lake>), Column('geom', Geometry(geometry_type='POLYGON', management=True, from_text='ST_GeomFromEWKT', name='geometry'), table=<lake>), schema=None)" |
| 220 | + "Table('lake', MetaData(), Column('id', Integer(), table=<lake>, primary_key=True, nullable=False), Column('name', String(), table=<lake>), Column('geom', Geometry(geometry_type='POLYGON', management=True, from_text='ST_GeomFromEWKT', name='geometry'), table=<lake>), schema=None)" |
231 | 221 | ]
|
232 | 222 | },
|
233 | 223 | "execution_count": 9,
|
|
292 | 282 | "name": "stdout",
|
293 | 283 | "output_type": "stream",
|
294 | 284 | "text": [
|
295 |
| - "2020-11-17 12:25:40,502 INFO sqlalchemy.engine.base.Engine BEGIN (implicit)\n", |
296 |
| - "2020-11-17 12:25:40,516 INFO sqlalchemy.engine.base.Engine INSERT INTO lake (name, geom) VALUES (?, GeomFromEWKT(?))\n", |
297 |
| - "2020-11-17 12:25:40,519 INFO sqlalchemy.engine.base.Engine ('Majeur', 'POLYGON((0 0,1 0,1 1,0 1,0 0))')\n", |
298 |
| - "2020-11-17 12:25:40,531 INFO sqlalchemy.engine.base.Engine COMMIT\n" |
| 285 | + "2021-09-30 15:49:48,135 INFO sqlalchemy.engine.Engine BEGIN (implicit)\n", |
| 286 | + "2021-09-30 15:49:48,138 INFO sqlalchemy.engine.Engine INSERT INTO lake (name, geom) VALUES (?, GeomFromEWKT(?))\n", |
| 287 | + "2021-09-30 15:49:48,139 INFO sqlalchemy.engine.Engine [generated in 0.00168s] ('Majeur', 'POLYGON((0 0,1 0,1 1,0 1,0 0))')\n", |
| 288 | + "2021-09-30 15:49:48,377 INFO sqlalchemy.engine.Engine COMMIT\n" |
299 | 289 | ]
|
300 | 290 | }
|
301 | 291 | ],
|
|
321 | 311 | "name": "stdout",
|
322 | 312 | "output_type": "stream",
|
323 | 313 | "text": [
|
324 |
| - "2020-11-17 12:26:04,741 INFO sqlalchemy.engine.base.Engine BEGIN (implicit)\n", |
325 |
| - "2020-11-17 12:26:04,744 INFO sqlalchemy.engine.base.Engine SELECT lake.id AS lake_id, lake.name AS lake_name, AsEWKB(lake.geom) AS lake_geom \n", |
| 314 | + "2021-09-30 15:49:48,969 INFO sqlalchemy.engine.Engine BEGIN (implicit)\n", |
| 315 | + "2021-09-30 15:49:48,972 INFO sqlalchemy.engine.Engine SELECT lake.id AS lake_id, lake.name AS lake_name, AsEWKB(lake.geom) AS lake_geom \n", |
326 | 316 | "FROM lake \n",
|
327 | 317 | "WHERE lake.name = ?\n",
|
328 | 318 | " LIMIT ? OFFSET ?\n",
|
329 |
| - "2020-11-17 12:26:04,748 INFO sqlalchemy.engine.base.Engine ('Majeur', 1, 0)\n" |
| 319 | + "2021-09-30 15:49:48,973 INFO sqlalchemy.engine.Engine [generated in 0.00121s] ('Majeur', 1, 0)\n" |
330 | 320 | ]
|
331 | 321 | },
|
332 | 322 | {
|
|
353 | 343 | {
|
354 | 344 | "data": {
|
355 | 345 | "text/plain": [
|
356 |
| - "<WKBElement at 0x7f80f9ae2970; 0103000020FFFFFFFF010000000500000000000000000000000000000000000000000000000000F03F0000000000000000000000000000F03F000000000000F03F0000000000000000000000000000F03F00000000000000000000000000000000>" |
| 346 | + "<WKBElement at 0x7f11438c4e20; 0103000020FFFFFFFF010000000500000000000000000000000000000000000000000000000000F03F0000000000000000000000000000F03F000000000000F03F0000000000000000000000000000F03F00000000000000000000000000000000>" |
357 | 347 | ]
|
358 | 348 | },
|
359 | 349 | "execution_count": 14,
|
|
401 | 391 | "name": "stdout",
|
402 | 392 | "output_type": "stream",
|
403 | 393 | "text": [
|
404 |
| - "2020-11-17 12:27:05,615 INFO sqlalchemy.engine.base.Engine INSERT INTO lake (name, geom) VALUES (?, GeomFromEWKT(?))\n", |
405 |
| - "2020-11-17 12:27:05,617 INFO sqlalchemy.engine.base.Engine ('Garde', 'POLYGON((1 0,3 0,3 2,1 2,1 0))')\n", |
406 |
| - "2020-11-17 12:27:05,620 INFO sqlalchemy.engine.base.Engine INSERT INTO lake (name, geom) VALUES (?, GeomFromEWKT(?))\n", |
407 |
| - "2020-11-17 12:27:05,625 INFO sqlalchemy.engine.base.Engine ('Orta', 'POLYGON((3 0,6 0,6 3,3 3,3 0))')\n", |
408 |
| - "2020-11-17 12:27:05,627 INFO sqlalchemy.engine.base.Engine COMMIT\n" |
| 394 | + "2021-09-30 15:49:49,666 INFO sqlalchemy.engine.Engine INSERT INTO lake (name, geom) VALUES (?, GeomFromEWKT(?))\n", |
| 395 | + "2021-09-30 15:49:49,670 INFO sqlalchemy.engine.Engine [cached since 1.533s ago] ('Garde', 'POLYGON((1 0,3 0,3 2,1 2,1 0))')\n", |
| 396 | + "2021-09-30 15:49:49,672 INFO sqlalchemy.engine.Engine INSERT INTO lake (name, geom) VALUES (?, GeomFromEWKT(?))\n", |
| 397 | + "2021-09-30 15:49:49,673 INFO sqlalchemy.engine.Engine [cached since 1.536s ago] ('Orta', 'POLYGON((3 0,6 0,6 3,3 3,3 0))')\n", |
| 398 | + "2021-09-30 15:49:49,674 INFO sqlalchemy.engine.Engine COMMIT\n" |
409 | 399 | ]
|
410 | 400 | }
|
411 | 401 | ],
|
|
427 | 417 | },
|
428 | 418 | {
|
429 | 419 | "cell_type": "code",
|
430 |
| - "execution_count": 26, |
| 420 | + "execution_count": 17, |
431 | 421 | "metadata": {},
|
432 | 422 | "outputs": [
|
433 | 423 | {
|
434 | 424 | "name": "stdout",
|
435 | 425 | "output_type": "stream",
|
436 | 426 | "text": [
|
437 |
| - "2020-11-17 12:30:59,928 INFO sqlalchemy.engine.base.Engine SELECT lake.id AS lake_id, lake.name AS lake_name, AsEWKB(lake.geom) AS lake_geom \n", |
| 427 | + "2021-09-30 15:49:50,856 INFO sqlalchemy.engine.Engine BEGIN (implicit)\n", |
| 428 | + "2021-09-30 15:49:50,858 INFO sqlalchemy.engine.Engine SELECT lake.id AS lake_id, lake.name AS lake_name, AsEWKB(lake.geom) AS lake_geom \n", |
438 | 429 | "FROM lake ORDER BY lake.name\n",
|
439 |
| - "2020-11-17 12:30:59,931 INFO sqlalchemy.engine.base.Engine ()\n" |
| 430 | + "2021-09-30 15:49:50,859 INFO sqlalchemy.engine.Engine [generated in 0.00102s] ()\n" |
440 | 431 | ]
|
441 | 432 | },
|
442 | 433 | {
|
|
445 | 436 | "['Garde', 'Majeur', 'Orta']"
|
446 | 437 | ]
|
447 | 438 | },
|
448 |
| - "execution_count": 26, |
| 439 | + "execution_count": 17, |
449 | 440 | "metadata": {},
|
450 | 441 | "output_type": "execute_result"
|
451 | 442 | }
|
|
468 | 459 | },
|
469 | 460 | {
|
470 | 461 | "cell_type": "code",
|
471 |
| - "execution_count": 28, |
| 462 | + "execution_count": 18, |
472 | 463 | "metadata": {},
|
473 | 464 | "outputs": [
|
474 | 465 | {
|
475 | 466 | "name": "stdout",
|
476 | 467 | "output_type": "stream",
|
477 | 468 | "text": [
|
478 |
| - "2020-11-17 12:34:33,367 INFO sqlalchemy.engine.base.Engine SELECT lake.id AS lake_id, lake.name AS lake_name, AsEWKB(lake.geom) AS lake_geom \n", |
| 469 | + "2021-09-30 15:49:51,251 INFO sqlalchemy.engine.Engine SELECT lake.id AS lake_id, lake.name AS lake_name, AsEWKB(lake.geom) AS lake_geom \n", |
479 | 470 | "FROM lake \n",
|
480 | 471 | "WHERE ST_Contains(lake.geom, ST_GeomFromText(?, ?))\n",
|
481 |
| - "2020-11-17 12:34:33,370 INFO sqlalchemy.engine.base.Engine ('POINT(4 1)', -1)\n", |
| 472 | + "2021-09-30 15:49:51,252 INFO sqlalchemy.engine.Engine [no key 0.00156s] ('POINT(4 1)', -1)\n", |
482 | 473 | "Orta\n"
|
483 | 474 | ]
|
484 | 475 | }
|
|
499 | 490 | },
|
500 | 491 | {
|
501 | 492 | "cell_type": "code",
|
502 |
| - "execution_count": 30, |
| 493 | + "execution_count": 19, |
503 | 494 | "metadata": {},
|
504 | 495 | "outputs": [
|
505 | 496 | {
|
506 | 497 | "name": "stdout",
|
507 | 498 | "output_type": "stream",
|
508 | 499 | "text": [
|
509 |
| - "2020-11-17 12:36:30,312 INFO sqlalchemy.engine.base.Engine SELECT lake.id AS lake_id, lake.name AS lake_name, AsEWKB(lake.geom) AS lake_geom \n", |
| 500 | + "2021-09-30 15:49:51,421 INFO sqlalchemy.engine.Engine SELECT lake.id AS lake_id, lake.name AS lake_name, AsEWKB(lake.geom) AS lake_geom \n", |
510 | 501 | "FROM lake \n",
|
511 | 502 | "WHERE ST_Contains(lake.geom, ?)\n",
|
512 |
| - "2020-11-17 12:36:30,314 INFO sqlalchemy.engine.base.Engine ('POINT(4 1)',)\n", |
| 503 | + "2021-09-30 15:49:51,422 INFO sqlalchemy.engine.Engine [no key 0.00093s] ('POINT(4 1)',)\n", |
513 | 504 | "Majeur\n",
|
514 | 505 | "Garde\n",
|
515 | 506 | "Orta\n"
|
|
532 | 523 | },
|
533 | 524 | {
|
534 | 525 | "cell_type": "code",
|
535 |
| - "execution_count": 31, |
| 526 | + "execution_count": 20, |
536 | 527 | "metadata": {},
|
537 | 528 | "outputs": [
|
538 | 529 | {
|
539 | 530 | "name": "stdout",
|
540 | 531 | "output_type": "stream",
|
541 | 532 | "text": [
|
542 |
| - "2020-11-17 12:36:47,827 INFO sqlalchemy.engine.base.Engine SELECT lake.id AS lake_id, lake.name AS lake_name, AsEWKB(lake.geom) AS lake_geom \n", |
| 533 | + "2021-09-30 15:49:52,203 INFO sqlalchemy.engine.Engine SELECT lake.id AS lake_id, lake.name AS lake_name, AsEWKB(lake.geom) AS lake_geom \n", |
543 | 534 | "FROM lake \n",
|
544 | 535 | "WHERE ST_Intersects(lake.geom, ST_GeomFromText(?, ?))\n",
|
545 |
| - "2020-11-17 12:36:47,828 INFO sqlalchemy.engine.base.Engine ('LINESTRING(2 1,4 1)', -1)\n", |
| 536 | + "2021-09-30 15:49:52,204 INFO sqlalchemy.engine.Engine [no key 0.00098s] ('LINESTRING(2 1,4 1)', -1)\n", |
546 | 537 | "Garde\n",
|
547 | 538 | "Orta\n"
|
548 | 539 | ]
|
|
563 | 554 | },
|
564 | 555 | {
|
565 | 556 | "cell_type": "code",
|
566 |
| - "execution_count": 34, |
| 557 | + "execution_count": 21, |
567 | 558 | "metadata": {},
|
568 | 559 | "outputs": [
|
569 | 560 | {
|
570 | 561 | "name": "stdout",
|
571 | 562 | "output_type": "stream",
|
572 | 563 | "text": [
|
573 |
| - "2020-11-17 12:38:50,191 INFO sqlalchemy.engine.base.Engine SELECT lake.id AS lake_id, lake.name AS lake_name, AsEWKB(lake.geom) AS lake_geom \n", |
| 564 | + "2021-09-30 15:49:52,904 INFO sqlalchemy.engine.Engine SELECT lake.id AS lake_id, lake.name AS lake_name, AsEWKB(lake.geom) AS lake_geom \n", |
574 | 565 | "FROM lake \n",
|
575 | 566 | "WHERE lake.name = ?\n",
|
576 |
| - "2020-11-17 12:38:50,197 INFO sqlalchemy.engine.base.Engine ('Garde',)\n", |
577 |
| - "2020-11-17 12:38:50,201 INFO sqlalchemy.engine.base.Engine SELECT ST_Intersects(GeomFromEWKB(?), ST_GeomFromText(?, ?)) AS \"ST_Intersects_1\"\n", |
578 |
| - "2020-11-17 12:38:50,203 INFO sqlalchemy.engine.base.Engine ('0103000020FFFFFFFF0100000005000000000000000000F03F00000000000000000000000000000840000000000000000000000000000008400000000000000040000000000000F03F0000000000000040000000000000F03F0000000000000000', 'LINESTRING(2 1,4 1)', -1)\n", |
| 567 | + "2021-09-30 15:49:52,905 INFO sqlalchemy.engine.Engine [generated in 0.00106s] ('Garde',)\n", |
| 568 | + "2021-09-30 15:49:52,908 INFO sqlalchemy.engine.Engine SELECT ST_Intersects(GeomFromEWKB(?), ST_GeomFromText(?, ?)) AS \"ST_Intersects_1\"\n", |
| 569 | + "2021-09-30 15:49:52,909 INFO sqlalchemy.engine.Engine [no key 0.00095s] ('0103000020FFFFFFFF0100000005000000000000000000F03F00000000000000000000000000000840000000000000000000000000000008400000000000000040000000000000F03F0000000000000040000000000000F03F0000000000000000', 'LINESTRING(2 1,4 1)', -1)\n", |
579 | 570 | "1\n"
|
580 | 571 | ]
|
581 | 572 | }
|
|
607 | 598 | ],
|
608 | 599 | "metadata": {
|
609 | 600 | "kernelspec": {
|
610 |
| - "display_name": "Python 3", |
| 601 | + "display_name": "Python 3 (ipykernel)", |
611 | 602 | "language": "python",
|
612 | 603 | "name": "python3"
|
613 | 604 | },
|
|
621 | 612 | "name": "python",
|
622 | 613 | "nbconvert_exporter": "python",
|
623 | 614 | "pygments_lexer": "ipython3",
|
624 |
| - "version": "3.8.5" |
| 615 | + "version": "3.8.10" |
625 | 616 | }
|
626 | 617 | },
|
627 | 618 | "nbformat": 4,
|
|
0 commit comments