Revision 27300 trunk/libraries/libGPE-GML/src/org/gvsig/gpe/gml/parser/sfp0/coordinates/PosListTypeIterator.java
PosListTypeIterator.java | ||
---|---|---|
31 | 31 |
if (CompareUtils.compareWithNamespace(parser.getAttributeName(i),GMLTags.GML_DIMENSION)){ |
32 | 32 |
dimension = Integer.valueOf(parser.getAttributeValue(i)).intValue(); |
33 | 33 |
} |
34 |
} |
|
34 |
} |
|
35 |
|
|
36 |
if (dimension == -1){ |
|
37 |
dimension = 2; |
|
38 |
} |
|
35 | 39 |
|
36 | 40 |
QName tag = parser.getName(); |
37 | 41 |
currentTag = parser.getEventType(); |
... | ... | |
72 | 76 |
* @see org.gvsig.gpe.parser.ICoordinateIterator#next(double[]) |
73 | 77 |
*/ |
74 | 78 |
public void next(double[] buffer) throws IOException { |
75 |
String next = coordinatesString.nextToken(); |
|
76 |
int coordenada = 0; |
|
77 |
|
|
78 |
switch (coordenada){ |
|
79 |
case 0: |
|
80 |
buffer[0] = DoubleTypeBinding.parse(next,COORDINATES_DECIMAL); |
|
81 |
coordenada ++; |
|
82 |
next = coordinatesString.nextToken(); |
|
83 |
break; |
|
84 |
case 1: |
|
85 |
buffer[1] = DoubleTypeBinding.parse(next,COORDINATES_DECIMAL); |
|
86 |
coordenada ++; |
|
87 |
coordinatesString.hasMoreTokens(); |
|
88 |
next = coordinatesString.nextToken(); |
|
89 |
break; |
|
90 |
case 2: |
|
91 |
if (dimension == 3){ |
|
92 |
buffer[2] = DoubleTypeBinding.parse(next,COORDINATES_DECIMAL); |
|
93 |
coordinatesString.hasMoreTokens(); |
|
79 |
String next = null; |
|
80 |
for (int i=0 ; i<dimension ; i++){ |
|
81 |
if (i != 0){ |
|
82 |
if (coordinatesString.hasMoreTokens()){ |
|
83 |
next = coordinatesString.nextToken(); |
|
84 |
}else{ |
|
85 |
return; |
|
86 |
} |
|
87 |
}else{ |
|
94 | 88 |
next = coordinatesString.nextToken(); |
95 | 89 |
} |
96 |
coordenada=0; |
|
97 |
break; |
|
90 |
buffer[i] = DoubleTypeBinding.parse(next,COORDINATES_DECIMAL); |
|
98 | 91 |
} |
99 | 92 |
} |
100 | 93 |
} |
Also available in: Unified diff