ilog.views.maps.format.kml
Class IlvKMLReader

java.lang.Object
  extended by ilog.views.maps.format.kml.IlvKMLReader
All Implemented Interfaces:
IlvPersistentObject, IlvMapFeatureIterator, IlvMapReusableFeatureIterator, IlvMapRegionOfInterestIterator

public class IlvKMLReader
extends Object
implements IlvMapRegionOfInterestIterator, IlvPersistentObject

A reader for KML files. Example of use:

 
 IlvKMLReader r = new IlvKMLReader(fileName); IlvCoordinateSystem cs =
 IlvCoordinateSystemProperty.GetCoordinateSystem(manager);
 r.setTransformation(IlvCoordinateTransformation.CreateTransformation(cs,IlvGeographicCoordinateSystem.KERNEL));
 
 

Since:
JViews 8.0

Constructor Summary
IlvKMLReader(IlvInputStream stream)
          Reconstructs a KML reader from parameters read from an input stream.
IlvKMLReader(String fileName)
          Creates a new KML reader.
IlvKMLReader(URL url)
          Creates a new KML reader.
 
Method Summary
 IlvMapRegionOfInterestIterator deriveReader(IlvFeatureClassInformation vfeatureClass, IlvGeometryClassFilter vgeometryClass)
          Builds a specific reader to read filtered features.
 void dispose()
          Releases the resources allocated by the feature iterator (files, connections, and so on).
 IlvCoordinateSystem getCoordinateSystem()
          Returns the spatial reference system that describes the coordinate system of geometric coordinates of the map features.
 IlvFeatureRenderer getDefaultFeatureRenderer()
          Returns a renderer that can be used to translate the map features returned by this iterator into graphic objects.
 Rectangle2D getLatLonBounds()
          Returns the latitude/longitude bounds for the list of all geometries or null if such is not available.
 IlvCoordinate getLowerRightCorner()
          Returns the lower right corner of the rectangle containing all the map feature of the list, or null if the iterator cannot provide this information.
 IlvMapFeature getNextFeature()
          Returns the next map feature of the iterator or null if the iteration is finished.
 IlvCoordinateTransformation getTransformation()
          Returns the transformation used to read in images from the KML.
 IlvCoordinate getUpperLeftCorner()
          Returns the upper left corner of the rectangle containing all the map features of the list, or null if the iterator cannot provide this information.
 boolean isGeoreferenced()
          Returns true if the map reader can provide the source projection of its map features.
 void restart()
          Rewinds the iterator for a new use.
 void setFeatureClassFilter(IlvFeatureClassInformation vfeatureClass)
          Sets a filter on the KML folder.
 void setGeometryClassFilter(IlvGeometryClassFilter vgeometryClass)
          Sets a filter on the geometry class.
 void setRegionOfInterest(double minX, double minY, double maxX, double maxY)
          Sets the region of interest to return features for.
 void write(IlvOutputStream stream)
          Writes the attributes of a persistent object.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

IlvKMLReader

public IlvKMLReader(URL url)
Creates a new KML reader.

Parameters:
url - The path pointing to the KML files (.kml or .kmz).

IlvKMLReader

public IlvKMLReader(String fileName)
             throws MalformedURLException
Creates a new KML reader.

Parameters:
fileName - The path pointing to the KML files (.kml or .kmz).
Throws:
MalformedURLException - if the fileName is an unrecognized file.

IlvKMLReader

public IlvKMLReader(IlvInputStream stream)
Reconstructs a KML reader from parameters read from an input stream.

Parameters:
stream - The stream to read from.
Method Detail

write

public void write(IlvOutputStream stream)
           throws IOException
Writes the attributes of a persistent object.

Specified by:
write in interface IlvPersistentObject
Parameters:
stream - the output stream
Throws:
IOException - thrown when an exception occurs during the write operation for this object.
See Also:
IlvPersistentObject.write(ilog.views.io.IlvOutputStream)

restart

public void restart()
Rewinds the iterator for a new use.

Specified by:
restart in interface IlvMapReusableFeatureIterator
See Also:
IlvMapReusableFeatureIterator.restart()

getNextFeature

public IlvMapFeature getNextFeature()
Returns the next map feature of the iterator or null if the iteration is finished. The returned map feature must be considered as volatile and can be modified by the reader during the next call to its getNextFeature function.

