Hello, I’m developing an app with spatialite (package jsqlite) tileview AND dynamic dialogs from GIS Server. I created Spatialite on Android from a Sqlite-Database with WKT.
On short: dbsqlite.prepare("SELECT InitSpatialMetaData();").step(); dbsqlite.prepare("BEGIN ;").step(); for (String name : lst_tables) { dbsqlite.prepare("SELECT AddGeometryColumn('" + name + "','GEOMETRY'," + code + ",'GEOMETRY', 'XY',0)").step(); dbsqlite.prepare("UPDATE " + name + " SET GEOMETRY=(GeomFromText(WKT," + code + "))").step(); } dbsqlite.prepare("COMMIT ;").step(); works fine. BUT now my problem: I want to insert data to sqlite/spatialite with SQLiteOpenHelper For a simple, I'll create a simple record where I set only the most necessary values. ID, INSERT_DATE, INSERT_USER After that I want update for record with all other columns. But now an essential problem. While inserting new a record *with or without* geometry I get an exception: *no such function: GeometryConstraints (code 1): , while compiling: *INSERT INTO MYTABLE (FID, INSERTDAT,INSERTUSER,ANDROID) VALUES ('-1','2018-02-27','Username,'2'); INSERT INTO MYTABLE (FID, INSERTDAT,INSERTUSER,ANDROID, GEOMETRY) VALUES ('-1','2018-02-27','Username','2',*ST_POINT*(-1,-1)); INSERT INTO MYTABLE (FID, INSERTDAT,INSERTUSER,ANDROID, GEOMETRY) VALUES ('-1','2018-02-27','Username','2',*MakePoint*(-1,-1,25832)); I created: SELECT AddGeometryColumn('TABLENAME','GEOMETRY',25832,'GEOMETRY', 'XY',*0*) SELECT AddGeometryColumn('test_geom', ‚GEOM‘, 4326, 'POINT', 'XY', *0*); https://www.gaia-gis.it/gaia-sins/spatialite-cookbook/html/new-geom.html Now I tested all 3 ways (nothing, 0, 1) Everytime same result. I’ve seen, trigger working on every update and not only while updating GEOMETRY-column. Is this a good idea? It didn't work. DROP TRIGGER ggi_MYTABLE_GEOMETRY; CREATE TRIGGER ggi_MYTABLE_GEOMETRY BEFORE INSERT ON MYTABLE FOR EACH ROW BEGIN SELECT RAISE(ROLLBACK, 'MYTABLE.GEOMETRY violates Geometry constraint [geom-type or SRID not allowed]') WHERE *NEW.GEOMETRY notnull AND *(SELECT geometry_type FROM geometry_columns WHERE Lower(f_table_name) = Lower('WA_VALVE') AND Lower(f_geometry_column) = Lower('GEOMETRY') AND GeometryConstraints(NEW.GEOMETRY, geometry_type, srid) = 1) IS NULL; END; Or do you have an other idea for me? Thanks Regards, Jan -- You received this message because you are subscribed to the Google Groups "Android Developers" group. To unsubscribe from this group and stop receiving emails from it, send an email to android-developers+unsubscr...@googlegroups.com. To post to this group, send email to android-developers@googlegroups.com. Visit this group at https://groups.google.com/group/android-developers. To view this discussion on the web visit https://groups.google.com/d/msgid/android-developers/c296e8af-fb13-423f-bb8f-6445ba45efe1%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.