Revision 19680 trunk/libraries/libGPE-KML/src/org/gvsig/gpe/kml/parser/v21/geometries/PolygonTypeBinding.java
PolygonTypeBinding.java | ||
---|---|---|
4 | 4 |
|
5 | 5 |
import org.gvsig.gpe.kml.parser.GPEDeafultKmlParser; |
6 | 6 |
import org.gvsig.gpe.kml.utils.KmlTags; |
7 |
import org.gvsig.gpe.xml.stream.XmlStreamException;
|
|
7 |
import org.gvsig.gpe.parser.ICoordinateIterator;
|
|
8 | 8 |
import org.gvsig.gpe.xml.stream.IXmlStreamReader; |
9 |
import org.gvsig.gpe.xml.stream.XmlStreamException; |
|
9 | 10 |
|
10 | 11 |
/* gvSIG. Sistema de Informaci?n Geogr?fica de la Generalitat Valenciana |
11 | 12 |
* |
... | ... | |
134 | 135 |
switch(currentTag){ |
135 | 136 |
case IXmlStreamReader.START_TAG: |
136 | 137 |
if (tag.compareTo(KmlTags.OUTERBOUNDARYIS) == 0){ |
137 |
double[][] coordinates = handler.getProfile().getOuterBoundaryIsBinding().parse(parser, handler); |
|
138 |
OuterBoundaryIsBinding coordinatesBinding = handler.getProfile().getOuterBoundaryIsBinding(); |
|
139 |
ICoordinateIterator coordinatesIterator = coordinatesBinding.parse(parser, handler); |
|
138 | 140 |
polygon = handler.getContentHandler().startPolygon(id, |
139 |
coordinates[0], |
|
140 |
coordinates[1], |
|
141 |
coordinates[2], |
|
142 |
KmlTags.DEFAULT_SRS); |
|
141 |
coordinatesIterator, |
|
142 |
KmlTags.DEFAULT_SRS); |
|
143 | 143 |
}else if (tag.compareTo(KmlTags.INNERBOUNDARYIS) == 0){ |
144 |
double[][] coordinates = handler.getProfile().getInnerBoundaryIsBinding().parse(parser, handler); |
|
145 |
Object innerPolygon = handler.getContentHandler().startInnerPolygon(null, |
|
146 |
coordinates[0], |
|
147 |
coordinates[1], |
|
148 |
coordinates[2], |
|
149 |
KmlTags.DEFAULT_SRS); |
|
144 |
InnerBoundaryIsBinding innerPolygonBinding = handler.getProfile().getInnerBoundaryIsBinding(); |
|
145 |
ICoordinateIterator coordinatesIterator = innerPolygonBinding.parse(parser, handler); |
|
146 |
Object innerPolygon = handler.getContentHandler().startInnerPolygon(id, |
|
147 |
coordinatesIterator, |
|
148 |
KmlTags.DEFAULT_SRS); |
|
150 | 149 |
handler.getContentHandler().endInnerPolygon(innerPolygon); |
151 | 150 |
handler.getContentHandler().addInnerPolygonToPolygon(innerPolygon,polygon); |
152 | 151 |
} |
Also available in: Unified diff