Package ucar.unidata.data.gis
Class KmlDataSource
java.lang.Object
ucar.unidata.collab.SharableImpl
ucar.unidata.data.DataSourceImpl
ucar.unidata.data.FilesDataSource
ucar.unidata.data.gis.KmlDataSource
- All Implemented Interfaces:
Sharable,DataSource,DataSourceFactory,XmlPersistable
DataSource for Web Map Servers
- Version:
- $Revision: 1.38 $ $Date: 2007/04/16 20:34:52 $
- Author:
- IDV development team
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final Stringxml attributestatic final Stringxml attributeprotected ListA local cacheprotected ListThe urlsstatic final StringFor ximg filesstatic final PatternFileFilterFor ximg filesstatic final StringFor ximg filesstatic final Stringkml tag idstatic final Stringkml tag idstatic final Stringkml tag idstatic final Stringxml tagstatic final Stringxml tagstatic final Stringstatic final Stringxml tagstatic final Stringkml tag idstatic final Stringkml tag idstatic final Stringkml tag idstatic final Stringkml tagstatic final Stringkml tag idstatic final Stringxml tagstatic final Stringkml tag idstatic final Stringxml tagFields inherited from class ucar.unidata.data.FilesDataSource
adapters, oldSourceFromBundles, sourcesFields inherited from class ucar.unidata.data.DataSourceImpl
changeDataPathsCbx, dataCacheKey, dataChoices, geoSelectionPanel, haveBeenUnPersisted, okToContinue, PARAM_SHOW_HIDE, PARAM_SHOW_NO, PARAM_SHOW_YESFields inherited from interface ucar.unidata.data.DataSource
DATAPATH_DATE_FORMAT, DATAPATH_DATE_PATTERN, MOST_RECENT, ordinalNames, PROP_AUTOCREATEDISPLAY, PROP_BASEDIRECTORY, PROP_CACHEABLE, PROP_DATACHOICENAME, PROP_DISPLAYPROPERTIES, PROP_DOCUMENTLINKS, PROP_FILEPATTERN, PROP_GEOLOCATION, PROP_ICON, PROP_NAME, PROP_POLLINFO, PROP_RESOLVERURL, PROP_SERVICE_HTTP, PROP_SUBPROPERTIES, PROP_TIMELABELS, PROP_TIMESTRIDE, PROP_TITLE -
Constructor Summary
ConstructorsConstructorDescriptionDummy constructor so this object can get unpersisted.KmlDataSource(DataSourceDescriptor descriptor, String kmlUrl, Hashtable properties) Create a KmlDataSource from the specification given. -
Method Summary
Modifier and TypeMethodDescriptionstatic StringcreateKml(GeoLocationInfo bounds, String imageFileName) Create some kml from the given bounds and image filestatic voidcreateLatLonBox(GeoLocationInfo bounds, StringBuffer sb) Utility to create a latlonbox kmlprotected voidCreate the data choices associated with this source.protected ListCreate a list of times for this data source.voidexpandIfNeeded(CompositeDataChoice parent) Expand the data choice if its a networklinkprotected DatagetDataInner(DataChoice dataChoice, DataCategory category, DataSelection dataSelection, Hashtable requestProperties) Actually get the data identified by the given DataChoce.protected InputStreamgetInputStream(String path) Create the input stream.voidInitialize after we have been unpersistedstatic booleanIs this a kml or kmz filestatic voidtest mainprotected byte[]Utility to read the bytes from the file or urlprotected ImageRead the imagevoidreloadvoidSet the KmlUrl property.protected booleanshouldCache(Data data) See if this DataSource should cache or notstatic voidwriteToFile(String kmlFilename, GeoLocationInfo bounds, String imageFileName) write image as a kml to fileMethods inherited from class ucar.unidata.data.FilesDataSource
doRemove, equals, getDataFileExtension, getDataPaths, getFilePath, getFullDescription, getInputStreams, getLocationsForPolling, getPartialDescription, getSource, getSources, haveSources, initAfterCreation, initWithPollingInfo, isFileBased, newFilesFromPolling, processDataFilename, propertiesChanged, reloadData, saveDataToLocalDisk, setNewFiles, setSource, setSources, sourcesChanged, updateStateMethods inherited from class ucar.unidata.data.DataSourceImpl
addActions, addDataChangeListener, addDataChoice, addPropertiesTabs, addReloadTab, applyFieldMask, applyProperties, beginWritingDataToLocalDisk, canAddCurrentName, canCacheDataToDisk, canChangeData, canDoAllLevels, canDoFieldMask, canDoGeoSelection, canDoGeoSelectionMap, canDoGeoSelectionStride, canPoll, canSaveDataToLocalDisk, canShowParameter, checkForInitAfterUnPersistence, clearCachedData, clearFileCache, clearTimes, convertSourceFile, convertToFilesIfDirectory, createAutoDisplay, createCacheKey, createElement, decrOutstandingGetDataCalls, doDirectory, doMakeGeoSelectionPanel, doMakeGeoSelectionPanel, doMakeGeoSelectionPanel, doMakeGeoSubsetPropertiesComponent, endWritingDataToLocalDisk, findDataChoice, findDataChoices, flushCache, getAbsoluteDateTimes, getActions, getAlias, getAllDateTimes, getAllDateTimes, getAllLevels, getAllLevels, getAllTimesForTimeDriver, getCache, getCache, getCacheClearDelay, getCacheDataToDisk, getCompositeDataChoices, getData, getData, getDataCachePath, getDataChangeListeners, getDataChoices, getDataContext, getDataInner, getDataIsEditable, getDataPrefix, getDataSelection, getDataSelectionComponents, getDataSource, getDateTimes, getDateTimeSelection, getDefaultSave, getDescription, getDescriptor, getErrorMessage, getEverChangedName, getExtraGeoSelectionComponent, getExtraTimesComponent, getFileFilterForPolling, getid, getIdv, getInError, getLocalDirectory, getLocationForPolling, getMostRecentFiles, getName, getNameForDataSource, getNeedToShowErrorToUser, getNextId, getOutstandingGetDataCalls, getPassword, getPathsThatCanBeRelative, getPollingInfo, getProperties, getPropertiesComponents, getPropertiesHeader, getProperty, getProperty, getProperty, getProperty, getProperty, getProperty, getProperty, getRelativePaths, getSampleDataProjection, getSaveDataFileLabel, getSelectedDateTimes, getSelectedDateTimes, getTimesFromDataSelection, getTmpPaths, getTypeName, getUserName, handlePropertiesAction, hasPollingInfo, holdsDateTimes, holdsIndices, identifiedBy, identifiedByName, incrOutstandingGetDataCalls, initAfter, initDataChoice, initDataSelectionComponents, initFromXml, isPolling, loadFieldMask, loadFieldMask, loadLatestFile, logException, logException, makeDerivedDataChoices, makeSaveLocalActions, newFileFromPolling, notifyDataChange, putCache, putCache, reloadProperties, removeCache, removeDataChangeListener, removeDataChoice, removeProperty, replaceDataChoice, resetTmpState, saveDataToLocalDisk, saveDataToLocalDisk, selectTimesFromList, setAlias, setAskToUpdate, setCacheClearDelay, setCacheDataToDisk, setDataEditableStrings, setDataIsEditable, setDataIsRelative, setDataRelativeStrings, setDataSelection, setDateTimeSelection, setDefaultSave, setDescription, setDescriptor, setDirectory, setEverChangedName, setInError, setInError, setInError, setName, setObjectProperties, setObjectProperty, setPassword, setPollingInfo, setPollLocation, setProperties, setProperty, setProperty, setRelativePaths, setTemplateName, setTmpPaths, setUserName, shouldCache, showPasswordDialog, showPropertiesDialog, showPropertiesDialog, showPropertiesDialog, showWaitDialog, tick, toString, toStringTruncated, updateDetailsText, writeFieldMaskFile, writeFieldMaskFileMethods inherited from class ucar.unidata.collab.SharableImpl
applySharableProperties, doShare, doShare, doShareExternal, doShareInternal, getReceiveShareTime, getSharablePropertiesComponent, getShareGroup, getSharing, getUniqueId, initSharable, receiveShareData, removeSharable, setReceiveShareTime, setShareGroup, setSharing, setUniqueId, showSharableDialogMethods inherited from class java.lang.Object
clone, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface ucar.unidata.data.DataSource
getUniqueId
-
Field Details
-
FILTER_KML
For ximg files -
EXT_KML
For ximg files- See Also:
-
SUFFIX_KML
For ximg files- See Also:
-
ATTR_PARENT
xml attribute- See Also:
-
ATTR_NAME
xml attribute- See Also:
-
TAG_GROUNDOVERLAY
kml tag id- See Also:
-
TAG_PHOTOOVERLAY
kml tag- See Also:
-
TAG_URL
xml tag- See Also:
-
TAG_HREF
xml tag- See Also:
-
TAG_LINK
xml tag- See Also:
-
TAG_LINESTRING
- See Also:
-
TAG_SCHEMA
xml tag- See Also:
-
TAG_NETWORKLINK
kml tag id- See Also:
-
TAG_MULTIGEOMETRY
kml tag id- See Also:
-
TAG_DOCUMENT
kml tag id- See Also:
-
TAG_FOLDER
kml tag id- See Also:
-
TAG_KML
xml tag- See Also:
-
TAG_PLACEMARK
kml tag id- See Also:
-
TAG_NAME
kml tag id- See Also:
-
TAG_STYLEURL
kml tag id- See Also:
-
cachedData
A local cache -
cachedUrls
The urls
-
-
Constructor Details
-
KmlDataSource
public KmlDataSource()Dummy constructor so this object can get unpersisted. -
KmlDataSource
public KmlDataSource(DataSourceDescriptor descriptor, String kmlUrl, Hashtable properties) throws VisADException Create a KmlDataSource from the specification given.- Parameters:
descriptor- descriptor for the data sourcekmlUrl- Where the kml came fromproperties- extra properties- Throws:
VisADException- some problem occurred creating data
-
-
Method Details
-
reloadData
public void reloadData()reload- Specified by:
reloadDatain interfaceDataSource- Overrides:
reloadDatain classFilesDataSource
-
initAfterUnpersistence
public void initAfterUnpersistence()Initialize after we have been unpersisted- Specified by:
initAfterUnpersistencein interfaceDataSource- Overrides:
initAfterUnpersistencein classFilesDataSource
-
readImage
Read the image- Parameters:
url- image urlbaseUrl- Where the kml came from_- Returns:
- The image
-
readBytes
Utility to read the bytes from the file or url- Parameters:
path- file or url- Returns:
- bytes
- Throws:
Exception- On badness
-
getInputStream
Create the input stream. Handle the case when it is a zip file- Parameters:
path- file or url- Returns:
- input stream to kml file
- Throws:
Exception- On badness
-
doMakeDataChoices
protected void doMakeDataChoices()Create the data choices associated with this source.- Overrides:
doMakeDataChoicesin classDataSourceImpl
-
expandIfNeeded
Expand the data choice if its a networklink- Specified by:
expandIfNeededin interfaceDataSource- Overrides:
expandIfNeededin classDataSourceImpl- Parameters:
parent- data choice
-
getDataInner
protected Data getDataInner(DataChoice dataChoice, DataCategory category, DataSelection dataSelection, Hashtable requestProperties) throws VisADException, RemoteException Actually get the data identified by the given DataChoce. The default is to call the getDataInner that does not take the requestProperties. This allows other, non unidata.data DataSource-s (that follow the old API) to work.- Overrides:
getDataInnerin classDataSourceImpl- Parameters:
dataChoice- The data choice that identifies the requested data.category- The data category of the request.dataSelection- Identifies any subsetting of the data.requestProperties- Hashtable that holds any detailed request properties.- Returns:
- The visad.Data object
- Throws:
RemoteException- Java RMI problemVisADException- VisAD problem
-
shouldCache
See if this DataSource should cache or not- Overrides:
shouldCachein classDataSourceImpl- Parameters:
data- Data to cache- Returns:
- false
-
doMakeDateTimes
Create a list of times for this data source. Since shapefiles don't have any times, return an empty List.- Overrides:
doMakeDateTimesin classDataSourceImpl- Returns:
- an empty List
-
setKmlUrl
Set the KmlUrl property.- Parameters:
value- The new value for KmlUrl
-
isKmlFile
Is this a kml or kmz file- Parameters:
filename- file- Returns:
- Is this a kml or kmz file
-
writeToFile
public static void writeToFile(String kmlFilename, GeoLocationInfo bounds, String imageFileName) throws FileNotFoundException, IOException write image as a kml to file- Parameters:
kmlFilename- kml filenamebounds- _image boundsimageFileName- image filename- Throws:
FileNotFoundException- On badnessIOException- On badness
-
createKml
public static String createKml(GeoLocationInfo bounds, String imageFileName) throws FileNotFoundException, IOException Create some kml from the given bounds and image file- Parameters:
bounds- boundsimageFileName- image- Returns:
- kml
- Throws:
FileNotFoundException- On badnessIOException- On badness
-
createLatLonBox
Utility to create a latlonbox kml- Parameters:
bounds- boundssb- buffer to add to
-
main
test main- Parameters:
args- cmd line args
-