Revision 19680 trunk/libraries/libGPE-KML/src/org/gvsig/gpe/kml/parser/v21/geometries/PolygonTypeBinding.java

View differences:

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