[Dive4elements-commits] [PATCH] SCHEME CHANGE: Hydr.Boundaries are now three dimensional multilinestrings
Wald Commits
scm-commit at wald.intevation.org
Thu Mar 7 10:53:58 CET 2013
# HG changeset patch
# User Andre Heinecke <aheinecke at intevation.de>
# Date 1362650024 -3600
# Node ID 8aac391871f9fb1175529ddb8812af0d9711fecd
# Parent 9d36ddf7dbd311e85973412108d06984858484cf
SCHEME CHANGE: Hydr.Boundaries are now three dimensional multilinestrings
diff -r 9d36ddf7dbd3 -r 8aac391871f9 flys-backend/contrib/shpimporter/boundaries.py
--- a/flys-backend/contrib/shpimporter/boundaries.py Thu Mar 07 10:44:27 2013 +0100
+++ b/flys-backend/contrib/shpimporter/boundaries.py Thu Mar 07 10:53:44 2013 +0100
@@ -4,6 +4,7 @@
import ogr
from importer import Importer
+import utils
TABLE_NAME="hydr_boundaries"
TABLE_NAME_POLY="hydr_boundaries_poly"
@@ -23,7 +24,10 @@
return NAME
def isGeometryValid(self, geomType):
- return geomType == ogr.wkbLineString
+ return geomType in [ogr.wkbLineString,
+ ogr.wkbLineString25D,
+ ogr.wkbMultiLineString25D,
+ ogr.wkbMultiLineString]
def isShapeRelevant(self, name, path):
shp = ogr.Open(path)
@@ -48,7 +52,7 @@
newFeat = ogr.Feature(featureDef)
geometry = feat.GetGeometryRef()
- geometry.SetCoordinateDimension(2)
+ geometry.SetCoordinateDimension(3)
newFeat.SetGeometry(geometry)
newFeat.SetField("name", args['name'])
@@ -64,7 +68,7 @@
else:
newFeat.SetField("river_id", self.river_id)
- return newFeat
+ return utils.convertToMultiLine(newFeat)
class HydrBoundaryPoly(HydrBoundary):
diff -r 9d36ddf7dbd3 -r 8aac391871f9 flys-backend/doc/schema/oracle-spatial_idx.sql
--- a/flys-backend/doc/schema/oracle-spatial_idx.sql Thu Mar 07 10:44:27 2013 +0100
+++ b/flys-backend/doc/schema/oracle-spatial_idx.sql Thu Mar 07 10:53:44 2013 +0100
@@ -22,7 +22,7 @@
-- TODO: index prevents importing on 11g.
-- Error: "Ebenendimensionalitat stimmt nicht mit Geometrie-Dimensionen uberein"
--- CREATE INDEX hydr_boundaries_idx ON hydr_boundaries(GEOM) indextype IS MDSYS.SPATIAL_INDEX parameters ('LAYER_GTYPE=LINE');
+-- CREATE INDEX hydr_boundaries_idx ON hydr_boundaries(GEOM) indextype IS MDSYS.SPATIAL_INDEX parameters ('LAYER_GTYPE=MULTILINE');
CREATE INDEX hws_points_spatial_idx ON hws_points(GEOM) indextype IS MDSYS.SPATIAL_INDEX parameters ('LAYER_GTYPE=POINT');
CREATE INDEX hws_lines_spatial_idx ON hws_lines(GEOM) indextype IS MDSYS.SPATIAL_INDEX parameters ('LAYER_GTYPE=MULTILINE');
diff -r 9d36ddf7dbd3 -r 8aac391871f9 flys-backend/doc/schema/postgresql-spatial.sql
--- a/flys-backend/doc/schema/postgresql-spatial.sql Thu Mar 07 10:44:27 2013 +0100
+++ b/flys-backend/doc/schema/postgresql-spatial.sql Thu Mar 07 10:53:44 2013 +0100
@@ -255,7 +255,7 @@
sobek int REFERENCES sobek_kinds(id),
path VARCHAR(256)
);
-SELECT AddGeometryColumn('hydr_boundaries','geom',31467,'LINESTRING',3);
+SELECT AddGeometryColumn('hydr_boundaries','geom',31467,'MULTILINESTRING',3);
ALTER TABLE hydr_boundaries ALTER COLUMN id SET DEFAULT NEXTVAL('HYDR_BOUNDARIES_ID_SEQ');
diff -r 9d36ddf7dbd3 -r 8aac391871f9 flys-backend/src/main/java/de/intevation/flys/model/HydrBoundary.java
--- a/flys-backend/src/main/java/de/intevation/flys/model/HydrBoundary.java Thu Mar 07 10:44:27 2013 +0100
+++ b/flys-backend/src/main/java/de/intevation/flys/model/HydrBoundary.java Thu Mar 07 10:53:44 2013 +0100
@@ -17,7 +17,7 @@
import org.hibernate.Query;
import org.hibernate.annotations.Type;
-import com.vividsolutions.jts.geom.LineString;
+import com.vividsolutions.jts.geom.MultiLineString;
import de.intevation.flys.backend.SessionHolder;
@@ -32,7 +32,7 @@
private SobekKind sobek;
private String name;
private River river;
- private LineString geom;
+ private MultiLineString geom;
private BoundaryKind kind;
public HydrBoundary() {
@@ -82,12 +82,12 @@
@Column(name = "geom")
@Type(type = "org.hibernatespatial.GeometryUserType")
- public LineString getGeom() {
+ public MultiLineString getGeom() {
return geom;
}
- public void setGeom(LineString geom) {
+ public void setGeom(MultiLineString geom) {
this.geom = geom;
}
More information about the Dive4elements-commits
mailing list