Revision: 4632
          http://sourceforge.net/p/jump-pilot/code/4632
Author:   edso
Date:     2015-12-18 11:09:11 +0000 (Fri, 18 Dec 2015)
Log Message:
-----------
fix "SQLITE_ERROR] SQL error or missing database (wrong number of arguments to 
function st_envIntersects())"

Modified Paths:
--------------
    
core/trunk/src/com/vividsolutions/jump/datastore/spatialite/SpatialiteSQLBuilder.java

Modified: 
core/trunk/src/com/vividsolutions/jump/datastore/spatialite/SpatialiteSQLBuilder.java
===================================================================
--- 
core/trunk/src/com/vividsolutions/jump/datastore/spatialite/SpatialiteSQLBuilder.java
       2015-12-18 09:00:44 UTC (rev 4631)
+++ 
core/trunk/src/com/vividsolutions/jump/datastore/spatialite/SpatialiteSQLBuilder.java
       2015-12-18 11:09:11 UTC (rev 4632)
@@ -1,5 +1,7 @@
 package com.vividsolutions.jump.datastore.spatialite;
 
+import java.util.Locale;
+
 import com.vividsolutions.jts.geom.Envelope;
 import com.vividsolutions.jump.datastore.FilterQuery;
 import com.vividsolutions.jump.datastore.SpatialReferenceSystemID;
@@ -94,14 +96,15 @@
     if (dsm.isSpatialiteLoaded()) {
         GeometricColumnType gcType = dsm.getGeoColTypesdMap().get(
             query.getDatasetName().toLowerCase() + "." + 
query.getGeometryAttributeName().toLowerCase());
+        // use Locale.US to enforce floating point number with a dot separator
         if (gcType == GeometricColumnType.SPATIALITE) {
-            ret = String.format("st_envIntersects(%s, %f,%f,%f,%f)", 
query.getGeometryAttributeName(), env.getMinX(),
+            ret = String.format(Locale.US, "st_envIntersects(%s, 
%f,%f,%f,%f)", query.getGeometryAttributeName(), env.getMinX(),
                     env.getMinY(), env.getMaxX(), env.getMaxY());
         } else if (gcType == GeometricColumnType.WKB) {
-            ret = String.format("st_envIntersects(st_geomFromWkb(%s), 
%f,%f,%f,%f)", query.getGeometryAttributeName(), env.getMinX(),
+            ret = String.format(Locale.US, 
"st_envIntersects(st_geomFromWkb(%s), %f,%f,%f,%f)", 
query.getGeometryAttributeName(), env.getMinX(),
                     env.getMinY(), env.getMaxX(), env.getMaxY());
         } else if (gcType == GeometricColumnType.WKT) {
-            ret = String.format("st_envIntersects(st_geomFromText(%s), 
%f,%f,%f,%f)", query.getGeometryAttributeName(), env.getMinX(),
+            ret = String.format(Locale.US, 
"st_envIntersects(st_geomFromText(%s), %f,%f,%f,%f)", 
query.getGeometryAttributeName(), env.getMinX(),
                     env.getMinY(), env.getMaxX(), env.getMaxY());
         } else {
             // TODO: log


------------------------------------------------------------------------------
_______________________________________________
Jump-pilot-devel mailing list
Jump-pilot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel

Reply via email to