Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Browse files

Merge branch 'rel_8.1' into rel_8.x

  • Loading branch information...
commit 628187cd817636a47d018bea55762dbc0f9a47d1 2 parents fddfd9b + 52d4d7e
@aaime aaime authored
Showing with 1,851 additions and 753 deletions.
  1. +4 −4 README.html
  2. +1 −1  build/maven/jar-collector/pom.xml
  3. +1 −1  build/maven/javadoc/pom.xml
  4. +1 −1  build/maven/jjtree-javacc/pom.xml
  5. +1 −1  build/maven/pom.xml
  6. +1 −1  build/maven/xmlcodegen/pom.xml
  7. +1 −1  build/pom.xml
  8. +3 −3 build/rename.xml
  9. +1 −1  docs/common.py
  10. +1 −1  docs/pom.xml
  11. +1 −1  docs/user/tutorial/advanced/artifacts/pom.xml
  12. +1 −1  docs/user/tutorial/feature/artifacts/pom.xml
  13. +1 −1  docs/user/tutorial/filter/artifacts/pom.xml
  14. +1 −1  docs/user/tutorial/geometry/artifacts/pom.xml
  15. +1 −1  docs/user/tutorial/map/artifacts/pom.xml
  16. +1 −1  docs/user/tutorial/quickstart/artifacts/pom.xml
  17. +1 −1  docs/user/tutorial/raster/artifacts/pom.xml
  18. +1 −1  modules/extension/app-schema/app-schema-example/pom.xml
  19. +1 −1  modules/extension/app-schema/app-schema-packages/pom.xml
  20. +1 −1  modules/extension/app-schema/app-schema-resolver/pom.xml
  21. +1 −1  modules/extension/app-schema/app-schema/pom.xml
  22. +2 −1  .../extension/app-schema/app-schema/src/main/java/org/geotools/data/complex/MappingFeatureIteratorFactory.java
  23. +1 −1  modules/extension/app-schema/pom.xml
  24. +1 −1  modules/extension/app-schema/sample-data-access/pom.xml
  25. +1 −1  modules/extension/brewer/pom.xml
  26. +1 −1  modules/extension/graph/pom.xml
  27. +5 −1 modules/extension/graph/src/main/java/org/geotools/graph/build/feature/FeatureGraphGenerator.java
  28. +4 −1 modules/extension/graph/src/main/java/org/geotools/graph/build/line/DirectedLineStringGraphGenerator.java
  29. +1 −1  modules/extension/pom.xml
  30. +1 −1  modules/extension/validation/pom.xml
  31. +1 −1  modules/extension/wms/pom.xml
  32. +1 −1  modules/extension/xsd/pom.xml
  33. +1 −1  modules/extension/xsd/xsd-core/pom.xml
  34. +1 −1  modules/extension/xsd/xsd-fes/pom.xml
  35. +1 −1  modules/extension/xsd/xsd-filter/pom.xml
  36. +1 −1  modules/extension/xsd/xsd-gml2/pom.xml
  37. +1 −1  modules/extension/xsd/xsd-gml3/pom.xml
  38. +3 −0  modules/extension/xsd/xsd-gml3/src/main/java/org/geotools/gml3/GMLConfiguration.java
  39. +184 −0 modules/extension/xsd/xsd-gml3/src/main/java/org/geotools/gml3/bindings/ArcStringTypeBinding.java
  40. +44 −64 modules/extension/xsd/xsd-gml3/src/main/java/org/geotools/gml3/bindings/ArcTypeBinding.java
  41. +3 −0  modules/extension/xsd/xsd-gml3/src/main/java/org/geotools/gml3/v3_2/GMLConfiguration.java
  42. +15 −0 modules/extension/xsd/xsd-gml3/src/test/java/org/geotools/gml3/v3_2/GML32SurfaceParsingTest.java
  43. +55 −0 modules/extension/xsd/xsd-gml3/src/test/resources/org/geotools/gml3/v3_2/multisurface.xml
  44. +1 −1  modules/extension/xsd/xsd-kml/pom.xml
  45. +2 −2 modules/extension/xsd/xsd-ows/pom.xml
  46. +1 −1  modules/extension/xsd/xsd-sld/pom.xml
  47. +1 −1  modules/extension/xsd/xsd-wcs/pom.xml
  48. +1 −1  modules/extension/xsd/xsd-wfs/pom.xml
  49. +1 −1  modules/extension/xsd/xsd-wms/pom.xml
  50. +1 −1  modules/extension/xsd/xsd-wps/pom.xml
  51. +1 −1  modules/library/api/pom.xml
  52. +1 −1  modules/library/coverage/pom.xml
  53. +9 −1 modules/library/coverage/src/main/java/org/geotools/coverage/grid/GeneralGridGeometry.java
  54. +2 −6 modules/library/coverage/src/main/java/org/geotools/coverage/processing/operation/Resampler2D.java
  55. +55 −5 modules/library/coverage/src/test/java/org/geotools/coverage/processing/ResampleTest.java
  56. +1 −1  modules/library/cql/pom.xml
  57. +1 −1  modules/library/data/pom.xml
  58. +1 −1  modules/library/jdbc/pom.xml
  59. +1 −1  modules/library/main/pom.xml
  60. +35 −1 modules/library/main/src/main/java/org/geotools/filter/FilterAttributeExtractor.java
  61. +7 −3 modules/library/main/src/main/java/org/geotools/styling/SLDTransformer.java
  62. +13 −0 modules/library/main/src/test/java/org/geotools/filter/FilterAttributeExtractorTest.java
  63. +25 −0 modules/library/main/src/test/java/org/geotools/styling/SLDTransformerTest.java
  64. +1 −1  modules/library/metadata/pom.xml
  65. +1 −1  modules/library/opengis/pom.xml
  66. +1 −1  modules/library/pom.xml
  67. +1 −1  modules/library/referencing/pom.xml
  68. +1 −1  modules/library/render/pom.xml
  69. +4 −3 modules/library/render/src/main/java/org/geotools/renderer/lite/StreamingRenderer.java
  70. +1 −1  modules/library/sample-data/pom.xml
  71. +1 −1  modules/library/xml/pom.xml
  72. +1 −1  modules/ogc/net.opengis.fes/pom.xml
  73. +2 −2 modules/ogc/net.opengis.ows/pom.xml
  74. +1 −1  modules/ogc/net.opengis.wcs/pom.xml
  75. +1 −1  modules/ogc/net.opengis.wfs/pom.xml
  76. +2 −2 modules/ogc/net.opengis.wfsv/pom.xml
  77. +1 −1  modules/ogc/net.opengis.wps/pom.xml
  78. +1 −1  modules/ogc/org.w3.xlink/pom.xml
  79. +1 −1  modules/ogc/pom.xml
  80. +1 −1  modules/plugin/arcgrid/pom.xml
  81. +1 −1  modules/plugin/arcsde/common/pom.xml
  82. +1 −1  modules/plugin/arcsde/datastore/pom.xml
  83. +8 −1 modules/plugin/arcsde/datastore/src/main/java/org/geotools/arcsde/data/ArcSDEDataStore.java
  84. +24 −12 modules/plugin/arcsde/datastore/src/main/java/org/geotools/arcsde/data/ArcSDEQuery.java
  85. +4 −1 modules/plugin/arcsde/datastore/src/main/java/org/geotools/arcsde/filter/FilterToSQLSDE.java
  86. +3 −0  modules/plugin/arcsde/datastore/src/test/java/org/geotools/arcsde/ArcSDEJNDIDataStoreFactoryTest.java
  87. +2 −0  modules/plugin/arcsde/datastore/src/test/java/org/geotools/arcsde/data/ArcSDEDataStoreVersioningTest.java
  88. +2 −1  modules/plugin/arcsde/datastore/src/test/java/org/geotools/arcsde/data/ArcSDEQueryTest.java
  89. +1 −0  modules/plugin/arcsde/datastore/src/test/java/org/geotools/arcsde/data/FIDReaderTest.java
  90. +1 −0  modules/plugin/arcsde/datastore/src/test/java/org/geotools/arcsde/data/SDEJavaApiJoinTest.java
  91. +1 −0  ...e/datastore/src/test/java/org/geotools/arcsde/raster/gce/ArcSDEGridCoverage2DReaderJAILegacyOnlineTest.java
  92. +1 −0  .../arcsde/datastore/src/test/java/org/geotools/arcsde/raster/gce/ArcSDEGridCoverage2DReaderJAIOnlineTest.java
  93. +2 −0  modules/plugin/arcsde/datastore/src/test/java/org/geotools/arcsde/session/SessionPoolTest.java
  94. +1 −1  modules/plugin/arcsde/pom.xml
  95. +1 −1  modules/plugin/arcsde/sde-dummy/pom.xml
  96. +1 −1  modules/plugin/charts/pom.xml
  97. +1 −1  modules/plugin/epsg-extension/pom.xml
  98. +1 −1  modules/plugin/epsg-hsql/pom.xml
  99. +1 −1  modules/plugin/epsg-postgresql/pom.xml
  100. +1 −1  modules/plugin/epsg-wkt/pom.xml
  101. +1 −1  modules/plugin/feature-pregeneralized/pom.xml
  102. +1 −1  modules/plugin/geotiff/pom.xml
  103. +19 −7 modules/plugin/geotiff/src/main/java/org/geotools/gce/geotiff/GeoTiffReader.java
  104. +71 −0 modules/plugin/geotiff/src/test/java/org/geotools/gce/geotiff/GeoTiffReaderTest.java
  105. +1 −0  modules/plugin/geotiff/src/test/resources/org/geotools/gce/geotiff/test-data/sample.prj
  106. BIN  modules/plugin/geotiff/src/test/resources/org/geotools/gce/geotiff/test-data/sample.tif
  107. +1 −1  modules/plugin/grassraster/pom.xml
  108. +1 −1  modules/plugin/gtopo30/pom.xml
  109. +1 −1  modules/plugin/image/pom.xml
  110. +1 −1  modules/plugin/imageio-ext-gdal/pom.xml
  111. +1 −1  modules/plugin/imagemosaic-jdbc/pom.xml
  112. +2 −2 modules/plugin/imagemosaic-jdbc/src/main/java/org/geotools/gce/imagemosaic/jdbc/custom/JDBCAccessPGRaster.java
  113. +1 −1  modules/plugin/imagemosaic/pom.xml
  114. +1 −1  modules/plugin/imagepyramid/pom.xml
  115. +1 −1  modules/plugin/jdbc/jdbc-db2/pom.xml
  116. +1 −1  modules/plugin/jdbc/jdbc-h2/pom.xml
  117. +2 −1  modules/plugin/jdbc/jdbc-h2/src/main/java/org/geotools/data/h2/H2DataStoreFactory.java
  118. +2 −0  modules/plugin/jdbc/jdbc-h2/src/test/java/org/geotools/data/h2/H2DataStoreFactoryTest.java
  119. +1 −1  modules/plugin/jdbc/jdbc-mysql/pom.xml
  120. +1 −1  modules/plugin/jdbc/jdbc-oracle/pom.xml
  121. +4 −2 modules/plugin/jdbc/jdbc-oracle/src/main/java/org/geotools/data/oracle/OracleNGDataStoreFactory.java
  122. +1 −1  modules/plugin/jdbc/jdbc-postgis/pom.xml
  123. +1 −1  modules/plugin/jdbc/jdbc-spatialite/pom.xml
  124. +1 −1  modules/plugin/jdbc/jdbc-sqlserver/pom.xml
  125. +1 −1  modules/plugin/jdbc/jdbc-teradata/pom.xml
  126. +1 −1  modules/plugin/jdbc/pom.xml
  127. +1 −1  modules/plugin/jp2k/pom.xml
  128. +1 −1  modules/plugin/pom.xml
  129. +1 −1  modules/plugin/property/pom.xml
  130. +1 −1  modules/plugin/referencing3D/pom.xml
  131. +1 −1  modules/plugin/shapefile/pom.xml
  132. +1 −1  modules/plugin/svg/pom.xml
  133. +1 −1  modules/pom.xml
  134. +1 −1  modules/unsupported/app-schema/pom.xml
  135. +1 −1  modules/unsupported/app-schema/webservice/pom.xml
  136. +1 −1  modules/unsupported/caching/pom.xml
  137. +3 −3 modules/unsupported/couchdb/pom.xml
  138. +1 −1  modules/unsupported/coverage-experiment/coverage-api/pom.xml
  139. +1 −1  modules/unsupported/coverage-experiment/coverage-core/pom.xml
  140. +1 −1  modules/unsupported/coverage-experiment/grib1/pom.xml
  141. +1 −1  modules/unsupported/coverage-experiment/hdf4/pom.xml
  142. +1 −1  modules/unsupported/coverage-experiment/netcdf/pom.xml
  143. +1 −1  modules/unsupported/coverage-experiment/pom.xml
  144. +1 −1  modules/unsupported/coveragetools/pom.xml
  145. +1 −1  modules/unsupported/csv/pom.xml
  146. +1 −1  modules/unsupported/dxf/pom.xml
  147. +1 −1  modules/unsupported/edigeo/pom.xml
  148. +2 −2 modules/unsupported/efeature/pom.xml
  149. +1 −1  modules/unsupported/epsg-oracle/pom.xml
  150. +1 −1  modules/unsupported/example/pom.xml
  151. +1 −1  modules/unsupported/excel/pom.xml
  152. +1 −1  modules/unsupported/feature-aggregate/pom.xml
  153. +1 −1  modules/unsupported/geojson/pom.xml
  154. +5 −1 modules/unsupported/geojson/src/main/java/org/geotools/geojson/DelegatingHandler.java
  155. +145 −0 modules/unsupported/geojson/src/main/java/org/geotools/geojson/RecordingHandler.java
  156. +4 −0 modules/unsupported/geojson/src/main/java/org/geotools/geojson/feature/FeatureCollectionHandler.java
  157. +20 −7 modules/unsupported/geojson/src/main/java/org/geotools/geojson/feature/FeatureHandler.java
  158. +15 −2 modules/unsupported/geojson/src/main/java/org/geotools/geojson/geom/GeometryHandler.java
  159. +98 −2 modules/unsupported/geojson/src/test/java/org/geotools/geojson/FeatureJSONTest.java
  160. +37 −1 modules/unsupported/geojson/src/test/java/org/geotools/geojson/GeometryJSONTest.java
  161. +1 −19 modules/unsupported/geometry/pom.xml
  162. +1 −1  modules/unsupported/georest/pom.xml
  163. +1 −1  modules/unsupported/geotiff_new/pom.xml
  164. +1 −1  modules/unsupported/grid/pom.xml
  165. +1 −1  modules/unsupported/imagecollection/pom.xml
  166. +1 −1  modules/unsupported/jdbc-ng/jdbc-ingres/pom.xml
  167. +1 −1  modules/unsupported/jdbc-ng/pom.xml
  168. +1 −1  modules/unsupported/jts-wrapper/pom.xml
  169. +1 −1  modules/unsupported/mark-wkt/pom.xml
  170. +1 −1  modules/unsupported/matfile5/pom.xml
  171. +1 −1  modules/unsupported/mongodb/pom.xml
  172. +1 −1  modules/unsupported/ogr/ogr-bridj/pom.xml
  173. +1 −1  modules/unsupported/ogr/ogr-core/pom.xml
  174. +1 −1  modules/unsupported/ogr/ogr-jni/pom.xml
  175. +1 −1  modules/unsupported/ogr/ogr-jni/src/main/java/org/geotools/data/ogr/jni/JniOGRDataStoreFactory.java
  176. +1 −1  modules/unsupported/ogr/pom.xml
  177. +1 −1  modules/unsupported/pom.xml
  178. +1 −1  modules/unsupported/postgis-versioned/pom.xml
  179. +1 −1  modules/unsupported/process-feature/pom.xml
  180. +6 −6 modules/unsupported/process-feature/src/main/java/org/geotools/process/feature/gs/AggregateProcess.java
  181. +3 −3 modules/unsupported/process-feature/src/main/java/org/geotools/process/feature/gs/BoundsProcess.java
  182. +5 −5 modules/unsupported/process-feature/src/main/java/org/geotools/process/feature/gs/BufferFeatureCollection.java
  183. +3 −3 modules/unsupported/process-feature/src/main/java/org/geotools/process/feature/gs/CentroidProcess.java
  184. +4 −4 modules/unsupported/process-feature/src/main/java/org/geotools/process/feature/gs/ClipProcess.java
  185. +3 −3 modules/unsupported/process-feature/src/main/java/org/geotools/process/feature/gs/CollectGeometries.java
  186. +3 −3 modules/unsupported/process-feature/src/main/java/org/geotools/process/feature/gs/CountProcess.java
  187. +5 −5 modules/unsupported/process-feature/src/main/java/org/geotools/process/feature/gs/FeatureProcess.java
  188. +7 −9 modules/unsupported/process-feature/src/main/java/org/geotools/process/feature/gs/GridProcess.java
  189. +2 −3 ...s/unsupported/process-feature/src/main/java/org/geotools/process/feature/gs/InclusionFeatureCollection.java
  190. +7 −9 ...nsupported/process-feature/src/main/java/org/geotools/process/feature/gs/IntersectionFeatureCollection.java
  191. +6 −6 modules/unsupported/process-feature/src/main/java/org/geotools/process/feature/gs/LRSGeocodeProcess.java
  192. +7 −7 modules/unsupported/process-feature/src/main/java/org/geotools/process/feature/gs/LRSMeasureProcess.java
  193. +7 −7 modules/unsupported/process-feature/src/main/java/org/geotools/process/feature/gs/LRSSegmentProcess.java
  194. +5 −5 modules/unsupported/process-feature/src/main/java/org/geotools/process/feature/gs/NearestProcess.java
  195. +6 −10 modules/unsupported/process-feature/src/main/java/org/geotools/process/feature/gs/PointBuffers.java
  196. +7 −7 modules/unsupported/process-feature/src/main/java/org/geotools/process/feature/gs/PointStackerProcess.java
  197. +5 −6 modules/unsupported/process-feature/src/main/java/org/geotools/process/feature/gs/QueryProcess.java
  198. +4 −4 modules/unsupported/process-feature/src/main/java/org/geotools/process/feature/gs/RectangularClipProcess.java
  199. +4 −4 modules/unsupported/process-feature/src/main/java/org/geotools/process/feature/gs/ReprojectProcess.java
  200. +4 −4 modules/unsupported/process-feature/src/main/java/org/geotools/process/feature/gs/SimplifyProcess.java
  201. +5 −5 modules/unsupported/process-feature/src/main/java/org/geotools/process/feature/gs/SnapProcess.java
  202. +35 −14 modules/unsupported/process-feature/src/main/java/org/geotools/process/feature/gs/TransformProcess.java
  203. +3 −5 modules/unsupported/process-feature/src/main/java/org/geotools/process/feature/gs/UnionFeatureCollection.java
  204. +4 −4 modules/unsupported/process-feature/src/main/java/org/geotools/process/feature/gs/UniqueProcess.java
  205. +5 −12 modules/unsupported/process-feature/src/main/java/org/geotools/process/feature/gs/VectorZonalStatistics.java
  206. +48 −0 modules/unsupported/process-feature/src/test/java/org/geotools/process/feature/gs/TransformProcessTest.java
  207. +1 −1  modules/unsupported/process-geometry/pom.xml
  208. +5 −5 modules/unsupported/process-geometry/src/main/java/org/geotools/process/geometry/gs/ReprojectGeometry.java
  209. +203 −116 modules/unsupported/process-geometry/src/main/java/org/geotools/process/jts/GeometryFunctions.java
  210. +51 −0 modules/unsupported/process-geometry/src/test/java/org/geotools/process/jts/GeometryFunctionsTest.java
  211. +1 −1  modules/unsupported/process-raster/pom.xml
  212. +8 −8 modules/unsupported/process-raster/src/main/java/org/geotools/process/raster/VectorToRasterFactory.java
  213. +4 −7 modules/unsupported/process-raster/src/main/java/org/geotools/process/raster/gs/AddCoveragesProcess.java
  214. +5 −5 modules/unsupported/process-raster/src/main/java/org/geotools/process/raster/gs/AreaGridProcess.java
  215. +9 −9 modules/unsupported/process-raster/src/main/java/org/geotools/process/raster/gs/ContourProcess.java
  216. +4 −4 modules/unsupported/process-raster/src/main/java/org/geotools/process/raster/gs/CropCoverage.java
  217. +4 −7 modules/unsupported/process-raster/src/main/java/org/geotools/process/raster/gs/MultiplyCoveragesProcess.java
  218. +9 −12 modules/unsupported/process-raster/src/main/java/org/geotools/process/raster/gs/PolygonExtractionProcess.java
  219. +8 −12 modules/unsupported/process-raster/src/main/java/org/geotools/process/raster/gs/RangeLookupProcess.java
  220. +3 −3 ...unsupported/process-raster/src/main/java/org/geotools/process/raster/gs/RasterAsPointCollectionProcess.java
  221. +7 −14 modules/unsupported/process-raster/src/main/java/org/geotools/process/raster/gs/RasterZonalStatistics.java
  222. +4 −4 modules/unsupported/process-raster/src/main/java/org/geotools/process/raster/gs/ScaleCoverage.java
  223. +4 −4 modules/unsupported/process-raster/src/main/java/org/geotools/process/raster/gs/StyleCoverage.java
  224. +16 −16 modules/unsupported/process-raster/src/main/java/org/geotools/process/raster/surface/BarnesSurfaceProcess.java
  225. +9 −9 modules/unsupported/process-raster/src/main/java/org/geotools/process/raster/surface/HeatmapProcess.java
  226. +1 −1  modules/unsupported/process/pom.xml
  227. +1 −1  modules/unsupported/process/src/main/java/org/geotools/process/factory/AnnotationDrivenProcessFactory.java
  228. +5 −1 modules/unsupported/process/src/test/java/org/geotools/process/factory/BeanProcessFactoryTest.java
  229. +1 −1  modules/unsupported/property-ng/pom.xml
  230. +1 −1  modules/unsupported/sfs/pom.xml
  231. +1 −1  modules/unsupported/shapefile-ng/pom.xml
  232. +1 −1  modules/unsupported/shapefile-renderer/pom.xml
  233. +1 −1  modules/unsupported/swing/pom.xml
  234. +1 −1  modules/unsupported/swt/pom.xml
  235. +11 −1 modules/unsupported/swt/src/main/java/org/geotools/swt/SwtMapPane.java
  236. +1 −1  modules/unsupported/vpf/pom.xml
  237. +1 −1  modules/unsupported/wfs-ng/pom.xml
  238. +1 −1  modules/unsupported/wfs/pom.xml
  239. +1 −1  modules/unsupported/wps/pom.xml
  240. +2 −1  modules/unsupported/wps/src/main/java/org/geotools/data/wps/WPSProcess.java
  241. +19 −0 modules/unsupported/wps/src/main/java/org/geotools/data/wps/WPSUtils.java
  242. +3 −7 modules/unsupported/wps/src/main/java/org/geotools/data/wps/WebProcessingService.java
  243. +31 −9 modules/unsupported/wps/src/main/java/org/geotools/data/wps/request/AbstractExecuteProcessRequest.java
  244. +5 −2 modules/unsupported/wps/src/main/java/org/geotools/data/wps/request/ExecuteProcessRequest.java
  245. +12 −11 modules/unsupported/wps/src/test/java/org/geotools/data/wps/OnlineWPSFactoryTest.java
  246. +96 −17 modules/unsupported/wps/src/test/java/org/geotools/data/wps/OnlineWPSManualRequestTest.java
  247. +2 −2 pom.xml
  248. +8 −8 spike/jan/gsoc-transformations/pom.xml
  249. +1 −1  spike/mauro/ogr/pom.xml
