Revision 40034
trunk/extensions/extJDBC/src/com/iver/cit/gvsig/fmap/drivers/jdbc/postgis/PostGisDriver.java | ||
---|---|---|
327 | 327 |
try { |
328 | 328 |
Statement s = ((ConnectionJDBC) conn).getConnection() |
329 | 329 |
.createStatement(); |
330 |
String query = "SELECT extent(\"" |
|
330 |
String query = "SELECT ST_extent(\""
|
|
331 | 331 |
+ getLyrDef().getFieldGeometry() |
332 | 332 |
+ "\") AS FullExtent FROM " + getLyrDef().getComposedTableName() |
333 | 333 |
+ " " + getCompleteWhere(); |
... | ... | |
440 | 440 |
double yMin = r.getMinY(); |
441 | 441 |
double xMax = r.getMaxX(); |
442 | 442 |
double yMax = r.getMaxY(); |
443 |
String wktBox = "GeometryFromText('LINESTRING(" + xMin + " " + yMin |
|
443 |
String wktBox = "ST_GeometryFromText('LINESTRING(" + xMin + " " + yMin
|
|
444 | 444 |
+ ", " + xMax + " " + yMin + ", " + xMax + " " + yMax + ", " |
445 | 445 |
+ xMin + " " + yMax + ")', " + strEPSG + ")"; |
446 | 446 |
String sqlAux; |
... | ... | |
756 | 756 |
* @see com.iver.cit.gvsig.fmap.drivers.IVectorialDatabaseDriver#getGeometryField(java.lang.String) |
757 | 757 |
*/ |
758 | 758 |
public String getGeometryField(String fieldName) { |
759 |
return "AsEWKB(\"" + fieldName + "\", 'XDR')"; |
|
759 |
return "ST_AsEWKB(\"" + fieldName + "\", 'XDR')";
|
|
760 | 760 |
} |
761 | 761 |
|
762 | 762 |
/** |
trunk/extensions/extJDBC/src/com/iver/cit/gvsig/fmap/drivers/jdbc/postgis/PostGIS.java | ||
---|---|---|
306 | 306 |
throw new ProcessVisitorException("incorrect_geometry",new Exception()); |
307 | 307 |
//MCoord |
308 | 308 |
if (((type & FShape.M) != 0) && ((type & FShape.MULTIPOINT) == 0)) { |
309 |
sqlBuf.append(" GeometryFromText( '" |
|
309 |
sqlBuf.append(" ST_GeometryFromText( '"
|
|
310 | 310 |
+ ((FShapeM)geometry.getInternalShape()).toText() + "', " |
311 | 311 |
+ DefaultJDBCDriver.removePrefix(dbLayerDef.getSRID_EPSG()) + ")"); |
312 | 312 |
} else |
... | ... | |
334 | 334 |
//With st_force_3d it is avoid |
335 | 335 |
if (dbLayerDef.getDimension() == 3) sqlBuf.append("ST_Force_3D ("); |
336 | 336 |
|
337 |
sqlBuf.append(" GeometryFromText( '" |
|
337 |
sqlBuf.append(" ST_GeometryFromText( '"
|
|
338 | 338 |
+ jtsGeom.toText() + "', " |
339 | 339 |
+ DefaultJDBCDriver.removePrefix(dbLayerDef.getSRID_EPSG()) + ")"); |
340 | 340 |
|
... | ... | |
421 | 421 |
//MCoord |
422 | 422 |
int type = feat.getGeometry().getGeometryType(); |
423 | 423 |
if (((type & FShape.M) != 0) && ((type & FShape.MULTIPOINT) == 0)) { |
424 |
sqlBuf.append(" GeometryFromText( '" |
|
424 |
sqlBuf.append(" ST_GeometryFromText( '"
|
|
425 | 425 |
+ ((FShapeM)feat.getGeometry().getInternalShape()).toText() + "', " |
426 | 426 |
+ DefaultJDBCDriver.removePrefix(dbLayerDef.getSRID_EPSG()) + ")"); |
427 | 427 |
} else |
... | ... | |
432 | 432 |
//TODO: Metodo toText 3D o 2DM |
433 | 433 |
} else { |
434 | 434 |
//Its not a multipoint |
435 |
sqlBuf.append(" GeometryFromText( '" |
|
435 |
sqlBuf.append(" ST_GeometryFromText( '"
|
|
436 | 436 |
+ ((FShape3D)feat.getGeometry().getInternalShape()).toText() + "', " |
437 | 437 |
+ DefaultJDBCDriver.removePrefix(dbLayerDef.getSRID_EPSG()) + ")"); |
438 | 438 |
} |
... | ... | |
446 | 446 |
//With st_force_3d it is avoid |
447 | 447 |
if (dbLayerDef.getDimension() == 3) sqlBuf.append("ST_Force_3D ("); |
448 | 448 |
|
449 |
sqlBuf.append(" GeometryFromText( '" |
|
449 |
sqlBuf.append(" ST_GeometryFromText( '"
|
|
450 | 450 |
+ feat.getGeometry().toJTSGeometry().toText() + "', " |
451 | 451 |
+ DefaultJDBCDriver.removePrefix(dbLayerDef.getSRID_EPSG()) + ")"); |
452 | 452 |
|
Also available in: Unified diff