GeoTools 2.7-M0
Thank you for downloading GeoTools 2.7-M0. This release was created on: May 28th, 2010.
This is a milestone release from the current development branch used to offer a technical preview of updating improvements, api changes and ideas. Not all of these features will be included in the final 2.7.0 release - in part due to your feedback on these milestone releases.
For more information, and documentation on the GeoTools library please see our Community Wiki or the User Guide.
NOTE
The details contained in the rest of this file are provided as a quick start reference. For full details on requirements and build process please see the Developers' Guide.
REQUIREMENTS
To use the GeoTools libraries you will need:
GeoTools will benefit from the inclusion of Java Advanced Imaging (JAI) and the Java Image IO (JIO) extensions in your JRE. In addition some formats require the ImageIO-Ext additions which explicitly support raster formats such as MRSID and ECW.
You can obtain the latest versions of both of these here. Detailed instructions can be found here.
ORACLE REQUIREMENTS
In order to use the Oracle module, you need the Oracle JDBC driver from Oracle. Unlike most external libraries used in GeoTools, we cannot redistribute this jar.
However, you can obtain them from the Oracle website, free of charge, after registering: - http://otn.oracle.com/software/tech/java/sqlj_jdbc/content.html Please see the developers guide for more information.
BUILDING
In order to build GeoTools you will need a copy of Maven 2. Maven is a project management tool from the Apache group.
At the time of writing, the build process was known to work with the Maven 2.1.0 release.
Once you have maven installed, you can perform a full build by moving to the GeoTools folder and typing:
mvn install
Please read the Developers Guide for more information about maven:
GETTING INVOLVED
For general queries the gt2-users mailing list is available.
If you are interested in the future development of GeoTools then feel free to join the geotools-devel mailing list.We welcome contributions of new modules as well as keen developers who want to work on the project as a whole.
You can find out more about the mailing lists and recent news by going to the GeoTools Homepage and by reading the GeoTools Guide.
Good luck and many thanks for your interest in GeoTools,
The GeoTools Project Management Committee, Open Source Geospatial Foundation
Sub-task
- [GEOT-1284] - ensure you meet the standard set for the release:
- [GEOT-1879] - plugin/db2 Code encumbered by IBM license
- [GEOT-1900] - unsup/vpf has test classes with own copyright, test data of unkown origin
Bug
- [GEOT-161] - ProcessStylers should close FeatureReaders
- [GEOT-376] - ExpressionBuilder cannot parse bbox
- [GEOT-436] - SLDTransformer incorreclty handles GraphicFill
- [GEOT-455] - VPF not always setting default geometry
- [GEOT-456] - OutOfMemoryError on VPF UVMap data DQAREA feature type
- [GEOT-487] - Filter Parser tests dont check the resulting filter
- [GEOT-504] - JDBCDataStore autoCommit problem for DB2
- [GEOT-602] - Literal expression does not support Boolean and ...?
- [GEOT-605] - SLD Parser incorrectly handles UserLayer elements and subelemets
- [GEOT-612] - Description of url param suggets a file when a dir is required
- [GEOT-665] - PropertyIsBetween Parsing Error
- [GEOT-667] - Query -- MaxFeatures=0 means "give me all"
- [GEOT-679] - Error loading parsing complex schemas
- [GEOT-693] - FilterOpsComplxTypes makes use of geometryUserData()
- [GEOT-744] - OracleDataStore isNillable and others, not set
- [GEOT-780] - Style Equals should note care about Implementation
- [GEOT-792] - Test failures in ext/shaperenderer module when J2SE assertions are enabled
- [GEOT-808] - MIF file out of memory
- [GEOT-925] - Rederer fails to project world data
- [GEOT-929] - Typo in javadocs of GTRender.java, patch attached
- [GEOT-951] - GeoTools Does not support DataSource from an application server
- [GEOT-1033] - GeometryFilter implementations do not care about CRS
- [GEOT-1044] - Oracle sql encoder assumes 0 as lack of SRID, but it may not be so
- [GEOT-1157] - StreamingRenderer does not properly handle "memoryPreloadingEnabled" hint
- [GEOT-1277] - Filters (and thus SLD) utility classes need to use Converter API
- [GEOT-1369] - Update test database creation and junit test
- [GEOT-1370] - Date literal handling - JDBC assumes postgres and its forgiveness
- [GEOT-1371] - Inconsistency in ListAttributeType
- [GEOT-1398] - sort() method does not work on JDBCFeatureCollection
- [GEOT-1462] - BBOXImpl class has wrong setMaxY setter
- [GEOT-1706] - XML-XSD is not thread safe
- [GEOT-1714] - Unit tests fail in path with spaces
- [GEOT-1854] - SVNdump cleanup: remove the imagemosaicJDBC module
- [GEOT-1936] - SimpleFeatureImpl$Attribute does not implement equals(Object)
- [GEOT-1949] - JMapPane highlight context should better use the same CoordinateReferenceSystem as the map context to avoid unnecessary transform
- [GEOT-1980] - Random failures parsing CQL under heavy load
- [GEOT-2278] - ClassCastException when filtering on Date values.
- [GEOT-2465] - wcs-xml (extensions) depends on temporal (unsupported) preventing source distribution to build
- [GEOT-2489] - if_then_else filter not functioning well with null value
- [GEOT-2505] - GML bindings ignore all attributes
- [GEOT-2621] - GetPropertyExecutor floods logs with dubious WARNs
- [GEOT-2751] - Geotiff does not handle Oblique Stereographic transforms ( eg. EPSG:31700 )
- [GEOT-2777] - XmlDataStoreTest fails from maven build
- [GEOT-2797] - JMapPane InfoTool null pointer exception when CRS is null
- [GEOT-2798] - repainting sometimes missed after panning in JMapPane
- [GEOT-2799] - Shapefile Query for FeatureIds fails
- [GEOT-2801] - Oracle (NG) datastore may deadlock under high load
- [GEOT-2803] - ContentFeatureCollection is leaking listeners
- [GEOT-2809] - FeatureVisitor and Feature deprecation cleanup
- [GEOT-2826] - Concurrent 2.6.x and trunk builds may fail when both try to create the EPSG database at the same time
- [GEOT-2839] - ImageMosaic slow rendering/loading when reprojection is involved (wrong requested resolution)
- [GEOT-2845] - MapLayerUtils.isGridLayer not good?
- [GEOT-2854] - ImageMosaicJDBCFormat causes out of Memory Error when passing a directory url to the accepts method
- [GEOT-2859] - FilterToCQL adds UPPER to LIKE oparator and is then not valid CQL anymore
- [GEOT-2874] - The cql parser should throw an exception if an invalid compound identifier is found
- [GEOT-2876] - RasterToVectorProcess returns polygons for enclosed 'outside' areas
- [GEOT-2892] - SimpleFeatureTypeBuilder ignores supplied crs in some cases
- [GEOT-2898] - The GridType of WCS binding should be a GridEnvelope and not a GeneralEnvelope
- [GEOT-2899] - Geotiff metadata encoder swaps count and offset when adding a new GeoKeyEntry
- [GEOT-2900] - CRS2GeotiffMetadataAdapter duplicates some GeoKeys
- [GEOT-2908] - Geotools Operations do not support optional grids
- [GEOT-2930] - Points of LinearRing do not form a closed linestring
- [GEOT-2938] - JMapPane freeze after resize
- [GEOT-2945] - MetadataUrlType NullPointer
- [GEOT-2949] - app-schema java.lang.IllegalStateException: Subject type not loaded yet
- [GEOT-2953] - ImagePyramid does not honor "name" parameter
- [GEOT-2956] - swing module: InfoTool fails with multiple projections
- [GEOT-2962] - WFS Badly composed url
- [GEOT-2963] - IsNullImpl.setExpression creates StackOverflowError
- [GEOT-2966] - SelectionLab selects additional, incorrect features
- [GEOT-2967] - Access Restriction Exception due to the use of sun.misc.BASE64Encoder
- [GEOT-2975] - GeometryTypeConverterTest failure with JTS 1.11
- [GEOT-2976] - complex features can't handle null database values
- [GEOT-2984] - Problem using WFS client in multi-classloader environment (fix attached)
- [GEOT-2986] - RastertoVectorProcess doesn't update progress listener properly
- [GEOT-2991] - Setting username and password will trigger a connection already open IOException.
- [GEOT-2992] - WFS authorization fails with basic auth
- [GEOT-2995] - Problems displaying shapefile and WMS layer together
- [GEOT-3002] - JMapPane crashes if zoom tool is used after removing all layers
- [GEOT-3003] - JMapPane reset action fails to show all layers
- [GEOT-3004] - CQL BBOX Round Trip
- [GEOT-3026] - Invalid Filter Construction for WFS-1.0.0
- [GEOT-3037] - Connect to provided databasename with jdbc-sqlserver
- [GEOT-3053] - GeoKey directory management when writing GeoTiff CRS
- [GEOT-3061] - Duplicated properties in app-schema WFS response
- [GEOT-3074] - Interpolator2D wrong behavior
- [GEOT-3090] - some can't be found by Processors.createProcess
- [GEOT-3098] - RasterToVectorFactory OUTSIDE parameter has wrong type
Improvement
- [GEOT-453] - Use facc code to determine feature type name in VPF
- [GEOT-497] - VPFFeatures need better FIDs.
- [GEOT-558] - FilterExpression -- add a "String getInfo()" function
- [GEOT-616] - Read and write coordinate system information in MIF format
- [GEOT-709] - Support or at least report for old geometry fields (ake old GTYPE)
- [GEOT-928] - Handle projections validity area in Decimator and StreamingRenderer classes
- [GEOT-933] - Investigate SoftReferences for Caching time-expensive objects.
- [GEOT-1281] - bring mappane upto maintained status
- [GEOT-1417] - Create 'Online' testcases
- [GEOT-1636] - DataStoreFactory for MySQL
- [GEOT-1981] - H2 tests shoudl use OnlineTest framework
- [GEOT-2005] - JDBCDataStore should handle clob/blob fields
- [GEOT-2305] - Patch: Support for DIMENSION and EXTEND in WMSCapabilities
- [GEOT-2376] - FeatureStore.modifyfeatures should take a Name[], not a AttributeDescriptor[]
- [GEOT-2392] - ImageWorker makeColorTransparent needs more tests
- [GEOT-2485] - ProcessFactory should extend OptionalFactory
- [GEOT-2591] - Add a method isThreadSafe to AbstractGridCoverage2DReader
- [GEOT-2598] - Have ng datastores recognize the dbtype of their older versions
- [GEOT-2616] - Port ArcSDE raster support to the same session pool/command queue used for ArcSDE DataStore
- [GEOT-2800] - JMapPane should do rendering on a background thread
- [GEOT-2806] - OverviewsEmbedder: Set SUBFILETYPE TIFF TAG when creating inner tiff overviews
- [GEOT-2824] - Provide datastores a reference back to the datastore factory that created them
- [GEOT-2831] - swing module - InfoTool should defer loading GridCoverage2D
- [GEOT-2844] - Refactor FitlerToSQL to remove duplication in subclasses
- [GEOT-2848] - Allow ArcSDE coverage URLs to specify the connection pool limits
- [GEOT-2878] - Provide more info to FilterToSQL
- [GEOT-2883] - Make primary key lookup more flexible
- [GEOT-2884] - Remove usage of deprecated class Utilities
- [GEOT-2889] - Support hint GEOMETRY_GENERALIZATION starting with DB2 Version 9.7 FP1 and 9.5 FP5
- [GEOT-2895] - Adding setter to RectifiedGridType for WCS 1.0 EMF bindings
- [GEOT-2909] - When a bundle vendor for jai operations doesn't match an available authority, the error message is wrong
- [GEOT-2914] - Have directory datastore support schema creation
- [GEOT-2924] - swing module: RenderingExecutor polling interval is too long
- [GEOT-2928] - Add reliable methods to spot when native JAI and native ImageIo are available.
- [GEOT-2946] - Allow TCP connections with H2 datastore
- [GEOT-2948] - Have Configuration class unpack dependencies in a way that maintains dependency order
- [GEOT-2960] - make "env" function lookups case-insensitive
- [GEOT-2971] - Geotools coverage io addition for EnviHdr files
- [GEOT-2980] - RasterToVectorProcess bounds parameter should be org.opengis.geometry.Envelope
- [GEOT-2982] - All META-INF/services files should have a terminating newline
- [GEOT-2983] - Improve mosaic management when requesting very small area where no granule data is available
- [GEOT-2985] - JDataStoreWizard is ugly when there are many connection parameters
- [GEOT-2994] - Switch trunk to JTS version 1.11
- [GEOT-2998] - Implement Winkel Tripel projection
- [GEOT-3006] - VectorToRasterProcess bounds parameter should be a GeoAPI Envelope
- [GEOT-3007] - Extend VectorToRasterProcess options
- [GEOT-3034] - Allow property datastore to find parent when a actual property file is supplied
- [GEOT-3035] - Create Constant image for background values using the same image datatype of sample image
- [GEOT-3045] - GeneralEnvelope constructed as isNull
- [GEOT-3051] - SimpleFeatureCollection to remove generics from example code
- [GEOT-3054] - Remove AbstractDataStore2
- [GEOT-3055] - Query merge with DefaultQuery
- [GEOT-3063] - Remove DataStore.getView method
- [GEOT-3086] - Merge AbstractProcessor with DefaultProcessor
- [GEOT-3097] - Recode function as per SE 1.1 spec
- [GEOT-3099] - Option for RasterToVectorFactory to ignore 'inside' edges
- [GEOT-3100] - feature values from RasterToVectorProcess
New Feature
- [GEOT-133] - Support rendering of SVG external graphics
- [GEOT-197] - ScaleBar
- [GEOT-310] - World2Pixel Method
- [GEOT-653] - Support Text objects in MIFDataStore
- [GEOT-1657] - DataStore source description
- [GEOT-2123] - support virtual feature types generated from an sql query
- [GEOT-2879] - Add spatial index to H2 via hatbox
- [GEOT-2881] - 'env' filter function to retrieve external vars in SLD docs
- [GEOT-3001] - Interpolate function as per Symbology Encoding 1.1
- [GEOT-3008] - Add JUnit 4 support for online tests
- [GEOT-3077] - Add DecimationPolicy Hint
- [GEOT-3078] - Add support for DecimationPolicy
- [GEOT-3080] - Imagemosaic-JDBC plugin for custom db layout
- [GEOT-3105] - new vector grid module
Task
- [GEOT-317] - create a test style which uses inheritance
- [GEOT-506] - Create Feature Reader for MOD14 files
- [GEOT-1076] - run wfs 1.0 and 1.1 cite tests
- [GEOT-2738] - WCS 1.0 EMF model
- [GEOT-2863] - Port temporal module to supported
- [GEOT-2921] - Align palette-oriented operations with GeoServer code
Wish
- [GEOT-1278] - Creates a "tools" extension module
- [GEOT-2354] - How to get geometry between two points?
- [GEOT-2907] - Support for 1D Envelope encoding
- [GEOT-3039] - Add ensureNonNull utility method to Utilities class
- [GEOT-3040] - Add checkEmptySourceRegion utility method to CoverageUtilities
- [GEOT-3041] - Add Utiltities method to DataUtilities class