rusqlite-gpkg 0.0.8

GeoPackage reader/writer built on top of rusqlite
Documentation
SQLite format 3@  ";(�GPKG.���"����7- 

�
�h\=mUndefined geographic SRSNONEundefinedundefined geographic coordinate reference system[���������;kUndefined Cartesian SRSNONE�undefinedundefined Cartesian coordinate reference system��f	+�i�WGS 84 geodeticEPSG�GEOGCS["WGS 84",DATUM["WGS_1984",SPHEROID["WGS 84",6378137,298.257223563,AUTHORITY["EPSG","7030"]],AUTHORITY["EPSG","6326"]],PRIMEM["Greenwich",0,AUTHORITY["EPSG","8901"]],UNIT["degree",0.0174532925199433,AUTHORITY["EPSG","9122"]],AXIS["Latitude",NORTH],AXIS["Longitude",EAST],AUTHORITY["EPSG","4326"]]longitude/latitude coordinates in decimal degrees on the WGS 84 spheroid
��L�]
=polygonsfeaturespolygons2026-01-14T12:40:57.684Z@avz�G�@A�fffff@aw33333@A�=p��
�W
=linesfeatureslines2026-01-14T12:40:57.580Z@avz�G�@A�
=p��@aw\(�@Aٙ�����Y
=pointsfeaturespoints2026-01-14T12:40:57.474Z@av=p��
@A׮z�H@aw
=p��@Aؓt�j�
����polygons	lines		points
����polygons	lines		points
����polygons	lines
points
����polygons	lines		points
����polygonsgeomPOLYGON�!linesgeomLINESTRING�pointsgeomPOINT�
����polygonsgeomlinesgeom	pointsgeom
����polygons	lines		points




�����|�	h�k~	�w8��M�DU-�triggergpkg_tile_matrix_matrix_width_insertgpkg_tile_matrixCREATE TRIGGER 'gpkg_tile_matrix_matrix_width_insert' BEFORE INSERT ON 'gpkg_tile_matrix' FOR EACH ROW BEGIN SELECT RAISE(ABORT, 'insert on table ''gpkg_tile_matrix'' violates constraint: matrix_width cannot be less than 1') WHERE (NEW.matrix_width < 1); END�JQ-�!triggergpkg_tile_matrix_zoom_level_updategpkg_tile_matrixCREATE TRIGGER 'gpkg_tile_matrix_zoom_level_update' BEFORE UPDATE of zoom_level ON 'gpkg_tile_matrix' FOR EACH ROW BEGIN SELECT RAISE(ABORT, 'update on table ''gpkg_tile_matrix'' violates constraint: zoom_level cannot be less than 0') WHERE (NEW.zoom_level < 0); END�<Q-�triggergpkg_tile_matrix_zoom_level_insertgpkg_tile_matrixCREATE TRIGGER 'gpkg_tile_matrix_zoom_level_insert' BEFORE INSERT ON 'gpkg_tile_matrix' FOR EACH ROW BEGIN SELECT RAISE(ABORT, 'insert on table ''gpkg_tile_matrix'' violates constraint: zoom_level cannot be less than 0') WHERE (NEW.zoom_level < 0); END?
S-indexsqlite_autoindex_gpkg_tile_matrix_1gpkg_tile_matrix�C--�9tablegpkg_tile_matrixgpkg_tile_matrix
CREATE TABLE gpkg_tile_matrix (table_name TEXT NOT NULL,zoom_level INTEGER NOT NULL,matrix_width INTEGER NOT NULL,matrix_height INTEGER NOT NULL,tile_width INTEGER NOT NULL,tile_height INTEGER NOT NULL,pixel_x_size DOUBLE NOT NULL,pixel_y_size DOUBLE NOT NULL,CONSTRAINT pk_ttm PRIMARY KEY (table_name, zoom_level),CONSTRAINT fk_tmm_table_name FOREIGN KEY (table_name) REFERENCES gpkg_contents(table_name))�
55�_tablegpkg_tile_matrix_setgpkg_tile_matrix_setCREATE TABLE gpkg_tile_matrix_set (table_name TEXT NOT NULL PRIMARY KEY,srs_id INTEGER NOT NULL,min_x DOUBLE NOT NULL,min_y DOUBLE NOT NULL,max_x DOUBLE NOT NULL,max_y DOUBLE NOT NULL,CONSTRAINT fk_gtms_table_name FOREIGN KEY (table_name) REFERENCES gpkg_contents(table_name),CONSTRAINT fk_gtms_srs FOREIGN KEY (srs_id) REFERENCES gpkg_spatial_ref_sys (srs_id))G[5indexsqlite_autoindex_gpkg_tile_matrix_set_1gpkg_tile_matrix_set�77�tablegpkg_geometry_columnsgpkg_geometry_columnsCREATE TABLE gpkg_geometry_columns (table_name TEXT NOT NULL,column_name TEXT NOT NULL,geometry_type_name TEXT NOT NULL,srs_id INTEGER NOT NULL,z TINYINT NOT NULL,m TINYINT NOT NULL,CONSTRAINT pk_geom_cols PRIMARY KEY (table_name, column_name),CONSTRAINT uk_gc_table_name UNIQUE (table_name),CONSTRAINT fk_gc_tn FOREIGN KEY (table_name) REFERENCES gpkg_contents(table_name),CONSTRAINT fk_gc_srs FOREIGN KEY (srs_id) REFERENCES gpkg_spatial_ref_sys (srs_id))I	]7indexsqlite_autoindex_gpkg_geometry_columns_2gpkg_geometry_columns
I]7indexsqlite_autoindex_gpkg_geometry_columns_1gpkg_geometry_columns	�//�[tablegpkg_ogr_contentsgpkg_ogr_contentsCREATE TABLE gpkg_ogr_contents(table_name TEXT NOT NULL PRIMARY KEY,feature_count INTEGER DEFAULT NULL)AU/indexsqlite_autoindex_gpkg_ogr_contents_1gpkg_ogr_contents�''�wtablegpkg_contentsgpkg_contentsCREATE TABLE gpkg_contents (table_name TEXT NOT NULL PRIMARY KEY,data_type TEXT NOT NULL,identifier TEXT UNIQUE,description TEXT DEFAULT '',last_change DATETIME NOT NULL DEFAULT (strftime('%Y-%m-%dT%H:%M:%fZ','now')),min_x DOUBLE, min_y DOUBLE,max_x DOUBLE, max_y DOUBLE,srs_id INTEGER,CONSTRAINT fk_gc_r_srs_id FOREIGN KEY (srs_id) REFERENCES gpkg_spatial_ref_sys(srs_id))9M'indexsqlite_autoindex_gpkg_contents_2gpkg_contents9M'indexsqlite_autoindex_gpkg_contents_1gpkg_contents�55�)tablegpkg_spatial_ref_sysgpkg_spatial_ref_sysCREATE TABLE gpkg_spatial_ref_sys (srs_name TEXT NOT NULL,srs_id INTEGER NOT NULL PRIMARY KEY,organization TEXT NOT NULL,organization_coordsys_id INTEGER NOT NULL,definition  TEXT NOT NULL,description TEXT)
Q�
Y
�	e	H���=�6��B =�9triggerrtree_points_geom_insertpointsCREATE TRIGGER "rtree_points_geom_insert" AFTER INSERT ON "points" WHEN (new."geom" NOT NULL AND NOT ST_IsEmpty(NEW."geom")) BEGIN INSERT OR REPLACE INTO "rtree_points_geom" VALUES (NEW."id",ST_MinX(NEW."geom"), ST_MaxX(NEW."geom"),ST_MinY(NEW."geom"), ST_MaxY(NEW."geom")); END�TU-�1triggergpkg_tile_matrix_matrix_width_updategpkg_tile_matrixCREATE TRIGGER 'gpkg_tile_matrix_matrix_width_update' BEFORE UPDATE OF matrix_width ON 'gpkg_tile_matrix' FOR EACH ROW BEGIN SELECT RAISE(ABORT, 'update on table ''gpkg_tile_matrix'' violates constraint: matrix_width cannot be less than 1') WHERE (NEW.matrix_width < 1); END�==�)tablertree_points_geom_parentrtree_points_geom_parentCREATE TABLE "rtree_points_geom_parent"(nodeno INTEGER PRIMARY KEY,parentnode)99�tablertree_points_geom_nodertree_points_geom_nodeCREATE TABLE "rtree_points_geom_node"(nodeno INTEGER PRIMARY KEY,data)�;;�tablertree_points_geom_rowidrtree_points_geom_rowidCREATE TABLE "rtree_points_geom_rowid"(rowid INTEGER PRIMARY KEY,nodeno)~//�-tablertree_points_geomrtree_points_geomCREATE VIRTUAL TABLE "rtree_points_geom" USING rtree(id, minx, maxx, miny, maxy)=Q+indexsqlite_autoindex_gpkg_extensions_1gpkg_extensions�w++�%tablegpkg_extensionsgpkg_extensionsCREATE TABLE gpkg_extensions (table_name TEXT,column_name TEXT,extension_name TEXT NOT NULL,definition TEXT NOT NULL,scope TEXT NOT NULL,CONSTRAINT ge_tce UNIQUE (table_name, column_name, extension_name))P++Ytablesqlite_sequencesqlite_sequenceCREATE TABLE sqlite_sequence(name,seq)�>�WtablepointspointsCREATE TABLE "points" ( "id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "geom" POINT, "name" TEXT, "elevation" REAL, "active" BOOLEAN, "category" TEXT, "note" TEXT)�YU-�;triggergpkg_tile_matrix_pixel_y_size_updategpkg_tile_matrixCREATE TRIGGER 'gpkg_tile_matrix_pixel_y_size_update' BEFORE UPDATE OF pixel_y_size ON 'gpkg_tile_matrix' FOR EACH ROW BEGIN SELECT RAISE(ABORT, 'update on table ''gpkg_tile_matrix'' violates constraint: pixel_y_size must be greater than 0') WHERE NOT (NEW.pixel_y_size > 0); END�IU-�triggergpkg_tile_matrix_pixel_y_size_insertgpkg_tile_matrixCREATE TRIGGER 'gpkg_tile_matrix_pixel_y_size_insert' BEFORE INSERT ON 'gpkg_tile_matrix' FOR EACH ROW BEGIN SELECT RAISE(ABORT, 'insert on table ''gpkg_tile_matrix'' violates constraint: pixel_y_size must be greater than 0') WHERE NOT (NEW.pixel_y_size > 0); END�YU-�;triggergpkg_tile_matrix_pixel_x_size_updategpkg_tile_matrixCREATE TRIGGER 'gpkg_tile_matrix_pixel_x_size_update' BEFORE UPDATE OF pixel_x_size ON 'gpkg_tile_matrix' FOR EACH ROW BEGIN SELECT RAISE(ABORT, 'update on table ''gpkg_tile_matrix'' violates constraint: pixel_x_size must be greater than 0') WHERE NOT (NEW.pixel_x_size > 0); END�IU-�triggergpkg_tile_matrix_pixel_x_size_insertgpkg_tile_matrixCREATE TRIGGER 'gpkg_tile_matrix_pixel_x_size_insert' BEFORE INSERT ON 'gpkg_tile_matrix' FOR EACH ROW BEGIN SELECT RAISE(ABORT, 'insert on table ''gpkg_tile_matrix'' violates constraint: pixel_x_size must be greater than 0') WHERE NOT (NEW.pixel_x_size > 0); END�YW-�9triggergpkg_tile_matrix_matrix_height_updategpkg_tile_matrixCREATE TRIGGER 'gpkg_tile_matrix_matrix_height_update' BEFORE UPDATE OF matrix_height ON 'gpkg_tile_matrix' FOR EACH ROW BEGIN SELECT RAISE(ABORT, 'update on table ''gpkg_tile_matrix'' violates constraint: matrix_height cannot be less than 1') WHERE (NEW.matrix_height < 1); END�HW-�triggergpkg_tile_matrix_matrix_height_insertgpkg_tile_matrixCREATE TRIGGER 'gpkg_tile_matrix_matrix_height_insert' BEFORE INSERT ON 'gpkg_tile_matrix' FOR EACH ROW BEGIN SELECT RAISE(ABORT, 'insert on table ''gpkg_tile_matrix'' violates constraint: matrix_height cannot be less than 1') WHERE (NEW.matrix_height < 1); END
���Z �5F
GP���(\�va@j�t��A@epsilon?�B8F	GP�ףp=
wa@���Q�A@delta@V9�����Ctower6F	!GP�
ףp=va@H�z��A@gammaAnear river2FGP���Q�va@�x�&1�A@beta@F�����B8F	GP�fffffva@�K7�A�A@alpha@)Afirst
����polygons	lines
points
��E�^-q!polygonsgeomgpkg_rtree_indexhttp://www.geopackage.org/spec120/#extension_rtreewrite-only[-q!linesgeomgpkg_rtree_indexhttp://www.geopackage.org/spec120/#extension_rtreewrite-only\-q!pointsgeomgpkg_rtree_indexhttp://www.geopackage.org/spec120/#extension_rtreewrite-only
����"-polygonsgeomgpkg_rtree_index-linesgeomgpkg_rtree_index-	pointsgeomgpkg_rtree_index
������					
--�P�$C�3C�4B�B�
C��C��B��B��C��C��B�pB�qC�QC�RBBC�zC�{BěBĜ


�O��
%	QV[���?���-;;�'tablertree_lines_geom_parentrtree_lines_geom_parentCREATE TABLE "rtree_lines_geom_parent"(nodeno INTEGER PRIMARY KEY,parentnode)|,77�tablertree_lines_geom_nodertree_lines_geom_nodeCREATE TABLE "rtree_lines_geom_node"(nodeno INTEGER PRIMARY KEY,data)�+99�tablertree_lines_geom_rowidrtree_lines_geom_rowidCREATE TABLE "rtree_lines_geom_rowid"(rowid INTEGER PRIMARY KEY,nodeno){*--�+tablertree_lines_geomrtree_lines_geomCREATE VIRTUAL TABLE "rtree_lines_geom" USING rtree(id, minx, maxx, miny, maxy)�O)�}tablelineslinesCREATE TABLE "lines" ( "fid" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "geom" LINESTRING, "id" MEDIUMINT, "route" TEXT, "speed" REAL, "paved" BOOLEAN, "lanes" MEDIUMINT, "note" TEXT)�x(S�triggertrigger_delete_feature_count_pointspointsCREATE TRIGGER "trigger_delete_feature_count_points" AFTER DELETE ON "points" BEGIN UPDATE gpkg_ogr_contents SET feature_count = feature_count - 1 WHERE lower(table_name) = lower('points'); END�x'S�triggertrigger_insert_feature_count_pointspointsCREATE TRIGGER "trigger_insert_feature_count_points" AFTER INSERT ON "points" BEGIN UPDATE gpkg_ogr_contents SET feature_count = feature_count + 1 WHERE lower(table_name) = lower('points'); END�F&=�Atriggerrtree_points_geom_deletepointsCREATE TRIGGER "rtree_points_geom_delete" AFTER DELETE ON "points" WHEN old."geom" NOT NULL BEGIN DELETE FROM "rtree_points_geom" WHERE id = OLD."id"; END�%?�Ctriggerrtree_points_geom_update4pointsCREATE TRIGGER "rtree_points_geom_update4" AFTER UPDATE ON "points" WHEN OLD."id" != NEW."id" AND (NEW."geom" ISNULL OR ST_IsEmpty(NEW."geom")) BEGIN DELETE FROM "rtree_points_geom" WHERE id IN (OLD."id", NEW."id"); END�$?�Utriggerrtree_points_geom_update5pointsCREATE TRIGGER "rtree_points_geom_update5" AFTER UPDATE ON "points" WHEN OLD."id" != NEW."id" AND (NEW."geom" NOTNULL AND NOT ST_IsEmpty(NEW."geom")) BEGIN DELETE FROM "rtree_points_geom" WHERE id = OLD."id"; INSERT OR REPLACE INTO "rtree_points_geom" VALUES (NEW."id",ST_MinX(NEW."geom"), ST_MaxX(NEW."geom"),ST_MinY(NEW."geom"), ST_MaxY(NEW."geom")); END�#?�;triggerrtree_points_geom_update2pointsCREATE TRIGGER "rtree_points_geom_update2" AFTER UPDATE OF "geom" ON "points" WHEN OLD."id" = NEW."id" AND (NEW."geom" ISNULL OR ST_IsEmpty(NEW."geom")) BEGIN DELETE FROM "rtree_points_geom" WHERE id = OLD."id"; END�"?�Ktriggerrtree_points_geom_update7pointsCREATE TRIGGER "rtree_points_geom_update7" AFTER UPDATE OF "geom" ON "points" WHEN OLD."id" = NEW."id" AND (NEW."geom" NOTNULL AND NOT ST_IsEmpty(NEW."geom")) AND (OLD."geom" ISNULL OR ST_IsEmpty(OLD."geom")) BEGIN INSERT INTO "rtree_points_geom" VALUES (NEW."id",ST_MinX(NEW."geom"), ST_MaxX(NEW."geom"),ST_MinY(NEW."geom"), ST_MaxY(NEW."geom")); END�.!?�triggerrtree_points_geom_update6pointsCREATE TRIGGER "rtree_points_geom_update6" AFTER UPDATE OF "geom" ON "points" WHEN OLD."id" = NEW."id" AND (NEW."geom" NOTNULL AND NOT ST_IsEmpty(NEW."geom")) AND (OLD."geom" NOTNULL AND NOT ST_IsEmpty(OLD."geom")) BEGIN UPDATE "rtree_points_geom" SET minx = ST_MinX(NEW."geom"), maxx = ST_MaxX(NEW."geom"),miny = ST_MinY(NEW."geom"), maxy = ST_MaxY(NEW."geom") WHERE id = NEW."id";END
���z
�N	GP�
ףp=va@��(\�va@ףp=
�A@������A@��(\�va@������A@fffffva@���Q�A@
ףp=va@ףp=
�A@gsouth(expressq
�N	GP�fffffva@���(\wa@H�z��A@H�z��A@fffffva@H�z��A@{�G�va@H�z��A@���(\wa@H�z��A@feast2w
�N	GP��G�zva@��Q�va@ףp=
�A@���Q�A@�G�zva@ףp=
�A@fffffva@H�z��A@��Q�va@���Q�A@enorthmain
����			
--�P�$C��C��B�QBC�3C��B�pB�qC��C�{B�QB��

m
��

�	�I?z���lX��Z7�tablepolygonspolygonsCREATE TABLE "polygons" ( "fid" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "geom" POLYGON, "id" MEDIUMINT, "zone" TEXT, "population" MEDIUMINT, "density" REAL, "flag" BOOLEAN, "note" TEXT)�s6Q�	triggertrigger_delete_feature_count_lineslinesCREATE TRIGGER "trigger_delete_feature_count_lines" AFTER DELETE ON "lines" BEGIN UPDATE gpkg_ogr_contents SET feature_count = feature_count - 1 WHERE lower(table_name) = lower('lines'); END�s5Q�	triggertrigger_insert_feature_count_lineslinesCREATE TRIGGER "trigger_insert_feature_count_lines" AFTER INSERT ON "lines" BEGIN UPDATE gpkg_ogr_contents SET feature_count = feature_count + 1 WHERE lower(table_name) = lower('lines'); END�B4;�=triggerrtree_lines_geom_deletelinesCREATE TRIGGER "rtree_lines_geom_delete" AFTER DELETE ON "lines" WHEN old."geom" NOT NULL BEGIN DELETE FROM "rtree_lines_geom" WHERE id = OLD."fid"; END�3=�Etriggerrtree_lines_geom_update4linesCREATE TRIGGER "rtree_lines_geom_update4" AFTER UPDATE ON "lines" WHEN OLD."fid" != NEW."fid" AND (NEW."geom" ISNULL OR ST_IsEmpty(NEW."geom")) BEGIN DELETE FROM "rtree_lines_geom" WHERE id IN (OLD."fid", NEW."fid"); END�2=�Utriggerrtree_lines_geom_update5linesCREATE TRIGGER "rtree_lines_geom_update5" AFTER UPDATE ON "lines" WHEN OLD."fid" != NEW."fid" AND (NEW."geom" NOTNULL AND NOT ST_IsEmpty(NEW."geom")) BEGIN DELETE FROM "rtree_lines_geom" WHERE id = OLD."fid"; INSERT OR REPLACE INTO "rtree_lines_geom" VALUES (NEW."fid",ST_MinX(NEW."geom"), ST_MaxX(NEW."geom"),ST_MinY(NEW."geom"), ST_MaxY(NEW."geom")); END�1=�;triggerrtree_lines_geom_update2linesCREATE TRIGGER "rtree_lines_geom_update2" AFTER UPDATE OF "geom" ON "lines" WHEN OLD."fid" = NEW."fid" AND (NEW."geom" ISNULL OR ST_IsEmpty(NEW."geom")) BEGIN DELETE FROM "rtree_lines_geom" WHERE id = OLD."fid"; END�
0=�Ktriggerrtree_lines_geom_update7linesCREATE TRIGGER "rtree_lines_geom_update7" AFTER UPDATE OF "geom" ON "lines" WHEN OLD."fid" = NEW."fid" AND (NEW."geom" NOTNULL AND NOT ST_IsEmpty(NEW."geom")) AND (OLD."geom" ISNULL OR ST_IsEmpty(OLD."geom")) BEGIN INSERT INTO "rtree_lines_geom" VALUES (NEW."fid",ST_MinX(NEW."geom"), ST_MaxX(NEW."geom"),ST_MinY(NEW."geom"), ST_MaxY(NEW."geom")); END��,/=�triggerrtree_lines_geom_update6linesCREATE TRIGGER "rtree_lines_geom_update6" AFTER UPDATE OF "geom" ON "lines" WHEN OLD."fid" = NEW."fid" AND (NEW."geom" NOTNULL AND NOT ST_IsEmpty(NEW."geom")) AND (OLD."geom" NOTNULL AND NOT ST_IsEmpty(OLD."geom")) BEGIN UPDATE "rtree_lines_geom" SET minx = ST_MinX(NEW."geom"), maxx = ST_MaxX(NEW."geom"),miny = ST_MinY(NEW."geom"), maxy = ST_MaxY(NEW."geom") WHERE id = NEW."fid";END�>.;�5triggerrtree_lines_geom_insertlinesCREATE TRIGGER "rtree_lines_geom_insert" AFTER INSERT ON "lines" WHEN (new."geom" NOT NULL AND NOT ST_IsEmpty(NEW."geom")) BEGIN INSERT OR REPLACE INTO "rtree_lines_geom" VALUES (NEW."fid",ST_MinX(NEW."geom"), ST_MaxX(NEW."geom"),ST_MinY(NEW."geom"), ST_MaxY(NEW."geom")); END
�R��
�!GP���Q�va@33333wa@fffff�A@���Q�A@��Q�va@fffff�A@33333wa@fffff�A@33333wa@���Q�A@��Q�va@���Q�A@��Q�va@fffff�A@�industrial,x�+
�#	GP��G�zva@fffffva@)\����A@
ףp=�A@�G�zva@)\����A@fffffva@)\����A@fffffva@
ףp=�A@�G�zva@
ףp=�A@�G�zva@)\����A@�residential�@u�quiet
���		
--�P�$C��C�4BǮB��C��C��B�3B


xy�e
��
�	'oV�}x�DW�triggertrigger_delete_feature_count_polygonspolygonsCREATE TRIGGER "trigger_delete_feature_count_polygons" AFTER DELETE ON "polygons" BEGIN UPDATE gpkg_ogr_contents SET feature_count = feature_count - 1 WHERE lower(table_name) = lower('polygons'); END�CW�triggertrigger_insert_feature_count_polygonspolygonsCREATE TRIGGER "trigger_insert_feature_count_polygons" AFTER INSERT ON "polygons" BEGIN UPDATE gpkg_ogr_contents SET feature_count = feature_count + 1 WHERE lower(table_name) = lower('polygons'); END�QBA�Otriggerrtree_polygons_geom_deletepolygonsCREATE TRIGGER "rtree_polygons_geom_delete" AFTER DELETE ON "polygons" WHEN old."geom" NOT NULL BEGIN DELETE FROM "rtree_polygons_geom" WHERE id = OLD."fid"; END�AC�Wtriggerrtree_polygons_geom_update4polygonsCREATE TRIGGER "rtree_polygons_geom_update4" AFTER UPDATE ON "polygons" WHEN OLD."fid" != NEW."fid" AND (NEW."geom" ISNULL OR ST_IsEmpty(NEW."geom")) BEGIN DELETE FROM "rtree_polygons_geom" WHERE id IN (OLD."fid", NEW."fid"); END�!@C�mtriggerrtree_polygons_geom_update5polygonsCREATE TRIGGER "rtree_polygons_geom_update5" AFTER UPDATE ON "polygons" WHEN OLD."fid" != NEW."fid" AND (NEW."geom" NOTNULL AND NOT ST_IsEmpty(NEW."geom")) BEGIN DELETE FROM "rtree_polygons_geom" WHERE id = OLD."fid"; INSERT OR REPLACE INTO "rtree_polygons_geom" VALUES (NEW."fid",ST_MinX(NEW."geom"), ST_MaxX(NEW."geom"),ST_MinY(NEW."geom"), ST_MaxY(NEW."geom")); END�?C�Mtriggerrtree_polygons_geom_update2polygonsCREATE TRIGGER "rtree_polygons_geom_update2" AFTER UPDATE OF "geom" ON "polygons" WHEN OLD."fid" = NEW."fid" AND (NEW."geom" ISNULL OR ST_IsEmpty(NEW."geom")) BEGIN DELETE FROM "rtree_polygons_geom" WHERE id = OLD."fid"; END�>C�]triggerrtree_polygons_geom_update7polygonsCREATE TRIGGER "rtree_polygons_geom_update7" AFTER UPDATE OF "geom" ON "polygons" WHEN OLD."fid" = NEW."fid" AND (NEW."geom" NOTNULL AND NOT ST_IsEmpty(NEW."geom")) AND (OLD."geom" ISNULL OR ST_IsEmpty(OLD."geom")) BEGIN INSERT INTO "rtree_polygons_geom" VALUES (NEW."fid",ST_MinX(NEW."geom"), ST_MaxX(NEW."geom"),ST_MinY(NEW."geom"), ST_MaxY(NEW."geom")); END�;=C�!triggerrtree_polygons_geom_update6polygonsCREATE TRIGGER "rtree_polygons_geom_update6" AFTER UPDATE OF "geom" ON "polygons" WHEN OLD."fid" = NEW."fid" AND (NEW."geom" NOTNULL AND NOT ST_IsEmpty(NEW."geom")) AND (OLD."geom" NOTNULL AND NOT ST_IsEmpty(OLD."geom")) BEGIN UPDATE "rtree_polygons_geom" SET minx = ST_MinX(NEW."geom"), maxx = ST_MaxX(NEW."geom"),miny = ST_MinY(NEW."geom"), maxy = ST_MaxY(NEW."geom") WHERE id = NEW."fid";END�M<A�Gtriggerrtree_polygons_geom_insertpolygonsCREATE TRIGGER "rtree_polygons_geom_insert" AFTER INSERT ON "polygons" WHEN (new."geom" NOT NULL AND NOT ST_IsEmpty(NEW."geom")) BEGIN INSERT OR REPLACE INTO "rtree_polygons_geom" VALUES (NEW."fid",ST_MinX(NEW."geom"), ST_MaxX(NEW."geom"),ST_MinY(NEW."geom"), ST_MaxY(NEW."geom")); END�;AA�-tablertree_polygons_geom_parentrtree_polygons_geom_parent!CREATE TABLE "rtree_polygons_geom_parent"(nodeno INTEGER PRIMARY KEY,parentnode)�:==�tablertree_polygons_geom_nodertree_polygons_geom_node CREATE TABLE "rtree_polygons_geom_node"(nodeno INTEGER PRIMARY KEY,data)�	9??�!tablertree_polygons_geom_rowidrtree_polygons_geom_rowidCREATE TABLE "rtree_polygons_geom_rowid"(rowid INTEGER PRIMARY KEY,nodeno)�833�1tablertree_polygons_geomrtree_polygons_geomCREATE VIRTUAL TABLE "rtree_polygons_geom" USING rtree(id, minx, maxx, miny, maxy)