Specified by:
getNextFeature in interface IlvMapFeatureIterator
See Also:
IlvMapFeatureIterator.getNextFeature()

getTransformation

public IlvCoordinateTransformation getTransformation()
Returns the transformation used to read in images from the KML.

Returns:
Returns the transformation used to read in images from the KML.

isGeoreferenced

public boolean isGeoreferenced()
Returns true if the map reader can provide the source projection of its map features.

Specified by:
isGeoreferenced in interface IlvMapFeatureIterator
See Also:
IlvMapFeatureIterator.isGeoreferenced()

getCoordinateSystem

public IlvCoordinateSystem getCoordinateSystem()
Returns the spatial reference system that describes the coordinate system of geometric coordinates of the map features.

Specified by:
getCoordinateSystem in interface IlvMapFeatureIterator
Returns:
The coordinate system, or null if the coordinate system is unknown.
See Also:
IlvMapFeatureIterator.getCoordinateSystem()

getUpperLeftCorner

public IlvCoordinate getUpperLeftCorner()
Returns the upper left corner of the rectangle containing all the map features of the list, or null if the iterator cannot provide this information.

Specified by:
getUpperLeftCorner in interface IlvMapFeatureIterator
See Also:
IlvMapFeatureIterator.getUpperLeftCorner()

getLowerRightCorner

public IlvCoordinate getLowerRightCorner()
Returns the lower right corner of the rectangle containing all the map feature of the list, or null if the iterator cannot provide this information.

Specified by:
getLowerRightCorner in interface IlvMapFeatureIterator
See Also:
IlvMapFeatureIterator.getLowerRightCorner()

getDefaultFeatureRenderer

public IlvFeatureRenderer getDefaultFeatureRenderer()
Returns a renderer that can be used to translate the map features returned by this iterator into graphic objects. Feature iterators that store some rendering information in the attributes of the map features, such as color, text font, line thickness and so on, can return a specific renderer which is able to take these attributes into account during the rendering process.

Specified by:
getDefaultFeatureRenderer in interface IlvMapFeatureIterator
See Also:
IlvMapFeatureIterator.getDefaultFeatureRenderer()

dispose

public void dispose()
Releases the resources allocated by the feature iterator (files, connections, and so on).

Specified by:
dispose in interface IlvMapFeatureIterator
See Also:
IlvMapFeatureIterator.dispose()

deriveReader

public IlvMapRegionOfInterestIterator deriveReader(IlvFeatureClassInformation vfeatureClass,
                                                   IlvGeometryClassFilter vgeometryClass)
Builds a specific reader to read filtered features.

Parameters:
vfeatureClass - The feature type filter.
vgeometryClass - The geometry filter.
Returns:
A new derived KML reader.

setFeatureClassFilter

public void setFeatureClassFilter(IlvFeatureClassInformation vfeatureClass)
Sets a filter on the KML folder.

Parameters:
vfeatureClass - Information on the feature to filter.

setGeometryClassFilter

public void setGeometryClassFilter(IlvGeometryClassFilter vgeometryClass)
Sets a filter on the geometry class.

Parameters:
vgeometryClass - Information on the accepted geometries.

setRegionOfInterest

public void setRegionOfInterest(double minX,
                                double minY,
                                double maxX,
                                double maxY)
Sets the region of interest to return features for. After this method is called, the IlvMapFeatureIterator.getNextFeature() method should not return any feature which geometry is outside this area.

Specified by:
setRegionOfInterest in interface IlvMapRegionOfInterestIterator
Parameters:
minX - longitude min in radians.
minY - latitude min in radians.
maxX - longitude max in radians.
maxY - latitude max in radians.
See Also:
IlvMapRegionOfInterestIterator.setRegionOfInterest(double, double, double, double)

getLatLonBounds

public Rectangle2D getLatLonBounds()
Returns the latitude/longitude bounds for the list of all geometries or null if such is not available.

Specified by:
getLatLonBounds in interface IlvMapRegionOfInterestIterator
Returns:
a rectangle enclosing all features.
See Also:
IlvMapRegionOfInterestIterator.getLatLonBounds()


Copyright © 1996-2007 ILOG S.A. All rights reserved.   Documentation homepage.