View
8 README.html
@@ -2,7 +2,7 @@
<HTML>
<HEAD>
<META HTTP-EQUIV="CONTENT-TYPE" CONTENT="text/html; charset=utf-8">
- <TITLE>GeoTools 8.0 README</TITLE>
+ <TITLE>GeoTools 8.1 README</TITLE>
<META NAME="GENERATOR" CONTENT="LibreOffice 3.3 (Linux)">
<META NAME="CREATED" CONTENT="0;0">
<META NAME="CHANGEDBY" CONTENT="Jody Garnett">
@@ -23,9 +23,9 @@
</HEAD>
<BODY LANG="en-AU" DIR="LTR">
<a href="http://geotools.org"><img src="geotools-logo.png"></a>
-<H1 CLASS="western">GeoTools 8.0</H1>
-<P>Thank you for downloading GeoTools 8.0. This release was
-created on Aug 03, 2012.</P>
+<H1 CLASS="western">GeoTools 8.1</H1>
+<P>Thank you for downloading GeoTools 8.1. This release was
+created on Sep 02, 2012.</P>
<P>This release contains only a subset of the current GeoTools code
base. The full GeoTools code base contains additional unsupported
View
2  build/maven/jar-collector/pom.xml
@@ -16,7 +16,7 @@
<parent>
<groupId>org.geotools.maven</groupId>
<artifactId>maven</artifactId>
- <version>8.0</version>
+ <version>8.1</version>
</parent>
View
2  build/maven/javadoc/pom.xml
@@ -16,7 +16,7 @@
<parent>
<groupId>org.geotools.maven</groupId>
<artifactId>maven</artifactId>
- <version>8.0</version>
+ <version>8.1</version>
</parent>
View
2  build/maven/jjtree-javacc/pom.xml
@@ -16,7 +16,7 @@
<parent>
<groupId>org.geotools.maven</groupId>
<artifactId>maven</artifactId>
- <version>8.0</version>
+ <version>8.1</version>
</parent>
View
2  build/maven/pom.xml
@@ -16,7 +16,7 @@
<parent>
<groupId>org.geotools.maven</groupId>
<artifactId>build</artifactId>
- <version>8.0</version>
+ <version>8.1</version>
</parent>
View
2  build/maven/xmlcodegen/pom.xml
@@ -16,7 +16,7 @@
<parent>
<groupId>org.geotools.maven</groupId>
<artifactId>maven</artifactId>
- <version>8.0</version>
+ <version>8.1</version>
</parent>
View
2  build/pom.xml
@@ -16,7 +16,7 @@
<parent>
<groupId>org.geotools</groupId>
<artifactId>geotools</artifactId>
- <version>8.0</version>
+ <version>8.1</version>
</parent>
View
6 build/rename.xml
@@ -10,14 +10,14 @@
<include name="**/pom.xml"/>
<include name="**/GeoTools.java"/>
<include name="**/common.py"/>
- <replacefilter token="8-SNAPSHOT" value="8.0"/>
+ <replacefilter token="8-SNAPSHOT" value="8.1"/>
</replace>
</target>
<target name="readme">
<replace file="../README.html">
- <replacefilter token="@RELEASE@" value="8.0"/>
- <replacefilter token="@DATE@" value="Aug 03, 2012"/>
+ <replacefilter token="@RELEASE@" value="8.1"/>
+ <replacefilter token="@DATE@" value="Sep 02, 2012"/>
</replace>
</target>
View
2  docs/common.py
@@ -49,7 +49,7 @@
# built documents.
#
# The full version, including alpha/beta/rc tags.
-release = '8.0'
+release = '8.1'
# The short X.Y version.
version = release
View
2  docs/pom.xml
@@ -13,7 +13,7 @@
<parent>
<groupId>org.geotools</groupId>
<artifactId>geotools</artifactId>
- <version>8.0</version>
+ <version>8.1</version>
</parent>
View
2  docs/user/tutorial/advanced/artifacts/pom.xml
@@ -11,7 +11,7 @@
<url>http://maven.apache.org</url>
<properties>
- <geotools.version>8.0</geotools.version>
+ <geotools.version>8.1</geotools.version>
</properties>
<dependencies>
View
2  docs/user/tutorial/feature/artifacts/pom.xml
@@ -11,7 +11,7 @@
<url>http://maven.apache.org</url>
<properties>
- <geotools.version>8.0</geotools.version>
+ <geotools.version>8.1</geotools.version>
</properties>
<dependencies>
View
2  docs/user/tutorial/filter/artifacts/pom.xml
@@ -11,7 +11,7 @@
<url>http://maven.apache.org</url>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
- <geotools.version>8.0</geotools.version>
+ <geotools.version>8.1</geotools.version>
</properties>
<dependencies>
<!-- Provides map projections -->
View
2  docs/user/tutorial/geometry/artifacts/pom.xml
@@ -11,7 +11,7 @@
<url>http://maven.apache.org</url>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
- <geotools.version>8.0</geotools.version>
+ <geotools.version>8.1</geotools.version>
</properties>
<dependencies>
<dependency>
View
2  docs/user/tutorial/map/artifacts/pom.xml
@@ -11,7 +11,7 @@
<url>http://maven.apache.org</url>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
- <geotools.version>8.0</geotools.version>
+ <geotools.version>8.1</geotools.version>
</properties>
<dependencies>
<dependency>
View
2  docs/user/tutorial/quickstart/artifacts/pom.xml
@@ -11,7 +11,7 @@
<url>http://maven.apache.org</url>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
- <geotools.version>8.0</geotools.version>
+ <geotools.version>8.1</geotools.version>
</properties>
<dependencies>
<dependency>
View
2  docs/user/tutorial/raster/artifacts/pom.xml
@@ -11,7 +11,7 @@
<url>http://maven.apache.org</url>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
- <geotools.version>8.0</geotools.version>
+ <geotools.version>8.1</geotools.version>
</properties>
<dependencies>
<dependency>
View
2  modules/extension/app-schema/app-schema-example/pom.xml
@@ -7,7 +7,7 @@
<parent>
<groupId>org.geotools</groupId>
<artifactId>app-schema</artifactId>
- <version>8.0</version>
+ <version>8.1</version>
</parent>
View
2  modules/extension/app-schema/app-schema-packages/pom.xml
@@ -7,7 +7,7 @@
<parent>
<groupId>org.geotools</groupId>
<artifactId>app-schema</artifactId>
- <version>8.0</version>
+ <version>8.1</version>
</parent>
<groupId>org.geotools</groupId>
View
2  modules/extension/app-schema/app-schema-resolver/pom.xml
@@ -7,7 +7,7 @@
<parent>
<groupId>org.geotools</groupId>
<artifactId>app-schema</artifactId>
- <version>8.0</version>
+ <version>8.1</version>
</parent>
<groupId>org.geotools</groupId>
View
2  modules/extension/app-schema/app-schema/pom.xml
@@ -7,7 +7,7 @@
<parent>
<groupId>org.geotools</groupId>
<artifactId>app-schema</artifactId>
- <version>8.0</version>
+ <version>8.1</version>
</parent>
<groupId>org.geotools</groupId>
View
3  ...tension/app-schema/app-schema/src/main/java/org/geotools/data/complex/MappingFeatureIteratorFactory.java
@@ -103,8 +103,9 @@ public boolean isListFilterExists() {
}
public static IMappingFeatureIterator getInstance(AppSchemaDataAccess store,
- FeatureTypeMapping mapping, Query query, Filter unrolledFilter) throws IOException {
+ FeatureTypeMapping mapping, Query rawQuery, Filter unrolledFilter) throws IOException {
+ Query query = new Query(rawQuery);
if (mapping instanceof XmlFeatureTypeMapping) {
return new XmlMappingFeatureIterator(store, mapping, query);
}
View
2  modules/extension/app-schema/pom.xml
@@ -7,7 +7,7 @@
<parent>
<groupId>org.geotools</groupId>
<artifactId>extension</artifactId>
- <version>8.0</version>
+ <version>8.1</version>
</parent>
<groupId>org.geotools</groupId>
View
2  modules/extension/app-schema/sample-data-access/pom.xml
@@ -7,7 +7,7 @@
<parent>
<artifactId>app-schema</artifactId>
<groupId>org.geotools</groupId>
- <version>8.0</version>
+ <version>8.1</version>
</parent>
<groupId>org.geotools</groupId>
View
2  modules/extension/brewer/pom.xml
@@ -16,7 +16,7 @@
<parent>
<groupId>org.geotools</groupId>
<artifactId>extension</artifactId>
- <version>8.0</version>
+ <version>8.1</version>
</parent>
View
2  modules/extension/graph/pom.xml
@@ -16,7 +16,7 @@
<parent>
<groupId>org.geotools</groupId>
<artifactId>extension</artifactId>
- <version>8.0</version>
+ <version>8.1</version>
</parent>
View
6 modules/extension/graph/src/main/java/org/geotools/graph/build/feature/FeatureGraphGenerator.java
@@ -53,7 +53,11 @@ public Graph getGraph() {
public GraphBuilder getGraphBuilder() {
return decorated.getGraphBuilder();
}
-
+
+ public GraphGenerator getDecorated() {
+ return decorated;
+ }
+
public Graphable add( Object obj ) {
SimpleFeature feature = (SimpleFeature) obj;
Graphable g = decorated.add( feature.getDefaultGeometry() );
View
5 modules/extension/graph/src/main/java/org/geotools/graph/build/line/DirectedLineStringGraphGenerator.java
@@ -31,5 +31,8 @@ public DirectedLineStringGraphGenerator() {
setGraphBuilder(new BasicDirectedGraphBuilder());
}
-
+ public DirectedLineStringGraphGenerator(double tolerance) {
+ super(tolerance);
+ setGraphBuilder(new BasicDirectedGraphBuilder());
+ }
}
View
2  modules/extension/pom.xml
@@ -16,7 +16,7 @@
<parent>
<groupId>org.geotools</groupId>
<artifactId>modules</artifactId>
- <version>8.0</version>
+ <version>8.1</version>
</parent>
View
2  modules/extension/validation/pom.xml
@@ -16,7 +16,7 @@
<parent>
<groupId>org.geotools</groupId>
<artifactId>extension</artifactId>
- <version>8.0</version>
+ <version>8.1</version>
</parent>
View
2  modules/extension/wms/pom.xml
@@ -16,7 +16,7 @@
<parent>
<groupId>org.geotools</groupId>
<artifactId>extension</artifactId>
- <version>8.0</version>
+ <version>8.1</version>
</parent>
View
2  modules/extension/xsd/pom.xml
@@ -16,7 +16,7 @@
<parent>
<groupId>org.geotools</groupId>
<artifactId>extension</artifactId>
- <version>8.0</version>
+ <version>8.1</version>
</parent>
View
2  modules/extension/xsd/xsd-core/pom.xml
@@ -16,7 +16,7 @@
<parent>
<groupId>org.geotools.xsd</groupId>
<artifactId>xsd</artifactId>
- <version>8.0</version>
+ <version>8.1</version>
</parent>
View
2  modules/extension/xsd/xsd-fes/pom.xml
@@ -16,7 +16,7 @@
<parent>
<groupId>org.geotools.xsd</groupId>
<artifactId>xsd</artifactId>
- <version>8.0</version>
+ <version>8.1</version>
</parent>
View
2  modules/extension/xsd/xsd-filter/pom.xml
@@ -16,7 +16,7 @@
<parent>
<groupId>org.geotools.xsd</groupId>
<artifactId>xsd</artifactId>
- <version>8.0</version>
+ <version>8.1</version>
</parent>
View
2  modules/extension/xsd/xsd-gml2/pom.xml
@@ -16,7 +16,7 @@
<parent>
<groupId>org.geotools.xsd</groupId>
<artifactId>xsd</artifactId>
- <version>8.0</version>
+ <version>8.1</version>
</parent>
<!-- =========================================================== -->
View
2  modules/extension/xsd/xsd-gml3/pom.xml
@@ -16,7 +16,7 @@
<parent>
<groupId>org.geotools.xsd</groupId>
<artifactId>xsd</artifactId>
- <version>8.0</version>
+ <version>8.1</version>
</parent>
View
3  modules/extension/xsd/xsd-gml3/src/main/java/org/geotools/gml3/GMLConfiguration.java
@@ -26,6 +26,7 @@
import org.geotools.gml3.bindings.AbstractFeatureTypeBinding;
import org.geotools.gml3.bindings.AbstractGeometryTypeBinding;
import org.geotools.gml3.bindings.AbstractRingPropertyTypeBinding;
+import org.geotools.gml3.bindings.ArcStringTypeBinding;
import org.geotools.gml3.bindings.BoundingShapeTypeBinding;
import org.geotools.gml3.bindings.ComplexSupportXSAnyTypeBinding;
import org.geotools.gml3.bindings.CurveArrayPropertyTypeBinding;
@@ -279,6 +280,8 @@ protected void registerBindings(MutablePicoContainer container) {
//extended bindings for arc/surface support
if (isExtendedArcSurfaceSupport()) {
+ container.registerComponentImplementation(GML.ArcStringType,
+ ArcStringTypeBinding.class);
container.registerComponentImplementation(GML.ArcType,
ArcTypeBinding.class);
container.registerComponentImplementation(GML.CircleType,
View
184 modules/extension/xsd/xsd-gml3/src/main/java/org/geotools/gml3/bindings/ArcStringTypeBinding.java
@@ -0,0 +1,184 @@
+package org.geotools.gml3.bindings;
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
+
+import org.geotools.gml3.ArcParameters;
+import org.geotools.gml3.Circle;
+import org.geotools.gml3.GML;
+import org.geotools.xml.*;
+
+import com.vividsolutions.jts.geom.Coordinate;
+import com.vividsolutions.jts.geom.CoordinateSequenceFactory;
+import com.vividsolutions.jts.geom.GeometryFactory;
+import com.vividsolutions.jts.geom.LineString;
+
+import javax.xml.namespace.QName;
+
+/**
+ * Binding object for the type http://www.opengis.net/gml:ArcStringType.
+ * <p>
+ *
+ * <pre>
+ * <code>
+ * &lt;complexType name="ArcStringType"&gt;
+ * &lt;annotation&gt;
+ * &lt;documentation&gt;An ArcString is a curve segment that uses three-point circular arc interpolation.&lt;/documentation&gt;
+ * &lt;/annotation&gt;
+ * &lt;complexContent&gt;
+ * &lt;extension base="gml:AbstractCurveSegmentType"&gt;
+ * &lt;sequence&gt;
+ * &lt;choice&gt;
+ * &lt;annotation&gt;
+ * &lt;documentation&gt;GML supports two different ways to specify the control points of a curve segment.
+ * 1. A sequence of "pos" (DirectPositionType) or "pointProperty" (PointPropertyType) elements. "pos" elements are control points that are only part of this curve segment, "pointProperty" elements contain a point that may be referenced from other geometry elements or reference another point defined outside of this curve segment (reuse of existing points).
+ * 2. The "posList" element allows for a compact way to specifiy the coordinates of the control points, if all control points are in the same coordinate reference systems and belong to this curve segment only. The number of direct positions in the list must be at least three.&lt;/documentation&gt;
+ * &lt;/annotation&gt;
+ * &lt;choice maxOccurs="unbounded" minOccurs="3"&gt;
+ * &lt;element ref="gml:pos"/&gt;
+ * &lt;element ref="gml:pointProperty"/&gt;
+ * &lt;element ref="gml:pointRep"&gt;
+ * &lt;annotation&gt;
+ * &lt;documentation&gt;Deprecated with GML version 3.1.0. Use "pointProperty" instead. Included for backwards compatibility with GML 3.0.0.&lt;/documentation&gt;
+ * &lt;/annotation&gt;
+ * &lt;/element&gt;
+ * &lt;/choice&gt;
+ * &lt;element ref="gml:posList"/&gt;
+ * &lt;element ref="gml:coordinates"&gt;
+ * &lt;annotation&gt;
+ * &lt;documentation&gt;Deprecated with GML version 3.1.0. Use "posList" instead.&lt;/documentation&gt;
+ * &lt;/annotation&gt;
+ * &lt;/element&gt;
+ * &lt;/choice&gt;
+ * &lt;/sequence&gt;
+ * &lt;attribute fixed="circularArc3Points" name="interpolation" type="gml:CurveInterpolationType"&gt;
+ * &lt;annotation&gt;
+ * &lt;documentation&gt;The attribute "interpolation" specifies the curve interpolation mechanism used for this segment. This mechanism
+ * uses the control points and control parameters to determine the position of this curve segment. For an ArcString the interpolation is fixed as "circularArc3Points".&lt;/documentation&gt;
+ * &lt;/annotation&gt;
+ * &lt;/attribute&gt;
+ * &lt;attribute name="numArc" type="integer" use="optional"&gt;
+ * &lt;annotation&gt;
+ * &lt;documentation&gt;The number of arcs in the arc string can be explicitly stated in this attribute. The number of control points in the arc string must be 2 * numArc + 1.&lt;/documentation&gt;
+ * &lt;/annotation&gt;
+ * &lt;/attribute&gt;
+ * &lt;/extension&gt;
+ * &lt;/complexContent&gt;
+ * &lt;/complexType&gt;
+ *
+ * </code>
+ * </pre>
+ *
+ * </p>
+ *
+ * @generated
+ */
+public class ArcStringTypeBinding extends AbstractComplexBinding {
+
+ GeometryFactory gFactory;
+ CoordinateSequenceFactory csFactory;
+ ArcParameters arcParameters;
+
+ public ArcStringTypeBinding(GeometryFactory gFactory, CoordinateSequenceFactory csFactory, ArcParameters arcParameters) {
+ this.gFactory = gFactory;
+ this.csFactory = csFactory;
+ this.arcParameters = arcParameters;
+ }
+
+ /**
+ * @generated
+ */
+ public QName getTarget() {
+ return GML.ArcStringType;
+ }
+
+ @Override
+ public int getExecutionMode() {
+ return OVERRIDE;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated modifiable
+ */
+ public Class getType() {
+ return LineString.class;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated modifiable
+ */
+ public Object parse(ElementInstance instance, Node node, Object value)
+ throws Exception {
+
+ LineString arcLineString = GML3ParsingUtils.lineString(node, gFactory, csFactory);
+
+ Coordinate[] arcCoordinates = arcLineString.getCoordinates();
+ if (arcCoordinates.length < 3) {
+ // maybe log this instead and return null
+ throw new RuntimeException("Number of coordinates in an arc string must be at least 3, "
+ + arcCoordinates.length + " were specified: " + arcLineString);
+ }
+
+ Coordinate c1 = arcCoordinates[0];
+ Coordinate c2 = arcCoordinates[arcCoordinates.length/2];
+ Coordinate c3 = arcCoordinates[arcCoordinates.length-1];
+
+ // determine whether we need to reverse our input.
+ boolean mustReverse = laidOutClockwise(c1, c2, c3);
+
+ if (mustReverse) {
+ // swap coords 1 and 3
+ Coordinate cTemp = c1;
+ c1 = c3;
+ c3 = cTemp;
+ }
+
+ Circle circle = new Circle(c1, c2, c3);
+ double tolerance = arcParameters.getLinearizationTolerance().getTolerance(circle);
+ Coordinate[] resultCoordinates = circle.linearizeArc(c1, c2, c3, tolerance);
+
+ if (mustReverse) {
+ // reverse back
+ List<Coordinate> reversingCoordinates = Arrays.asList(resultCoordinates);
+ Collections.reverse(reversingCoordinates);
+ resultCoordinates = (Coordinate[])
+ reversingCoordinates.toArray(new Coordinate[reversingCoordinates.size()]);
+ }
+
+ LineString resultLineString = gFactory.createLineString(resultCoordinates);
+
+ return resultLineString;
+ }
+
+ /**
+ * Returns whether the input coordinates are laid out clockwise on their corresponding circle.
+ * Only works correctly if the Euclidean distance between c1 and c2 is equal to the Euclidean distance between c2 and c3.
+ * @param c1
+ * @param c2
+ * @param c3
+ * @return true if input coordinates are laid out clockwise on their corresponding circle. false otherwise.
+ */
+ protected boolean laidOutClockwise(Coordinate c1, Coordinate c2, Coordinate c3) {
+ double x1 = c1.x;
+ double y1 = c1.y;
+ double x2 = c2.x;
+ double y2 = c2.y;
+ double x3 = c3.x;
+ double y3 = c3.y;
+
+ double midY = y1 - (y1 - y3) / 2;
+
+ return (x1 < x3 && midY < y2) ||
+ (x1 > x3 && midY > y2) ||
+ (Double.compare(x1, x3) == 0 && (
+ (y1 < y3 && x1 > x2) || // x1 == x3 == midX in this case and the case below
+ (y1 > y3 && x1 < x2)
+ // Double.compare(y1, y3) == 0 degenerate case omitted
+ ));
+ }
+
+}
View
108 modules/extension/xsd/xsd-gml3/src/main/java/org/geotools/gml3/bindings/ArcTypeBinding.java
@@ -35,6 +35,44 @@
/**
+ * &lt;complexType name="ArcType">
+ * &lt;annotation>
+ * &lt;documentation>An Arc is an arc string with only one arc unit, i.e. three control points.&lt;/documentation>
+ * &lt;/annotation>
+ * &lt;complexContent>
+ * &lt;restriction base="gml:ArcStringType">
+ * &lt;sequence>
+ * &lt;choice>
+ * &lt;annotation>
+ * &lt;documentation>GML supports two different ways to specify the control points of a curve segment.
+ *1. A sequence of "pos" (DirectPositionType) or "pointProperty" (PointPropertyType) elements. "pos" elements are control points that are only part of this curve segment, "pointProperty" elements contain a point that may be referenced from other geometry elements or reference another point defined outside of this curve segment (reuse of existing points).
+ *2. The "posList" element allows for a compact way to specifiy the coordinates of the control points, if all control points are in the same coordinate reference systems and belong to this curve segment only. The number of direct positions in the list must be three.&lt;/documentation>
+ * &lt;/annotation>
+ * &lt;choice minOccurs="3" maxOccurs="3">
+ * &lt;element ref="gml:pos"/>
+ * &lt;element ref="gml:pointProperty"/>
+ * &lt;element ref="gml:pointRep">
+ * &lt;annotation>
+ * &lt;documentation>Deprecated with GML version 3.1.0. Use "pointProperty" instead. Included for backwards compatibility with GML 3.0.0.&lt;/documentation>
+ * &lt;/annotation>
+ * &lt;/element>
+ * &lt;/choice>
+ * &lt;element ref="gml:posList"/>
+ * &lt;element ref="gml:coordinates">
+ * &lt;annotation>
+ * &lt;documentation>Deprecated with GML version 3.1.0. Use "posList" instead.&lt;/documentation>
+ * &lt;/annotation>
+ * &lt;/element>
+ * &lt;/choice>
+ * &lt;/sequence>
+ * &lt;attribute name="numArc" type="integer" use="optional" fixed="1">
+ * &lt;annotation>
+ * &lt;documentation>An arc is an arc string consiting of a single arc, the attribute is fixed to "1".&lt;/documentation>
+ * &lt;/annotation>
+ * &lt;/attribute>
+ * &lt;/restriction>
+ * &lt;/complexContent>
+ * &lt;/complexType>
*
* @author Erik van de Pol. B3Partners BV.
*
@@ -71,7 +109,7 @@ public Class getType() {
@Override
public int getExecutionMode() {
- return OVERRIDE;
+ return AFTER;
}
/**
@@ -84,71 +122,13 @@ public int getExecutionMode() {
public Object parse(ElementInstance instance, Node node, Object value)
throws Exception {
+ //check that three points were specified
LineString arcLineString = GML3ParsingUtils.lineString(node, gFactory, csFactory);
-
- Coordinate[] arcCoordinates = arcLineString.getCoordinates();
- if (arcCoordinates.length != 3) {
- // maybe log this instead and return null
- throw new RuntimeException(
- "GML3 parser exception: The number of coordinates of an Arc should be 3. It currently is: " + arcCoordinates.length + "; " + arcLineString);
+ if (arcLineString.getCoordinates().length != 3) {
+ throw new RuntimeException("Number of coordinates in an arc must be exactly 3, "
+ + arcLineString.getCoordinates().length + " were specified: " + arcLineString);
}
- Coordinate c1 = arcCoordinates[0];
- Coordinate c2 = arcCoordinates[1];
- Coordinate c3 = arcCoordinates[2];
-
- // determine whether we need to reverse our input.
- boolean mustReverse = laidOutClockwise(c1, c2, c3);
-
- if (mustReverse) {
- // swap coords 1 and 3
- Coordinate cTemp = c1;
- c1 = c3;
- c3 = cTemp;
- }
-
- Circle circle = new Circle(c1, c2, c3);
- double tolerance = arcParameters.getLinearizationTolerance().getTolerance(circle);
- Coordinate[] resultCoordinates = circle.linearizeArc(c1, c2, c3, tolerance);
-
- if (mustReverse) {
- // reverse back
- List<Coordinate> reversingCoordinates = Arrays.asList(resultCoordinates);
- Collections.reverse(reversingCoordinates);
- resultCoordinates = (Coordinate[])
- reversingCoordinates.toArray(new Coordinate[reversingCoordinates.size()]);
- }
-
- LineString resultLineString = gFactory.createLineString(resultCoordinates);
-
- return resultLineString;
- }
-
- /**
- * Returns whether the input coordinates are laid out clockwise on their corresponding circle.
- * Only works correctly if the Euclidean distance between c1 and c2 is equal to the Euclidean distance between c2 and c3.
- * @param c1
- * @param c2
- * @param c3
- * @return true if input coordinates are laid out clockwise on their corresponding circle. false otherwise.
- */
- protected boolean laidOutClockwise(Coordinate c1, Coordinate c2, Coordinate c3) {
- double x1 = c1.x;
- double y1 = c1.y;
- double x2 = c2.x;
- double y2 = c2.y;
- double x3 = c3.x;
- double y3 = c3.y;
-
- double midY = y1 - (y1 - y3) / 2;
-
- return (x1 < x3 && midY < y2) ||
- (x1 > x3 && midY > y2) ||
- (Double.compare(x1, x3) == 0 && (
- (y1 < y3 && x1 > x2) || // x1 == x3 == midX in this case and the case below
- (y1 > y3 && x1 < x2)
- // Double.compare(y1, y3) == 0 degenerate case omitted
- ));
+ return value;
}
-
}
View
3  modules/extension/xsd/xsd-gml3/src/main/java/org/geotools/gml3/v3_2/GMLConfiguration.java
@@ -24,6 +24,7 @@
import org.geotools.gml3.bindings.AbstractFeatureTypeBinding;
import org.geotools.gml3.bindings.AbstractGeometryTypeBinding;
import org.geotools.gml3.bindings.AbstractRingPropertyTypeBinding;
+import org.geotools.gml3.bindings.ArcStringTypeBinding;
import org.geotools.gml3.bindings.ArcTypeBinding;
import org.geotools.gml3.bindings.BoundingShapeTypeBinding;
import org.geotools.gml3.bindings.CircleTypeBinding;
@@ -231,6 +232,8 @@ protected final void registerBindings( MutablePicoContainer container ) {
//extended bindings for arc/surface support
if (isExtendedArcSurfaceSupport()) {
+ container.registerComponentImplementation(GML.ArcStringType,
+ ArcStringTypeBinding.class);
container.registerComponentImplementation(GML.ArcType,
ArcTypeBinding.class);
container.registerComponentImplementation(GML.CircleType,
View
15 modules/extension/xsd/xsd-gml3/src/test/java/org/geotools/gml3/v3_2/GML32SurfaceParsingTest.java
@@ -0,0 +1,15 @@
+package org.geotools.gml3.v3_2;
+
+import org.geotools.xml.Parser;
+
+import com.vividsolutions.jts.geom.LineString;
+
+public class GML32SurfaceParsingTest extends GML32TestSupport {
+
+ public void testMultiSurface() throws Exception {
+ GMLConfiguration gml = new GMLConfiguration(true);
+ Parser p = new Parser(gml);
+ System.out.println(p.parse(getClass().getResourceAsStream("multisurface.xml")));
+ //assertNotNull(l);
+ }
+}
View
55 modules/extension/xsd/xsd-gml3/src/test/resources/org/geotools/gml3/v3_2/multisurface.xml
@@ -0,0 +1,55 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<ns6:MultiSurfacePropertyType xmlns="urn:cz:isvs:ruian:schemas:VymennyFormatTypy:v1" xmlns:ns2="urn:cz:isvs:ruian:schemas:CommonTypy:v1" xmlns:ns3="http://www.w3.org/1999/xlink" xmlns:ns4="http://www.opengis.net/gml/3.2" xmlns:ns5="urn:cz:isvs:ruian:schemas:StatIntTypy:v1" xmlns:ns6="net.opengis.gml._3" xmlns:ns7="urn:cz:isvs:ruian:schemas:RegionIntiTypy:v1" xmlns:ns8="urn:cz:isvs:ruian:schemas:KrajIntTypy:v1" xmlns:ns9="urn:cz:isvs:ruian:schemas:VuscIntTypy:v1" xmlns:ns10="urn:cz:isvs:ruian:schemas:OkresIntTypy:v1" xmlns:ns11="urn:cz:isvs:ruian:schemas:OrpIntTypy:v1" xmlns:ns12="urn:cz:isvs:ruian:schemas:PouIntTypy:v1" xmlns:ns13="urn:cz:isvs:ruian:schemas:ObecIntTypy:v1" xmlns:ns14="urn:cz:isvs:ruian:schemas:SpravObvIntTypy:v1" xmlns:ns15="urn:cz:isvs:ruian:schemas:MopIntTypy:v1" xmlns:ns16="urn:cz:isvs:ruian:schemas:MomcIntTypy:v1" xmlns:ns17="urn:cz:isvs:ruian:schemas:CastObceIntTypy:v1" xmlns:ns18="urn:cz:isvs:ruian:schemas:KatUzIntTypy:v1" xmlns:ns19="urn:cz:isvs:ruian:schemas:ZsjIntTypy:v1" xmlns:ns20="urn:cz:isvs:ruian:schemas:UliceIntTypy:v1" xmlns:ns21="urn:cz:isvs:ruian:schemas:ParcelaIntTypy:v1" xmlns:ns22="urn:cz:isvs:ruian:schemas:StavObjIntTypy:v1" xmlns:ns23="urn:cz:isvs:ruian:schemas:BaseTypy:v1" xmlns:ns24="urn:cz:isvs:ruian:schemas:AdrMistoIntTypy:v1">
+ <ns4:MultiSurface srsDimension="2" srsName="urn:ogc:def:crs:EPSG::2065" ns4:id="HKU.710644">
+ <ns4:surfaceMember>
+ <ns4:Polygon ns4:id="HKU.710644.1">
+ <ns4:exterior>
+ <ns4:Ring>
+ <ns4:curveMember>
+ <ns4:Curve ns4:id="HKU.710644.1.1.2">
+ <ns4:segments>
+ <ns4:ArcString>
+ <ns4:posList>546786.61 1119372.36 546781.98 1119405.6 546774.32 1119438.15 546770.02 1119449.2 546765.34 1119460.1</ns4:posList>
+ </ns4:ArcString>
+ </ns4:segments>
+ </ns4:Curve>
+ </ns4:curveMember>
+ <ns4:curveMember>
+ <ns4:LineString ns4:id="HKU.710644.1.2">
+ <ns4:posList>546765.34 1119460.1 546780.58 1119460.6 546784.74 1119460.76 546793.77 1119461.08 546794.2 1119461.1 546799.31 1119461.27 546800.6 1119461.32 546806.68 1119460.31 546822.73 1119463.93 546823.57 1119463.18 546824.83 1119464.61 546825.77 1119463.78 546826.84 1119464.98 546827.15 1119464.99 546833.64 1119465.12 546843.21 1119465.43 546844.39 1119465.45 546845.34 1119465.47 546864.29 1119441.89 546865.93 1119439.77 546866.47 1119438.95 546869.36 1119435.33 546869.26 1119435.22 546875.0 1119429.38 546877.54 1119426.8 546893.44 1119443.3 546905.09 1119455.2 546908.07 1119458.05 546923.71 1119473.01 546924.65 1119473.88 546929.34 1119478.4 546934.84 1119483.62 546936.68 1119485.34 546936.94 1119485.58 546936.28 1119486.21 546944.65 1119494.44 546959.23 1119508.38 546972.64 1119520.22 546982.33 1119529.51 546989.17 1119536.16 547000.99 1119548.29 547004.28 1119551.64 547014.04 1119561.66 547014.39 1119563.75 547015.16 1119572.04 547016.08 1119591.63 547015.5 1119596.99 547014.25 1119604.2 547013.89 1119606.32 547013.59 1119607.84 547010.73 1119621.71 547010.13 1119627.06 547009.68 1119639.09 547010.02 1119653.14 547009.7 1119668.35 547009.14 1119695.45 547010.4 1119704.69 547010.96 1119714.86 547015.18 1119730.42 547019.79 1119740.32 547026.36 1119755.73 547034.31 1119766.57 547035.21 1119769.51 547040.88 1119788.28 547044.76 1119796.05 547046.27 1119799.23 547052.04 1119811.34 547066.36 1119840.68 547066.98 1119841.95 547070.83 1119858.61 547073.5 1119875.58 547080.39 1119891.77 547093.69 1119913.21 547098.54 1119922.57 547103.5 1119931.76 547107.89 1119939.89 547123.18 1119954.29 547134.48 1119957.75 547150.21 1119973.45 547169.71 1119996.14 547168.88 1120010.05 547171.67 1120018.74 547172.72 1120030.56 547172.94 1120034.66 547177.22 1120042.04 547176.63 1120053.21 547175.82 1120056.55 547169.04 1120069.17 547154.05 1120086.52 547151.63 1120094.05 547150.76 1120099.71 547148.73 1120103.29 547146.44 1120107.57 547136.76 1120111.72 547124.86 1120116.82 547088.68 1120137.48 547088.53 1120137.76 547075.79 1120143.93 547065.23 1120151.47 547054.87 1120157.15 547046.07 1120159.84 547045.21 1120160.03 547044.62 1120160.01 547032.67 1120161.86 547027.15 1120165.24 547022.75 1120174.31 547020.36 1120187.41 547024.79 1120201.57 547024.02 1120212.39 547023.43 1120220.05 547022.56 1120233.53 547024.1 1120236.39 547032.43 1120252.17 547038.32 1120253.6 547042.25 1120253.37 547056.61 1120252.94 547056.49 1120251.31 547061.9 1120251.9 547062.81 1120247.2 547065.66 1120234.21 547065.99 1120232.42 547066.16 1120231.68 547066.36 1120230.92 547071.57 1120218.49 547075.83 1120208.29 547082.35 1120192.84 547083.89 1120191.46 547085.12 1120190.44 547095.61 1120181.25 547100.03 1120179.78 547110.68 1120182.43 547121.04 1120188.31 547127.94 1120192.19 547151.95 1120205.79 547156.63 1120208.93 547175.58 1120222.05 547178.22 1120223.88 547189.61 1120245.53 547197.72 1120270.29 547198.06 1120271.31 547198.53 1120273.49 547204.05 1120300.51 547204.22 1120301.35 547205.01 1120305.13 547206.13 1120310.44 547206.3 1120312.01 547207.13 1120317.77 547207.89 1120324.57 547208.79 1120332.72 547209.35 1120337.76 547208.62 1120345.17 547207.49 1120357.72 547200.89 1120380.54 547190.36 1120403.54 547189.99 1120404.35 547179.1 1120413.4 547174.61 1120414.98 547175.99 1120420.01 547179.88 1120424.7 547188.4 1120444.04 547190.28 1120464.3 547190.36 1120465.35 547191.71 1120476.84 547195.56 1120477.63 547207.82 1120480.14 547215.56 1120483.61 547227.04 1120457.82 547228.52 1120454.52 547241.01 1120460.16 547246.16 1120462.49 547245.05 1120464.95 547248.0 1120466.28 547252.23 1120468.18 547250.14 1120472.8 547241.17 1120492.64 547246.84 1120494.2 547250.86 1120498.73 547266.59 1120515.45 547268.66 1120517.65 547272.51 1120524.19 547279.03 1120532.7 547282.84 1120538.85 547284.27 1120546.58 547283.48 1120559.93 547283.28 1120562.87 547283.24 1120564.11 547283.19 1120566.43 547283.02 1120574.6 547289.68 1120574.41 547289.7 1120575.5 547289.6 1120577.13 547292.08 1120577.15 547297.79 1120577.19 547298.81 1120577.2 547301.96 1120577.22 547307.66 1120577.07 547338.78 1120575.95 547383.8 1120574.33 547403.97 1120574.19 547427.98 1120574.03 547445.19 1120571.72 547454.57 1120568.28 547474.94 1120560.83 547480.31 1120558.92 547502.57 1120546.16 547502.35 1120545.53 547554.91 1120520.09 547645.86 1120476.49 547648.85 1120473.1 547653.07 1120476.53 547657.49 1120480.1 547659.11 1120481.4 547661.16 1120483.06 547673.88 1120493.3 547679.58 1120498.07 547686.29 1120503.57 547690.53 1120507.04 547733.24 1120560.46 547741.36 1120570.6 547754.37 1120586.82 547780.25 1120620.27 547784.92 1120626.26 547799.71 1120644.92 547856.64 1120718.41 547875.18 1120750.94 547883.23 1120773.28 547885.16 1120791.34 547885.49 1120795.3 547892.61 1120795.71 547926.62 1120797.66 547930.9 1120797.9 547936.09 1120798.2 547939.14 1120798.38 547963.49 1120799.78 547982.72 1120800.89 547998.62 1120801.81 548013.67 1120802.71 548028.63 1120803.53 548041.61 1120804.28 548054.47 1120805.05 548058.41 1120805.26 548072.7 1120806.04 548074.78 1120806.16 548076.65 1120806.18 548079.0 1120806.2 548086.73 1120806.28 548088.14 1120806.29 548087.51 1120791.1 548087.95 1120785.72 548089.31 1120767.42 548094.33 1120704.7 548098.36 1120661.19 548101.33 1120632.11 548102.16 1120631.34 548102.19 1120630.58 548103.68 1120630.76 548137.64 1120634.85 548138.85 1120631.71 548140.05 1120628.58 548148.41 1120606.44 548154.89 1120590.14 548158.13 1120581.71 548161.78 1120583.13 548172.04 1120587.21 548174.92 1120588.36 548177.82 1120589.51 548181.96 1120591.15 548192.36 1120595.23 548196.85 1120596.99 548196.75 1120597.25 548199.17 1120598.21 548205.08 1120600.56 548207.74 1120601.61 548228.35 1120549.5</ns4:posList>
+ </ns4:LineString>
+ </ns4:curveMember>
+ <ns4:curveMember>
+ <ns4:Curve ns4:id="HKU.710644.1.3.4">
+ <ns4:segments>
+ <ns4:Arc>
+ <ns4:posList>548228.35 1120549.5 548231.5 1120545.7 548236.37 1120544.9</ns4:posList>
+ </ns4:Arc>
+ </ns4:segments>
+ </ns4:Curve>
+ </ns4:curveMember>
+ <ns4:curveMember>
+ <ns4:LineString ns4:id="HKU.710644.1.4">
+ <ns4:posList>548236.37 1120544.9 548238.44 1120545.67 548316.22 1120575.72 548327.87 1120581.35 548335.4 1120587.16 548339.63 1120590.86 548402.92 1120662.32 548408.55 1120668.58 548419.11 1120680.3 548422.98 1120684.49 548427.32 1120689.2 548430.18 1120692.29 548436.54 1120699.24 548482.12 1120749.09 548484.85 1120746.72 548493.56 1120739.16 548495.07 1120737.85 548516.88 1120744.21 548524.15 1120739.39 548533.66 1120727.4 548547.17 1120707.91 548567.69 1120681.76 548577.13 1120670.63 548590.11 1120656.95 548599.59 1120647.26 548604.37 1120642.65 548607.89 1120639.99 548609.77 1120638.99 548609.27 1120637.21 548597.13 1120593.93 548586.03 1120561.21 548567.93 1120505.04 548557.5 1120483.9 548559.14 1120482.45 548575.94 1120467.55 548577.06 1120466.55 548568.49 1120444.83 548562.63 1120431.38 548529.82 1120373.03 548522.6 1120357.93 548512.52 1120338.55 548501.15 1120316.54 548486.86 1120289.3 548477.53 1120273.78 548455.25 1120248.99 548436.73 1120228.17 548401.78 1120194.6 548346.39 1120144.22 548340.97 1120136.85 548335.59 1120129.54 548335.18 1120128.98 548330.78 1120122.99 548329.36 1120121.06 548313.15 1120135.24 548295.53 1120150.66 548281.43 1120136.89 548274.17 1120129.8 548269.71 1120125.44 548268.85 1120124.6 548262.02 1120117.91 548253.46 1120109.54 548244.94 1120101.17 548233.52 1120089.95 548231.47 1120089.3 548222.89 1120086.55 548220.69 1120085.85 548209.25 1120074.63 548197.81 1120063.41 548187.87 1120053.64 548180.44 1120046.34 548172.84 1120038.94 548162.55 1120028.91 548158.92 1120025.37 548156.1 1120022.48 548155.35 1120023.07 548145.82 1120017.33 548145.54 1120017.16 548137.21 1120011.19 548127.51 1120007.8 548126.13 1120007.3 548124.45 1120006.3 548123.64 1120005.81 548120.76 1120003.92 548118.3 1120002.21 548115.81 1120000.45 548113.58 1119999.15 548110.81 1119997.58 548107.82 1119995.94 548104.78 1119994.09 548102.05 1119992.59 548098.7 1119990.63 548095.41 1119988.77 548094.34 1119988.02 548056.79 1119967.53 548041.05 1119957.22 547981.49 1119905.47 547966.62 1119892.9 547970.18 1119891.9 547974.48 1119891.23 547992.95 1119888.5 548004.45 1119889.69 548038.38 1119885.39 548076.35 1119847.26 548081.25 1119835.75 548078.24 1119820.76 548065.12 1119795.57 548059.24 1119787.79 548017.91 1119763.56 547987.88 1119747.77 547970.96 1119739.74 547962.98 1119727.93 547973.74 1119720.58 547984.57 1119713.17 548011.02 1119693.53 548018.9 1119687.68 548017.02 1119680.18 548014.48 1119670.07 548012.31 1119661.44 548009.66 1119650.88 548002.89 1119643.88 548003.62 1119643.33 548009.0 1119637.71 548015.08 1119631.04 548038.67 1119605.18 548072.73 1119549.71 548086.77 1119517.56 548099.17 1119481.14 548106.64 1119486.05 548108.45 1119484.94 548106.73 1119481.7 548103.29 1119478.24 548101.25 1119471.75 548095.39 1119475.08 547924.5 1119433.86 547919.85 1119432.74 547728.24 1119386.52 547565.92 1119347.36 547561.29 1119346.25 547324.58 1119289.15 547321.62 1119288.43 547250.73 1119271.33 547247.76 1119270.62 547150.55 1119247.17 547119.94 1119239.78 547080.09 1119230.17 547007.78 1119212.73 547058.59 1119184.61 547090.43 1119163.32 547136.54 1119132.48 547171.95 1119108.8 547181.24 1119102.59 547179.87 1119101.06 547178.51 1119099.55 547169.52 1119089.55 547154.28 1119076.18 547149.65 1119078.27 547144.96 1119084.48 547141.24 1119089.66 547142.09 1119092.79 547127.86 1119105.06 547120.7 1119108.02 547101.44 1119107.79 547021.13 1119095.41 547018.16 1119095.57 546992.63 1119096.35 546974.3 1119096.91 546958.33 1119098.87 546936.86 1119099.89 546879.88 1119119.08 546798.0 1119122.64 546795.08 1119122.76 546792.33 1119122.75 546784.46 1119122.22 546783.68 1119122.16 546780.04 1119121.98 546755.38 1119120.72 546751.66 1119120.94 546741.2 1119121.53 546735.97 1119121.83 546722.47 1119122.61</ns4:posList>
+ </ns4:LineString>
+ </ns4:curveMember>
+ <ns4:curveMember>
+ <ns4:Curve ns4:id="HKU.710644.1.5.6">
+ <ns4:segments>
+ <ns4:ArcString>
+ <ns4:posList>546722.47 1119122.61 546741.35 1119155.19 546758.85 1119188.55 546784.84 1119274.68 546788.43 1119304.57 546788.66 1119307.82 546789.08 1119316.14 546789.19 1119319.42 546787.4 1119364.6</ns4:posList>
+ </ns4:ArcString>
+ </ns4:segments>
+ </ns4:Curve>
+ </ns4:curveMember>
+ <ns4:curveMember>
+ <ns4:LineString ns4:id="HKU.710644.1.6">
+ <ns4:posList>546787.4 1119364.6 546787.26 1119365.99 546786.76 1119370.96 546786.61 1119372.36</ns4:posList>
+ </ns4:LineString>
+ </ns4:curveMember>
+ </ns4:Ring>
+ </ns4:exterior>
+ </ns4:Polygon>
+ </ns4:surfaceMember>
+ </ns4:MultiSurface>
+</ns6:MultiSurfacePropertyType>
View
2  modules/extension/xsd/xsd-kml/pom.xml
@@ -16,7 +16,7 @@
<parent>
<groupId>org.geotools.xsd</groupId>
<artifactId>xsd</artifactId>
- <version>8.0</version>
+ <version>8.1</version>
</parent>
<!-- =========================================================== -->
View
4 modules/extension/xsd/xsd-ows/pom.xml
@@ -16,7 +16,7 @@
<parent>
<groupId>org.geotools.xsd</groupId>
<artifactId>xsd</artifactId>
- <version>8.0</version>
+ <version>8.1</version>
</parent>
<!-- =========================================================== -->
@@ -71,7 +71,7 @@
<dependency>
<groupId>org.geotools.ogc</groupId>
<artifactId>net.opengis.ows</artifactId>
- <version>8.0</version>
+ <version>8.1</version>
</dependency>
<dependency>
<groupId>org.geotools.xsd</groupId>
View
2  modules/extension/xsd/xsd-sld/pom.xml
@@ -16,7 +16,7 @@
<parent>
<groupId>org.geotools.xsd</groupId>
<artifactId>xsd</artifactId>
- <version>8.0</version>
+ <version>8.1</version>
</parent>
View
2  modules/extension/xsd/xsd-wcs/pom.xml
@@ -16,7 +16,7 @@
<parent>
<groupId>org.geotools.xsd</groupId>
<artifactId>xsd</artifactId>
- <version>8.0</version>
+ <version>8.1</version>
</parent>
<!-- =========================================================== -->
View
2  modules/extension/xsd/xsd-wfs/pom.xml
@@ -16,7 +16,7 @@
<parent>
<groupId>org.geotools.xsd</groupId>
<artifactId>xsd</artifactId>
- <version>8.0</version>
+ <version>8.1</version>
</parent>
<!-- =========================================================== -->
View
2  modules/extension/xsd/xsd-wms/pom.xml
@@ -16,7 +16,7 @@
<parent>
<groupId>org.geotools.xsd</groupId>
<artifactId>xsd</artifactId>
- <version>8.0</version>
+ <version>8.1</version>
</parent>
<!-- =========================================================== -->
View
2  modules/extension/xsd/xsd-wps/pom.xml
@@ -16,7 +16,7 @@
<parent>
<groupId>org.geotools.xsd</groupId>
<artifactId>xsd</artifactId>
- <version>8.0</version>
+ <version>8.1</version>
</parent>
<!-- =========================================================== -->
View
2  modules/library/api/pom.xml
@@ -16,7 +16,7 @@
<parent>
<groupId>org.geotools</groupId>
<artifactId>library</artifactId>
- <version>8.0</version>
+ <version>8.1</version>
</parent>
View
2  modules/library/coverage/pom.xml
@@ -16,7 +16,7 @@
<parent>
<groupId>org.geotools</groupId>
<artifactId>library</artifactId>
- <version>8.0</version>
+ <version>8.1</version>
</parent>
View
10 modules/library/coverage/src/main/java/org/geotools/coverage/grid/GeneralGridGeometry.java
@@ -19,6 +19,8 @@
import java.awt.geom.AffineTransform;
import java.awt.image.RenderedImage;
import java.io.Serializable;
+import java.util.logging.Level;
+import java.util.logging.Logger;
import org.geotools.geometry.GeneralEnvelope;
import org.geotools.metadata.iso.spatial.PixelTranslation;
@@ -31,6 +33,7 @@
import org.geotools.resources.i18n.ErrorKeys;
import org.geotools.resources.i18n.Errors;
import org.geotools.util.Utilities;
+import org.geotools.util.logging.Logging;
import org.opengis.coverage.grid.GridEnvelope;
import org.opengis.coverage.grid.GridGeometry;
import org.opengis.geometry.Envelope;
@@ -78,6 +81,9 @@
* @see ImageGeometry
*/
public class GeneralGridGeometry implements GridGeometry, Serializable {
+
+ static final Logger LOGGER = Logging.getLogger(GeneralGridGeometry.class);
+
/**
* Serial number for interoperability with different versions.
*/
@@ -409,7 +415,9 @@ public GeneralGridGeometry(final PixelInCell anchor,
final double scale= Math.min(XAffineTransform.getScaleX0(transform), XAffineTransform.getScaleY0(transform));
final GeneralEnvelope tempEnvelope = CRS.transform(tr,toEnvelope(gridRange));
tempEnvelope.setCoordinateReferenceSystem(envelope.getCoordinateReferenceSystem());
- assert tempEnvelope.equals(envelope,scale*1E-3,true):"Unable to preserve the envelope for this GridGeometry";
+ if(LOGGER.isLoggable(Level.FINE) && !tempEnvelope.equals(envelope,scale*1E-3,true)) {
+ LOGGER.log(Level.FINE, "Unable to preserve the envelope for this GridGeometry, expected " + envelope + ", actual " + tempEnvelope);
+ }
} catch (Throwable e) {
throw new RuntimeException(e);
}
View
8 modules/library/coverage/src/main/java/org/geotools/coverage/processing/operation/Resampler2D.java
@@ -508,12 +508,8 @@ public static GridCoverage2D reproject(GridCoverage2D sourceCoverage,
/*
* Computes the final transform.
*/
- if (step1.equals(step3.inverse())) {
- allSteps = step2;
- } else {
- allSteps = mtFactory.createConcatenatedTransform(
- mtFactory.createConcatenatedTransform(step1, step2), step3);
- }
+ allSteps = mtFactory.createConcatenatedTransform(
+ mtFactory.createConcatenatedTransform(step1, step2), step3);
}
allSteps2D = toMathTransform2D(allSteps, mtFactory, targetGG);
if (!(allSteps2D instanceof MathTransform2D)) {
View
60 modules/library/coverage/src/test/java/org/geotools/coverage/processing/ResampleTest.java
@@ -16,33 +16,40 @@
*/
package org.geotools.coverage.processing;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertNull;
-import static org.junit.Assert.assertSame;
-import static org.junit.Assert.fail;
+import static org.junit.Assert.*;
+import java.awt.Color;
+import java.awt.Graphics2D;
import java.awt.Point;
import java.awt.Rectangle;
import java.awt.geom.AffineTransform;
import java.awt.geom.NoninvertibleTransformException;
+import java.awt.image.ColorModel;
+import java.awt.image.DataBuffer;
import java.awt.image.RenderedImage;
+import java.awt.image.SampleModel;
import java.awt.image.renderable.ParameterBlock;
import java.io.File;
+import java.util.Arrays;
import javax.imageio.ImageIO;
import javax.media.jai.Interpolation;
import javax.media.jai.JAI;
+import javax.media.jai.PlanarImage;
+import javax.media.jai.RasterFactory;
+import javax.media.jai.TiledImage;
import org.geotools.TestData;
import org.geotools.coverage.CoverageFactoryFinder;
import org.geotools.coverage.grid.GeneralGridEnvelope;
import org.geotools.coverage.grid.GridCoverage2D;
import org.geotools.coverage.grid.GridCoverageFactory;
+import org.geotools.coverage.grid.GridEnvelope2D;
import org.geotools.coverage.grid.GridGeometry2D;
import org.geotools.coverage.grid.ViewType;
import org.geotools.coverage.processing.operation.Extrema;
import org.geotools.factory.Hints;
+import org.geotools.geometry.DirectPosition2D;
import org.geotools.geometry.Envelope2D;
import org.geotools.image.test.ImageAssert;
import org.geotools.metadata.iso.spatial.PixelTranslation;
@@ -55,6 +62,8 @@
import org.junit.Before;
import org.junit.Test;
import org.opengis.coverage.grid.GridGeometry;
+import org.opengis.geometry.DirectPosition;
+import org.opengis.geometry.Envelope;
import org.opengis.parameter.ParameterValueGroup;
import org.opengis.referencing.FactoryException;
import org.opengis.referencing.NoSuchAuthorityCodeException;
@@ -357,6 +366,45 @@ public void testTranslation() throws NoninvertibleTransformException {
doTranslation(indexedCoverage);
doTranslation(indexedCoverageWithTransparency);
}
+
+ /**
+ * Tests that flipping axis on a coverage whose origin is not (0,0) works as expected
+ */
+ @Test
+ public void testFlipTranslated() throws Exception {
+ // build a translated image
+ SampleModel sm = RasterFactory.createPixelInterleavedSampleModel(DataBuffer.TYPE_BYTE, 256, 256, 3);
+ ColorModel cm = PlanarImage.createColorModel(sm);
+ TiledImage ti = new TiledImage(-10, -10, 5, 5, 0, 0, sm, cm);
+ Graphics2D g = ti.createGraphics();
+ g.setColor(Color.GREEN);
+ g.fillRect(-10, -10, 5, 5);
+ g.dispose();
+
+ // build a coverage around it
+ CoordinateReferenceSystem wgs84LatLon = CRS.decode("EPSG:4326");
+ final GridCoverageFactory factory = CoverageFactoryFinder.getGridCoverageFactory(null);
+ GridCoverage2D coverage = factory.create("translated", ti, new Envelope2D(wgs84LatLon, 3, 5, 6, 8));
+
+ // verify we're good
+ int[] pixel = new int[3];
+ coverage.evaluate((DirectPosition) new DirectPosition2D(4, 6), pixel);
+ assertEquals(0, pixel[0]);
+ assertEquals(255, pixel[1]);
+ assertEquals(0, pixel[2]);
+
+ // now reproject flipping the axis
+ CoordinateReferenceSystem wgs84LonLat = CRS.decode("EPSG:4326", true);
+ GridGeometry gg = new GridGeometry2D(new GridEnvelope2D(-10, -10, 5, 5), (Envelope) new Envelope2D(wgs84LonLat, 5, 3, 8, 6));
+ GridCoverage2D flipped = (GridCoverage2D) Operations.DEFAULT.resample(coverage, wgs84LonLat,
+ gg, Interpolation.getInstance(Interpolation.INTERP_NEAREST));
+
+ // before the fix the pixel would have been black
+ flipped.evaluate((DirectPosition) new DirectPosition2D(6, 4), pixel);
+ assertEquals(0, pixel[0]);
+ assertEquals(255, pixel[1]);
+ assertEquals(0, pixel[2]);
+ }
/**
* Performs a translation using the "Resample" operation.
@@ -407,4 +455,6 @@ private void doTranslation(GridCoverage2D grid) throws NoninvertibleTransformExc
final Point point = new Point(transX, transY);
assertSame(point, expected.transform(point, point)); // Round toward neareast integer
}
+
+
}
View
2  modules/library/cql/pom.xml
@@ -16,7 +16,7 @@
<parent>
<groupId>org.geotools</groupId>
<artifactId>library</artifactId>
- <version>8.0</version>
+ <version>8.1</version>
</parent>
View
2  modules/library/data/pom.xml
@@ -16,7 +16,7 @@
<parent>
<groupId>org.geotools</groupId>
<artifactId>library</artifactId>
- <version>8.0</version>
+ <version>8.1</version>
</parent>
View
2  modules/library/jdbc/pom.xml
@@ -16,7 +16,7 @@
<parent>
<groupId>org.geotools</groupId>
<artifactId>library</artifactId>
- <version>8.0</version>
+ <version>8.1</version>
</parent>
View
2  modules/library/main/pom.xml
@@ -16,7 +16,7 @@
<parent>
<groupId>org.geotools</groupId>
<artifactId>library</artifactId>
- <version>8.0</version>
+ <version>8.1</version>
</parent>
View
36 modules/library/main/src/main/java/org/geotools/filter/FilterAttributeExtractor.java
@@ -20,9 +20,11 @@
import java.util.HashSet;
import java.util.Set;
+import org.geotools.filter.function.FilterFunction_property;
import org.geotools.filter.visitor.DefaultFilterVisitor;
import org.opengis.feature.simple.SimpleFeatureType;
import org.opengis.feature.type.AttributeDescriptor;
+import org.opengis.filter.expression.Literal;
import org.opengis.filter.expression.PropertyName;
import org.opengis.filter.expression.VolatileFunction;
@@ -55,6 +57,7 @@
protected Set<String> attributeNames = new HashSet<String>();
protected Set<PropertyName> propertyNames = new HashSet<PropertyName>();
protected boolean usingVolatileFunctions;
+ protected boolean usingDynamicProperties;
/** feature type to evaluate against */
protected SimpleFeatureType featureType;
@@ -139,6 +142,27 @@ public Object visit(org.opengis.filter.expression.Function expression, Object da
if (expression instanceof VolatileFunction) {
usingVolatileFunctions = true;
}
+ if(expression instanceof FilterFunction_property) {
+ boolean foundLiteral = false;
+ // dynamic property usage
+ if(expression.getParameters() != null && expression.getParameters().size() > 0) {
+ org.opengis.filter.expression.Expression firstParam = expression.getParameters().get(0);
+
+ FilterAttributeExtractor secondary = new FilterAttributeExtractor();
+ firstParam.accept(secondary, null);
+ if (secondary.isConstantExpression()) {
+ String name = firstParam.evaluate(null, String.class);
+ if(name != null) {
+ attributeNames.add(name);
+ foundLiteral = true;
+ }
+ }
+ }
+
+ if(!foundLiteral) {
+ usingDynamicProperties = true;
+ }
+ }
return super.visit(expression, data);
};
@@ -149,6 +173,16 @@ public Object visit(org.opengis.filter.expression.Function expression, Object da
* @return
*/
public boolean isConstantExpression() {
- return !usingVolatileFunctions && getAttributeNameSet().isEmpty();
+ return !usingVolatileFunctions && !usingDynamicProperties && getAttributeNameSet().isEmpty();
+ }
+
+ /**
+ * Returns true if the expression is using dynamic property names, so a
+ * static analysis of the expression won't be able to return all the properties in use
+ *
+ * @return
+ */
+ public boolean isUsingDynamincProperties() {
+ return usingDynamicProperties;
}
}
View
10 modules/library/main/src/main/java/org/geotools/styling/SLDTransformer.java
@@ -593,9 +593,13 @@ public void visit(ExternalGraphic exgr) {
start("ExternalGraphic");
AttributesImpl atts = new AttributesImpl();
- atts.addAttribute(XMLNS_NAMESPACE, "xlink", "xmlns:xlink", "", XLINK_NAMESPACE);
- atts.addAttribute(XLINK_NAMESPACE, "type", "xlink:type", "", "simple");
- atts.addAttribute(XLINK_NAMESPACE, "xlink", "xlink:href","", exgr.getOnlineResource().getLinkage().toString());
+ try {
+ atts.addAttribute(XMLNS_NAMESPACE, "xlink", "xmlns:xlink", "", XLINK_NAMESPACE);
+ atts.addAttribute(XLINK_NAMESPACE, "type", "xlink:type", "", "simple");
+ atts.addAttribute(XLINK_NAMESPACE, "xlink", "xlink:href","", exgr.getLocation().toString());
+ } catch (java.net.MalformedURLException e) {
+ throw new Error("Failed to encode the xlink location", e);
+ }
element("OnlineResource", (String) null, atts);
element("Format", exgr.getFormat());
View
13 modules/library/main/src/test/java/org/geotools/filter/FilterAttributeExtractorTest.java
@@ -28,11 +28,13 @@
import org.geotools.factory.CommonFactoryFinder;
import org.geotools.feature.SchemaException;
import org.opengis.filter.Filter;
+import org.geotools.filter.function.EnvFunction;
import org.opengis.filter.Id;
import org.opengis.filter.Or;
import org.opengis.filter.PropertyIsEqualTo;
import org.opengis.filter.PropertyIsLike;
import org.opengis.filter.PropertyIsNull;
+import org.opengis.filter.expression.Function;
import org.opengis.filter.expression.Literal;
import org.opengis.filter.expression.PropertyName;
import org.opengis.filter.spatial.DWithin;
@@ -265,4 +267,15 @@ public void testLogic() throws IllegalFilterException {
assertAttributeName(filter, "testString");
}
+
+ public void testDynamicProperty() throws Exception {
+ Function func = fac.function("property", fac.function("env", fac.literal("pname")));
+ PropertyIsEqualTo filter = fac.equals(func, fac.literal("test"));
+ try {
+ EnvFunction.setLocalValue("pname", "name");
+ assertAttributeName(filter, "name");
+ } finally {
+ EnvFunction.clearLocalValues();
+ }
+ }
}
View
25 modules/library/main/src/test/java/org/geotools/styling/SLDTransformerTest.java
@@ -85,6 +85,7 @@ public void setUp() throws Exception {
namespaces.put("sld", "http://www.opengis.net/sld");
namespaces.put("ogc", "http://www.opengis.net/ogc");
namespaces.put("gml", "http://www.opengis.net/gml");
+ namespaces.put("xlink", "http://www.w3.org/1999/xlink");
setXpathNamespaceContext(new SimpleNamespaceContext(namespaces));
}
@@ -1076,4 +1077,28 @@ public void testFeatureTypeStyleTransformation() throws Exception {
assertTrue(actualXml.contains("</ogc:Function>"));
assertTrue(actualXml.contains("</sld:Transformation>"));
}
+
+ @Test
+ public void testDynamicSymbolizer() throws Exception {
+ StyleBuilder sb = new StyleBuilder();
+ String chartURI = "http://chart?cht=p&chd=t:${100 * MALE / PERSONS},${100 * FEMALE / PERSONS}&chf=bg,s,FFFFFF00";
+ ExternalGraphic eg = sb.createExternalGraphic(chartURI, "image/png");
+ PointSymbolizer ps = sb.createPointSymbolizer(sb.createGraphic(eg, null, null));
+
+ Style s = sb.createStyle(ps);
+ s.setDefault(true);
+
+ String xml = transformer.transform(s);
+ // System.out.println(xml);
+ Document doc = buildTestDocument(xml);
+
+ assertXpathEvaluatesTo(chartURI, "/sld:UserStyle/sld:FeatureTypeStyle/sld:Rule/sld:PointSymbolizer/sld:Graphic/sld:ExternalGraphic/sld:OnlineResource/@xlink:href", doc);
+
+ SLDParser parser = new SLDParser(sf);
+ parser.setInput(new StringReader(xml));
+ Style importedStyle = (Style) parser.readXML()[0];
+ PointSymbolizer psCopy = (PointSymbolizer) importedStyle.featureTypeStyles().get(0).rules().get(0).symbolizers().get(0);
+ ExternalGraphic egCopy = (ExternalGraphic) psCopy.getGraphic().graphicalSymbols().get(0);
+ assertEquals(chartURI, egCopy.getLocation().toExternalForm());
+ }
}
View
2  modules/library/metadata/pom.xml
@@ -16,7 +16,7 @@
<parent>
<groupId>org.geotools</groupId>
<artifactId>library</artifactId>
- <version>8.0</version>
+ <version>8.1</version>
</parent>
View
2  modules/library/opengis/pom.xml
@@ -16,7 +16,7 @@
<parent>
<groupId>org.geotools</groupId>
<artifactId>library</artifactId>
- <version>8.0</version>
+ <version>8.1</version>
</parent>
View
2  modules/library/pom.xml
@@ -16,7 +16,7 @@
<parent>
<groupId>org.geotools</groupId>
<artifactId>modules</artifactId>
- <version>8.0</version>
+ <version>8.1</version>
</parent>
View
2  modules/library/referencing/pom.xml
@@ -16,7 +16,7 @@
<parent>
<groupId>org.geotools</groupId>
<artifactId>library</artifactId>
- <version>8.0</version>
+ <version>8.1</version>
</parent>
View
2  modules/library/render/pom.xml
@@ -16,7 +16,7 @@
<parent>
<groupId>org.geotools</groupId>
<artifactId>library</artifactId>
- <version>8.0</version>
+ <version>8.1</version>
</parent>
View
7 modules/library/render/src/main/java/org/geotools/renderer/lite/StreamingRenderer.java
@@ -1465,6 +1465,9 @@ private int findRenderingBuffer(LiteFeatureTypeStyle[] styles) {
}
}
+ if(sae.isUsingDynamincProperties()) {
+ return null;
+ }
Set<PropertyName> attributes = sae.getAttributes();
Set<String> attributeNames = sae.getAttributeNameSet();
@@ -2850,9 +2853,7 @@ private void processSymbolizers(final Graphics2D graphics,
}
}
}
-
-
- } else if ( currLayer.getSource() != null ) {
+ } if ( currLayer.getSource() != null ) {
return currLayer.getSource().getCRS();
}
View
2  modules/library/sample-data/pom.xml
@@ -16,7 +16,7 @@
<parent>
<groupId>org.geotools</groupId>
<artifactId>library</artifactId>
- <version>8.0</version>
+ <version>8.1</version>
</parent>
View
2  modules/library/xml/pom.xml
@@ -16,7 +16,7 @@
<parent>
<groupId>org.geotools</groupId>
<artifactId>library</artifactId>
- <version>8.0</version>
+ <version>8.1</version>
</parent>
View
2  modules/ogc/net.opengis.fes/pom.xml
@@ -5,7 +5,7 @@
<parent>
<groupId>org.geotools</groupId>
<artifactId>ogc</artifactId>
- <version>8.0</version>
+ <version>8.1</version>
</parent>
<groupId>org.geotools.ogc</groupId>
View
4 modules/ogc/net.opengis.ows/pom.xml
@@ -5,7 +5,7 @@
<parent>
<groupId>org.geotools</groupId>
<artifactId>ogc</artifactId>
- <version>8.0</version>
+ <version>8.1</version>
</parent>
<groupId>org.geotools.ogc</groupId>
@@ -28,7 +28,7 @@
<dependency>
<groupId>org.geotools.ogc</groupId>
<artifactId>org.w3.xlink</artifactId>
- <version>8.0</version>
+ <version>8.1</version>
</dependency>
</dependencies>
View
2  modules/ogc/net.opengis.wcs/pom.xml
@@ -5,7 +5,7 @@
<parent>
<groupId>org.geotools</groupId>
<artifactId>ogc</artifactId>
- <version>8.0</version>
+ <version>8.1</version>
</parent>
<groupId>org.geotools.ogc</groupId>
View
2  modules/ogc/net.opengis.wfs/pom.xml
@@ -5,7 +5,7 @@
<parent>
<groupId>org.geotools</groupId>
<artifactId>ogc</artifactId>
- <version>8.0</version>
+ <version>8.1</version>
</parent>
<groupId>org.geotools.ogc</groupId>
View
4 modules/ogc/net.opengis.wfsv/pom.xml
@@ -5,7 +5,7 @@
<parent>
<groupId>org.geotools</groupId>
<artifactId>ogc</artifactId>
- <version>8.0</version>
+ <version>8.1</version>
</parent>
<groupId>org.geotools.ogc</groupId>
@@ -28,7 +28,7 @@
<dependency>
<groupId>org.geotools.ogc</groupId>
<artifactId>net.opengis.wfs</artifactId>
- <version>8.0</version>
+ <version>8.1</version>
</dependency>
</dependencies>
View
2  modules/ogc/net.opengis.wps/pom.xml
@@ -5,7 +5,7 @@
<parent>
<groupId>org.geotools</groupId>
<artifactId>ogc</artifactId>
- <version>8.0</version>
+ <version>8.1</version>
</parent>
<groupId>org.geotools.ogc</groupId>
View
2  modules/ogc/org.w3.xlink/pom.xml
@@ -5,7 +5,7 @@
<parent>
<groupId>org.geotools</groupId>
<artifactId>ogc</artifactId>
- <version>8.0</version>
+ <version>8.1</version>
</parent>
<groupId>org.geotools.ogc</groupId>
View
2  modules/ogc/pom.xml