Ooops, missed your self reply :). Glad you fixed the problem. Thanks for
submitting the patch!
-Justin
Tobia Di Pisa wrote:
> I have modified the JDBCTextFeatureWriter.addQuotes() method to fix this
> problem:
>
>
> ...
>
> protected String addQuotes(Object value) {
> String retString;
>
> if (value != null) {
> if(value instanceof Number)
> if(Double.isNaN(((Number)value).doubleValue()))
> retString ="'" + value.toString() + "'";
> else
> retString = value.toString();
> else
> retString = "'" + doubleQuote(value) + "'";
> } else {
> retString = "null";
> }
>
> return retString;
> }
>
> ...
>
> I have inserted the particular TestCase with JUnit in postgis plugin in
> order to verify
> the change (the TestCase is PGDataStoreTest). Inside the PGDataStoreTest
> class
> i have tested a will both the insertion of float that of double values.
> I have also created a new issue in jira.codehaus.org
> <http://jira.codehaus.org>.
>
> Thanks Andrea for the help.
>
>
> best regards,
>
> Tobia Di Pisa
>
>
>
>
> 2009/3/30 Tobia Di Pisa <[email protected]
> <mailto:[email protected]>>
>
> Hi all,
>
> I have already sent you a mail to explain the problem I have found
> inserting some data in a table,
> whose attributes are of type "double precision". The database to
> which the table belongs is of type PostGIS.
> As I have sad in the previous mail I have initially used the library
> geotools 2.4-RC0. Andrea Aime has
> answered me saying that this kind of library is too old and he
> suggested me to replace it with the trunk.
>
> For my project I have to use the stable version 2.5.3 with whom
> there is the same error.
>
> The code I am using now is the following:
>
>
> ...
>
> Map params = new HashMap();
> params.put("dbtype", "postgis"); //must be postgis
> params.put("host", "localhost"); //the name or ip address of
> the machine running PostGIS
> params.put("port", new Integer(5432)); //the port that PostGIS is
> running on (generally 5432)
> params.put("database", "testdb"); //the name of the database
> to connect to.
> params.put("user", "postgres"); //the user to connect with
> params.put("passwd", "tobaro"); //the password of the user.
>
> DataStore pgDataStore = DataStoreFinder.getDataStore(params);
>
> FeatureWriter aWriter = pgDataStore.getFeatureWriter("measurements",
> Transaction.AUTO_COMMIT);
>
>
> for(int y=0; y<measurements; y++){
> SimpleFeature aNewFeature = (SimpleFeature)aWriter.next();
>
>
> aNewFeature.setAttribute("dist", dist[y].doubleValue());
> aNewFeature.setAttribute("cond", cond[y].doubleValue());
>
> ...
>
> aWriter.write();
> }
>
> aWriter.close();
>
> ...
>
>
> The problem always concerns the case in which dist[y] or cond[y]
> contain 'NaN'.
> In this case the application finishes abruptly showing the following
> error in console:
>
>
> 25-mar-2009 17.56.00 org.geotools.data.jdbc.JDBCTextFeatureWriter
> doInsert
> GRAVE: SQL Exception writing geometry columnERROR: column "nan" does
> not exist
> org.postgresql.util.PSQLException: ERROR: column "nan" does not exist
> at
>
> org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:1525)
> at
>
> org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:1309)
> at
>
> org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:188)
> at
>
> org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:452)
> at
>
> org.postgresql.jdbc2.AbstractJdbc2Statement.executeWithFlags(AbstractJdbc2Statement.java:340)
> at
>
> org.postgresql.jdbc2.AbstractJdbc2Statement.executeUpdate(AbstractJdbc2Statement.java:286)
> at
>
> org.apache.commons.dbcp.DelegatingStatement.executeUpdate(DelegatingStatement.java:228)
> at
>
> org.geotools.data.jdbc.JDBCTextFeatureWriter.doInsert(JDBCTextFeatureWriter.java:117)
> at
> org.geotools.data.jdbc.JDBCFeatureWriter.write(JDBCFeatureWriter.java:216)
> at
>
> org.geotools.data.InProcessLockingManager$1.write(InProcessLockingManager.java:330)
> at test.NETcdfPGDataStore.main(NETcdfPGDataStore.java:261)
> 17:56:00,680 ERROR NETcdfPGDataStore:267 -
> org.geotools.data.DataSourceException: SQL Exception writing
> geometry columnERROR: column "nan" does not exist
>
>
> In all the other cases the records are correctly inserted in the table.
> Could you give me any indications to resolve this problem?
>
>
> Best regards,
> Tobia Di Pisa
>
>
>
> ------------------------------------------------------------------------
>
> ------------------------------------------------------------------------------
>
>
> ------------------------------------------------------------------------
>
> _______________________________________________
> Geotools-gt2-users mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/geotools-gt2-users
--
Justin Deoliveira
OpenGeo - http://opengeo.org
Enterprise support for open source geospatial.
------------------------------------------------------------------------------
_______________________________________________
Geotools-gt2-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/geotools-gt2-users