Package ca.spatial.table
Class ShapeFile
java.lang.Object
javax.swing.table.AbstractTableModel
ca.spatial.table.AttributeStore
ca.spatial.table.ShapeStore
ca.spatial.table.ShapeFile
- All Implemented Interfaces:
PopupActivationListener
,SpatialStore
,Serializable
,Comparable
,EventListener
,ListSelectionListener
,TableModel
A class to provide readonly access to ESRI shapefiles.
Lines and polygons are returned as GeneralPaths, and points
are returned as Point2D.Float.
A method creates an iterator that will scan the entire set, or
just a spatial extent. Spatial indexes are used if available.
The LERandomAccess class is not synchronized, so all methods that call it must their own synchronization methods.
Record numbers begin at 0.
- See Also:
- Serialized Form
-
Field Summary
FieldsFields inherited from class ca.spatial.table.AttributeStore
SELECT_ADD, SELECT_FROM, SELECT_NEW
Fields inherited from interface ca.spatial.table.SpatialStore
COLLECTION, CURVE, FLOAT_RASTER, INT_RASTER, MULTIPOINT, NULL, POINT, POLYGON, POLYLINE, SURFACE
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionboolean
Query if this SpatialStore is capable of building a spatial indexvoid
close()
Close the table and release resources.double[][]
getCoordinates(int id)
Retrieve a specified shape from the shapefile.getExtent2D(int id, int period)
Get the extent of a specific recordint
Get the total number of periods that this store supportsObtain projection information.int
Return the number of records in the shapefile.getSelection(Extent2D e)
Return a selection bitmapgetShape(int id, int period)
Retrieve a specified shape from the shapefile.int
getType()
Return the shapefile type.getValueAt(int row, int column, int period)
Implementation of data accessorint
getYearForPeriod(int period)
Get the ending year for a given period.boolean
Query if this SpatialStore has a spatial indexvoid
Request that this SpatialStore create a spatial indexstatic double[][]
sortRings(double[][] coords)
Methods inherited from class ca.spatial.table.ShapeStore
area, getExtent2D, getExtent2D, getRecord, getShape, identifyRecords, records, records, records, selectRecords
Methods inherited from class ca.spatial.table.AttributeStore
absoluteFile, absoluteFile, absolutePath, absolutePath, addCellEditors, addMenuItems, addPopupActivationListener, addRelate, addRelate, addTableModelListener, addToGlobalStoreList, allowsEditing, booleanValue, booleanValue, buildIndex, calculate, calculateField, calculateField, canIndex, changeSelection, clearSelection, compareTo, decodeCharset, doubleValue, doubleValue, exportCSV, exportCSV, exportCSV, exportCSV, exportCSV, exportCSV, exportDBF, exportDBF, exportDBF, exportDBF, exportDBF, findColumn, findColumn, findSimilarColumnNames, getAttributeFormat, getCacheParent, getCachingLayer, getCachingLayer, getCanonicalName, getColumnClass, getColumnCount, getColumnName, getColumnNames, getContextPeriods, getCwd, getEditMode, getFullColumnName, getListSelectionModel, getMinMax, getMinMax, getMinMax, getMinMax, getMinMax, getOpenStore, getOpenStore, getOpenStore, getOpenStores, getPeriod, getPeriodWidth, getRowNodeRemap, getSelectedRowCount, getSelection, getSelection, getSelection, getShortName, getSnapshot, getSnapshot, getStoreByShortName, getStoreByTitle, getSynchronizer, getTableName, getTableSpec, getTitle, getValueAt, hasIndex, identifyRecords, integerValue, integerValue, isCellEditable, isSelectedIndex, isSelectionEmpty, listify, listValue, listValue, lookupRow, makeLu, maybePopup, notifyPopupActivationListeners, openOrReuse, openOrReuse, queryTable, queryTable, quoteIfRequired, relativePath, removeFromGlobalStoreList, removePopupActivationListener, removeTableModelListener, select, select, selectAdd, selectFrom, selectNew, setCwd, setCwd, setEditMode, setListSelectionModel, setPeriod, setRowNodeRemap, setShortName, setTableSpec, setTitle, setValueAt, setValueAt, showCube, showTable, toString, uniqueValues, uniqueValues, uniqueValues, uniqueValues, uniqueValues, uniqueValues, uniqueValues, uniqueValues, valueChanged
Methods inherited from class javax.swing.table.AbstractTableModel
fireTableCellUpdated, fireTableChanged, fireTableDataChanged, fireTableRowsDeleted, fireTableRowsInserted, fireTableRowsUpdated, fireTableStructureChanged, getListeners, getTableModelListeners
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface ca.spatial.table.SpatialStore
getTitle
-
Field Details
-
MAX_PARTS
public static final int MAX_PARTS- See Also:
- Constant Field Values
-
-
Constructor Details
-
ShapeFile
Full constructor.- Throws:
Exception
-
-
Method Details
-
getValueAt
Implementation of data accessor- Specified by:
getValueAt
in classAttributeStore
- Parameters:
row
- The row containing the cellcolumn
- The column containing the cellperiod
- The period of interest- Returns:
- An object containing the cell value.
-
close
public void close()Description copied from class:AttributeStore
Close the table and release resources. The table should be used again after this method has been called.In many cases you do not need to call this method when you are finished using a table. Most tables will close automatically when they are no longer referenced.
It is possible that this method will be deprecated or removed in a future release.
- Overrides:
close
in classAttributeStore
-
getType
public int getType()Return the shapefile type. -
getRowCount
public int getRowCount()Return the number of records in the shapefile.- Specified by:
getRowCount
in interfaceSpatialStore
- Specified by:
getRowCount
in interfaceTableModel
- Specified by:
getRowCount
in classAttributeStore
- Returns:
- the number of rows in this store
-
getPeriodCount
public int getPeriodCount()Description copied from class:AttributeStore
Get the total number of periods that this store supports- Specified by:
getPeriodCount
in classAttributeStore
- Returns:
- The number of periods in this store
-
getYearForPeriod
public int getYearForPeriod(int period)Description copied from class:AttributeStore
Get the ending year for a given period.- Specified by:
getYearForPeriod
in classAttributeStore
- Parameters:
period
- The period of interest- Returns:
- the year for a given period
-
getSelection
Return a selection bitmap- Parameters:
e
- The selection rectangle of interest- Returns:
- A set of selected records
-
getShape
Retrieve a specified shape from the shapefile. Record numbers start at 0.- Parameters:
id
- The record of interestperiod
- The period of interest- Returns:
- A shape object
-
getCoordinates
public double[][] getCoordinates(int id)Retrieve a specified shape from the shapefile. Record numbers start at 0.- Parameters:
id
- The row of interest- Returns:
- An array of arrays of coordinate points. Each element in the outer array contains a 'part' of the underlying shape (for example, and island or a multi-part polygon). The inner array index holds the coordinate points of that part.
-
sortRings
public static double[][] sortRings(double[][] coords) -
getExtent2D
Get the extent of a specific record- Parameters:
id
- The record of interestperiod
- The period of interest- Returns:
- A rectangle
-
getProjectionInfo
Description copied from interface:SpatialStore
Obtain projection information.- Specified by:
getProjectionInfo
in interfaceSpatialStore
- Overrides:
getProjectionInfo
in classShapeStore
-
hasSpatialIndex
public boolean hasSpatialIndex()Description copied from interface:SpatialStore
Query if this SpatialStore has a spatial index -
canBuildSpatialIndex
public boolean canBuildSpatialIndex()Description copied from interface:SpatialStore
Query if this SpatialStore is capable of building a spatial index -
makeSpatialIndex
Description copied from interface:SpatialStore
Request that this SpatialStore create a spatial index- Throws:
Exception
-