Revision 14047 branches/v10/extensions/extOracleSpatial/src/es/prodevelop/cit/gvsig/fmap/drivers/jdbc/oracle/OracleSpatialDriver.java
OracleSpatialDriver.java | ||
---|---|---|
175 | 175 |
public static final int GEODETIC_FULLEXTENT_SAMPLE_SIZE = 50; |
176 | 176 |
public static final String GEODETIC_SRID = "8307"; |
177 | 177 |
public static final String ASSUMED_ORACLE_SRID = "8307"; |
178 |
|
|
178 |
|
|
179 | 179 |
// ------------------------------------------------ |
180 | 180 |
public static final String NAME = "Oracle Spatial Database Driver"; |
181 | 181 |
public static final int ID_COLUMN_INDEX = 1; |
... | ... | |
684 | 684 |
} |
685 | 685 |
|
686 | 686 |
private int getShapeTypeOfStruct(STRUCT sample) throws SQLException { |
687 |
int code = ((NUMBER) sample.getOracleAttributes()[0]).intValue() % 10; |
|
688 | 687 |
|
689 |
switch (code) { |
|
688 |
int code = ((NUMBER) sample.getOracleAttributes()[0]).intValue(); |
|
689 |
|
|
690 |
int type_part = code % 10; |
|
691 |
int dim_part = code / 1000; |
|
692 |
|
|
693 |
int z_added = 0; |
|
694 |
if ((dim_part == 3) || (dim_part == 4)) { |
|
695 |
z_added = 512; |
|
696 |
} |
|
697 |
|
|
698 |
switch (type_part) { |
|
690 | 699 |
case 1: |
691 |
return FShape.POINT; |
|
700 |
return z_added + FShape.POINT;
|
|
692 | 701 |
|
693 | 702 |
case 2: |
694 |
return FShape.LINE; |
|
703 |
return z_added + FShape.LINE;
|
|
695 | 704 |
|
696 | 705 |
case 3: |
697 |
return FShape.POLYGON; |
|
706 |
return z_added + FShape.POLYGON;
|
|
698 | 707 |
|
699 | 708 |
case 4: |
700 |
return FShape.MULTI; |
|
709 |
return z_added + FShape.MULTI;
|
|
701 | 710 |
|
702 | 711 |
case 5: |
703 |
return FShape.MULTIPOINT; |
|
712 |
return z_added + FShape.MULTIPOINT;
|
|
704 | 713 |
|
705 | 714 |
case 6: |
706 |
return FShape.LINE; |
|
715 |
return z_added + FShape.LINE;
|
|
707 | 716 |
|
708 | 717 |
case 7: |
709 |
return FShape.POLYGON; |
|
718 |
return z_added + FShape.POLYGON;
|
|
710 | 719 |
} |
711 | 720 |
|
712 | 721 |
logger.error("Unknown geometry type: " + code); |
Also available in: Unified diff