This is an automated email from the ASF dual-hosted git repository. desruisseaux pushed a change to branch main in repository https://gitbox.apache.org/repos/asf/sis.git
from fafbe8a7b6 Merge branch 'geoapi-3.1' add 0a359acef9 feat(Shapefile): add shp bbox filter, add dbf field selection filter add 544f7f9d2b Add a `DataStores.readGridCoverage(…)` convenience method. add d39d9c6c94 Add a little bit of context when the parsing fail over the dash character, for example as in "away-from" axis direction. Reduce rounding errors in `GridGeometry.toString()`. add ffcd9d444d Workaround for the parsing of WKT having some of the axis directions added in latest ISO 19111 revision. add 53319506d0 feat(Shapefile): optimize bbox filter and field selection, declare store in registry add d1ba389db2 Upgrade dependencies. add 4c9052a8f1 feat(Shapefile): implement featureset bounding box and count methods, several small fix in reader iterator add 93a7dcb4d3 Automatically install the parent `pom.xml` file. add 1c54d069b5 Fix misleading or interchanged localized resources. add 078f89d40d Add basic support for Braced URI Literal in the XPath expression given to `FilterFactory.property(String)`. add 67ece65ce1 Store the reason why the mandatory boolean value of a quality conformance result is missing. This is a partial replacement for a feature supported since SIS 0.3 but removed in SIS 1.4 because of https://issues.apache.org/jira/browse/SIS-586 add 5fe5c77070 Do not generate anymore the French version of developer-guide. It has been deleted from the web site, because unmaintained. add 4981887586 Add "Obligation" and "Nil reason" columns in metadata `TreeTableView`. add 3d379f9aad Add support for nil date and nil URI in metadata. add dfc7aff69f Remove `NilDate`. It was not working because this class is mutable, so metadata make copies of it and those copies were not `NilObject`. add c0a92a7311 Add `MetadataStandard.asNilReasonMap(…)` method, together with support for classes that cannot implement the `NilObject` interface. As a side-effect of this work, other map views were refactored for putting more common code in the `PropertyMap` base class. add 0c561c5971 feat(Shapefile): add DBF writer and test case add fad33a63ee `TreeTableView` delegates the handling of `NilReason` to `NilReasonMap`. This is necessary for objects that cannot be represented as `NilObject`. add 6841fb91cf In `DefaultConformanceResult`, retrofit the handling of nil reasons into the `nilReasons()` map. add 125396eed4 Move into NilReasonMap the decision about whether to create NilObject or not. The rational for the removal of NilReason.isSupported(Class) is that we want an exception to be thrown when trying to use NilReason on an illegal type. add ceff560423 feat(Shapefile): fuse DBFField and DBFFieldEncoder, prepare store writing support add 6c716e3896 Apply the same technic than `DefaultConformanceResult` to other mandatory properties of type `Integer`. This is related to https://issues.apache.org/jira/browse/SIS-590 add 2bbbb61932 Trivial comment formatting. add 79369245e4 Declare `nilReasons` as transient for avoiding JAXB in subclasses to inherit it. add 14e7273208 Add support for writing image with bands in different order than RGB. add faf0d27a25 Renaming of a CSS style used in the the developer guide, and spelling fixes. add 41663b06b8 Empirical threshold adjustment for a random (but rare) test failure. add bec9e14795 Calculation of mask derived from `java.awt.Shape` needs to be done in pixel coordinates rather grid cell coordinates. add 465d924558 Replace our custom `JAVA_OPTS` environment variable by the standard `JDK_JAVA_OPTIONS`. https://docs.oracle.com/en/java/javase/21/docs/specs/man/java.html#using-the-jdk_java_options-launcher-environment-variable add c03f90289c Flush the error stream before to exist the SIS command-line application. Otherwise error messages are lost. add aa6e471d74 chore(Build): add missing gradle wrapper configuration add c13e1339eb Partial support of `WritableAggregate` in GeoTIFF store. For now, only adding resources is supported, not removing them. add 603c5713cc Add a "translate" sub-command to the "sis" command line. This sub-command rewrites a raster in another format. add 0ac8c06a94 If an envelope cannot be transformed for metadata purpose, consider that as a warning rather than a fatal error. It happens when the CRS is an engineering CRS with no geodetic, projected, vertical or temporal component. add e818303189 feat(Shapefile): update shapefile header on close, some work on store writing support add 34df6c938d Allow `StoreListeners` argument to be null. add 4e6074db4e In XPath parsing, the "Q{namespace}name" syntax should be translated to "namespace:name", not "namespace/name". add 3adfcd615c Import order in preparation for merge. add fb00d38fa4 Merge branch 'geoapi-4.0' into geoapi-3.1. The main work are on Shapefile, GeoTIFF and metadata "nil reasons". new b9cb14901d Merge branch 'geoapi-3.1'. The main works are in Shapefile, GeoTIFF and metadata "nil values". The 1 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: .../org/apache/sis/buildtools/book/Assembler.java | 14 +- .../apache/sis/buildtools/book/CodeColorizer.java | 2 +- .../apache/sis/buildtools/book/package-info.java | 2 +- .../org.apache.sis.console/main/module-info.java | 3 +- .../main/org/apache/sis/console/Command.java | 4 +- .../main/org/apache/sis/console/CommandRunner.java | 26 + .../org/apache/sis/console/Commands.properties | 1 + .../org/apache/sis/console/Commands_fr.properties | 17 +- .../main/org/apache/sis/console/HelpCommand.java | 3 +- .../main/org/apache/sis/console/Option.java | 8 +- .../main/org/apache/sis/console/Options.properties | 3 +- .../org/apache/sis/console/Options_fr.properties | 23 +- .../org/apache/sis/console/TransformCommand.java | 6 +- .../org/apache/sis/console/TranslateCommand.java | 105 ++++ .../main/org/apache/sis/console/package-info.java | 11 +- .../org.apache.sis.feature/main/module-info.java | 5 +- .../org/apache/sis/coverage/CoverageCombiner.java | 8 +- .../org/apache/sis/coverage/RegionOfInterest.java | 2 +- .../sis/coverage/grid/GridCoverageProcessor.java | 21 +- .../org/apache/sis/coverage/grid/GridGeometry.java | 2 +- .../org/apache/sis/filter/AssociationValue.java | 12 +- .../apache/sis/filter/DefaultFilterFactory.java | 14 +- .../main/org/apache/sis/filter/PropertyValue.java | 36 +- .../apache/sis/filter/internal/FunctionNames.java | 12 + .../main/org/apache/sis/filter/internal/XPath.java | 193 +++++-- .../main/org/apache/sis/filter/package-info.java | 2 +- .../test/org/apache/sis/filter/XPathTest.java | 40 +- .../org.apache.sis.metadata/main/module-info.java | 1 + .../org/apache/sis/metadata/AbstractMetadata.java | 122 ++++- .../main/org/apache/sis/metadata/IndexMap.java | 33 +- .../org/apache/sis/metadata/InformationMap.java | 31 +- .../org/apache/sis/metadata/MetadataColumn.java | 67 +++ .../org/apache/sis/metadata/MetadataStandard.java | 78 ++- .../apache/sis/metadata/ModifiableMetadata.java | 21 +- .../main/org/apache/sis/metadata/NameMap.java | 34 +- .../main/org/apache/sis/metadata/NilReasonMap.java | 209 ++++++++ .../org/apache/sis/metadata/PropertyAccessor.java | 43 +- .../main/org/apache/sis/metadata/PropertyMap.java | 265 +++++++--- .../main/org/apache/sis/metadata/TreeNode.java | 228 ++++++-- .../org/apache/sis/metadata/TreeNodeChildren.java | 64 ++- .../org/apache/sis/metadata/TreeTableView.java | 47 +- .../main/org/apache/sis/metadata/TypeMap.java | 33 +- .../apache/sis/metadata/ValueExistencePolicy.java | 12 + .../main/org/apache/sis/metadata/ValueMap.java | 228 +------- .../apache/sis/metadata/internal/Resources.java | 2 +- .../sis/metadata/internal/Resources.properties | 2 +- .../sis/metadata/internal/Resources_fr.properties | 2 +- .../iso/DefaultExtendedElementInformation.java | 22 +- .../apache/sis/metadata/iso/DefaultMetadata.java | 22 +- .../org/apache/sis/metadata/iso/ISOMetadata.java | 27 +- .../sis/metadata/iso/citation/DefaultCitation.java | 22 +- .../sis/metadata/iso/citation/DefaultContact.java | 22 +- .../iso/citation/DefaultResponsibility.java | 22 +- .../iso/constraint/DefaultConstraints.java | 22 +- .../iso/content/DefaultCoverageDescription.java | 22 +- .../DefaultFeatureCatalogueDescription.java | 22 +- .../iso/content/DefaultImageDescription.java | 22 +- .../iso/content/DefaultRangeDimension.java | 22 +- .../DefaultDigitalTransferOptions.java | 22 +- .../metadata/iso/distribution/DefaultMedium.java | 22 +- .../iso/identification/AbstractIdentification.java | 22 +- .../DefaultAggregateInformation.java | 22 +- .../iso/identification/DefaultBrowseGraphic.java | 22 +- .../iso/identification/DefaultCoupledResource.java | 22 +- .../identification/DefaultDataIdentification.java | 22 +- .../DefaultRepresentativeFraction.java | 22 +- .../DefaultServiceIdentification.java | 22 +- .../metadata/iso/identification/DefaultUsage.java | 22 +- .../sis/metadata/iso/lineage/DefaultLineage.java | 22 +- .../metadata/iso/lineage/DefaultProcessStep.java | 22 +- .../sis/metadata/iso/lineage/DefaultSource.java | 22 +- .../maintenance/DefaultMaintenanceInformation.java | 22 +- .../sis/metadata/iso/quality/AbstractElement.java | 22 +- .../iso/quality/DefaultConformanceResult.java | 48 +- .../sis/metadata/iso/quality/package-info.java | 3 +- .../sis/metadata/iso/spatial/DefaultDimension.java | 44 +- .../metadata/iso/spatial/DefaultGCPCollection.java | 44 +- .../spatial/DefaultGridSpatialRepresentation.java | 44 +- .../sis/metadata/iso/spatial/package-info.java | 2 +- .../main/org/apache/sis/metadata/package-info.java | 27 +- .../apache/sis/metadata/sql/util/package-info.java | 2 +- .../org/apache/sis/util/iso/DefaultLocalName.java | 22 +- .../org/apache/sis/util/iso/DefaultMemberName.java | 22 +- .../org/apache/sis/util/iso/DefaultRecord.java | 22 +- .../org/apache/sis/util/iso/DefaultRecordType.java | 22 +- .../org/apache/sis/util/iso/DefaultTypeName.java | 22 +- .../main/org/apache/sis/util/iso/Names.java | 2 + .../org/apache/sis/xml/NilInternationalString.java | 2 +- .../main/org/apache/sis/xml/NilReason.java | 49 +- .../main/org/apache/sis/xml/ValueConverter.java | 4 +- .../main/org/apache/sis/xml/XPointer.java | 2 +- .../apache/sis/xml/bind/FinalClassExtensions.java | 2 +- .../org/apache/sis/xml/bind/gco/GO_Boolean.java | 13 + .../org/apache/sis/xml/bind/gco/GO_Integer.java | 13 + .../org/apache/sis/xml/bind/gco/PropertyType.java | 51 +- .../main/org/apache/sis/xml/package-info.java | 2 +- .../org/apache/sis/metadata/NilReasonMapTest.java | 102 ++++ .../org/apache/sis/metadata/TreeTableViewTest.java | 103 +++- .../metadata/iso/quality/AbstractElementTest.java | 2 +- .../quality/AbstractPositionalAccuracyTest.java | 5 +- .../iso/quality/DefaultConformanceResultTest.java | 118 +++++ .../iso/quality/DefaultDomainConsistencyTest.java | 2 +- .../iso/quality/DefaultEvaluationMethodTest.java | 12 +- .../iso/quality/DefaultQuantitativeResultTest.java | 2 +- .../sis/metadata/iso/quality/ScopeCodeTest.java | 4 +- .../test/org/apache/sis/xml/NilReasonTest.java | 75 +-- .../test/org/apache/sis/xml/test/TestCase.java | 12 + .../apache/sis/io/wkt/GeodeticObjectParser.java | 8 + .../sis/parameter/AbstractParameterDescriptor.java | 22 +- .../sis/parameter/DefaultParameterDescriptor.java | 23 +- .../parameter/DefaultParameterDescriptorGroup.java | 22 +- .../sis/parameter/DefaultParameterValue.java | 22 +- .../sis/parameter/DefaultParameterValueGroup.java | 22 +- .../sis/referencing/AbstractIdentifiedObject.java | 22 +- .../sis/referencing/AbstractReferenceSystem.java | 22 +- .../apache/sis/referencing/AuthorityFactories.java | 2 +- .../apache/sis/referencing/crs/AbstractCRS.java | 22 +- .../sis/referencing/crs/AbstractDerivedCRS.java | 22 +- .../sis/referencing/crs/DefaultCompoundCRS.java | 22 +- .../sis/referencing/crs/DefaultDerivedCRS.java | 22 +- .../sis/referencing/crs/DefaultEngineeringCRS.java | 22 +- .../sis/referencing/crs/DefaultGeocentricCRS.java | 22 +- .../sis/referencing/crs/DefaultGeodeticCRS.java | 22 +- .../sis/referencing/crs/DefaultGeographicCRS.java | 22 +- .../sis/referencing/crs/DefaultImageCRS.java | 22 +- .../sis/referencing/crs/DefaultParametricCRS.java | 22 +- .../sis/referencing/crs/DefaultProjectedCRS.java | 22 +- .../sis/referencing/crs/DefaultTemporalCRS.java | 22 +- .../sis/referencing/crs/DefaultVerticalCRS.java | 22 +- .../org/apache/sis/referencing/cs/AbstractCS.java | 22 +- .../apache/sis/referencing/cs/DefaultAffineCS.java | 22 +- .../sis/referencing/cs/DefaultCartesianCS.java | 22 +- .../cs/DefaultCoordinateSystemAxis.java | 22 +- .../sis/referencing/cs/DefaultCylindricalCS.java | 22 +- .../sis/referencing/cs/DefaultEllipsoidalCS.java | 22 +- .../apache/sis/referencing/cs/DefaultLinearCS.java | 22 +- .../sis/referencing/cs/DefaultParametricCS.java | 22 +- .../apache/sis/referencing/cs/DefaultPolarCS.java | 22 +- .../sis/referencing/cs/DefaultSphericalCS.java | 22 +- .../apache/sis/referencing/cs/DefaultTimeCS.java | 22 +- .../sis/referencing/cs/DefaultUserDefinedCS.java | 22 +- .../sis/referencing/cs/DefaultVerticalCS.java | 22 +- .../sis/referencing/datum/AbstractDatum.java | 22 +- .../sis/referencing/datum/DefaultEllipsoid.java | 22 +- .../referencing/datum/DefaultEngineeringDatum.java | 22 +- .../referencing/datum/DefaultGeodeticDatum.java | 22 +- .../sis/referencing/datum/DefaultImageDatum.java | 22 +- .../referencing/datum/DefaultParametricDatum.java | 22 +- .../referencing/datum/DefaultPrimeMeridian.java | 22 +- .../referencing/datum/DefaultTemporalDatum.java | 22 +- .../referencing/datum/DefaultVerticalDatum.java | 22 +- .../sis/referencing/internal/MergedProperties.java | 4 +- .../operation/AbstractCoordinateOperation.java | 22 +- .../operation/AbstractSingleOperation.java | 22 +- .../operation/DefaultConcatenatedOperation.java | 22 +- .../referencing/operation/DefaultConversion.java | 22 +- .../operation/DefaultOperationMethod.java | 22 +- .../operation/DefaultPassThroughOperation.java | 22 +- .../operation/DefaultTransformation.java | 22 +- .../sis/referencing/util/AxisDirections.java | 8 + .../referencing/operation/matrix/SolverTest.java | 2 +- .../transform/CartesianToSphericalTest.java | 2 +- .../apache/sis/storage/geotiff/GeoTiffStore.java | 36 +- .../sis/storage/geotiff/GeoTiffStoreProvider.java | 5 +- .../sis/storage/geotiff/ImageFileDirectory.java | 6 +- .../org/apache/sis/storage/geotiff/Reader.java | 8 + .../apache/sis/storage/geotiff/WritableStore.java | 83 +++ .../org/apache/sis/storage/geotiff/Writer.java | 16 + .../sis/storage/geotiff/writer/TileMatrix.java | 21 +- .../org/apache/sis/storage/gpx/Description.java | 2 +- .../apache/sis/io/stream/HyperRectangleWriter.java | 98 ++-- .../sis/io/stream/SubsampledRectangleWriter.java | 331 ++++++++++++ .../main/org/apache/sis/storage/DataStores.java | 60 ++- .../main/org/apache/sis/storage/FeatureQuery.java | 4 +- .../apache/sis/storage/RasterLoadingStrategy.java | 5 +- .../sis/storage/aggregate/GroupAggregate.java | 6 +- .../apache/sis/storage/base/MetadataBuilder.java | 39 +- .../apache/sis/storage/base/SimpleAggregate.java | 57 ++ .../org/apache/sis/storage/base/URIDataStore.java | 2 + .../sis/storage/base/WritableAggregateSupport.java | 118 +++++ .../WritableGridCoverageSupport.java} | 29 +- .../main/org/apache/sis/storage/csv/Store.java | 7 +- .../org/apache/sis/storage/esri/RasterStore.java | 7 +- .../org/apache/sis/storage/esri/WritableStore.java | 6 +- .../apache/sis/storage/image/SingleImageStore.java | 5 +- .../apache/sis/storage/image/WorldFileStore.java | 6 +- .../apache/sis/storage/image/WritableResource.java | 6 +- .../org/apache/sis/storage/internal/Resources.java | 6 + .../sis/storage/internal/Resources.properties | 1 + .../sis/storage/internal/Resources_fr.properties | 1 + ...est.java => SubsampledRectangleWriterTest.java} | 118 ++--- .../main/org/apache/sis/util/CharSequences.java | 8 + .../apache/sis/util/collection/TableColumn.java | 29 +- .../main/org/apache/sis/util/resources/Errors.java | 2 +- .../apache/sis/util/resources/Errors.properties | 2 +- .../apache/sis/util/resources/Errors_fr.properties | 2 +- .../org/apache/sis/util/resources/Vocabulary.java | 5 + .../sis/util/resources/Vocabulary.properties | 1 + .../sis/util/resources/Vocabulary_fr.properties | 1 + .../org/apache/sis/util/CharSequencesTest.java | 1 + gradle/wrapper/gradle-wrapper.jar | Bin 0 -> 63721 bytes gradle/wrapper/gradle-wrapper.properties | 7 + gradlew | 249 +++++++++ gradlew.bat | 92 ++++ .../org.apache.sis.storage.DataStoreProvider | 2 +- .../main/module-info.java | 3 + .../storage/shapefile/ListingPropertyVisitor.java | 79 +++ .../sis/storage/shapefile/ShapefileProvider.java | 4 +- .../sis/storage/shapefile/ShapefileStore.java | 573 +++++++++++++++++++-- .../apache/sis/storage/shapefile/dbf/DBFField.java | 264 +++++++++- .../sis/storage/shapefile/dbf/DBFFieldEncoder.java | 206 -------- .../sis/storage/shapefile/dbf/DBFHeader.java | 50 +- .../sis/storage/shapefile/dbf/DBFReader.java | 38 +- .../{shp/ShapeWriter.java => dbf/DBFWriter.java} | 44 +- .../shapefile/shp/ShapeGeometryEncoder.java | 303 ++++++----- .../sis/storage/shapefile/shp/ShapeHeader.java | 18 +- .../sis/storage/shapefile/shp/ShapeReader.java | 21 +- .../sis/storage/shapefile/shp/ShapeRecord.java | 34 +- .../sis/storage/shapefile/shp/ShapeWriter.java | 51 +- .../{shp/ShapeWriter.java => shx/IndexWriter.java} | 39 +- .../sis/storage/shapefile/ShapefileStoreTest.java | 109 ++++ .../sis/storage/shapefile/dbf/DBFIOTest.java | 100 +++- .../sis/storage/shapefile/shp/ShapeIOTest.java | 72 ++- netbeans-project/ivy.xml | 8 +- netbeans-project/nbproject/project.xml | 3 + optional/src/org.apache.sis.gui/bundle/bin/sis | 4 +- optional/src/org.apache.sis.gui/bundle/bin/sis.bat | 2 +- optional/src/org.apache.sis.gui/bundle/bin/sisfx | 4 +- .../src/org.apache.sis.gui/bundle/bin/sisfx.bat | 2 +- parent/README.md | 8 + .../style/Style.java => parent/build.gradle.kts | 14 +- parent/pom.xml | 2 +- settings.gradle.kts | 9 +- 233 files changed, 5938 insertions(+), 2296 deletions(-) create mode 100644 endorsed/src/org.apache.sis.console/main/org/apache/sis/console/TranslateCommand.java create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/MetadataColumn.java create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/NilReasonMap.java create mode 100644 endorsed/src/org.apache.sis.metadata/test/org/apache/sis/metadata/NilReasonMapTest.java create mode 100644 endorsed/src/org.apache.sis.metadata/test/org/apache/sis/metadata/iso/quality/DefaultConformanceResultTest.java create mode 100644 endorsed/src/org.apache.sis.storage.geotiff/main/org/apache/sis/storage/geotiff/WritableStore.java create mode 100644 endorsed/src/org.apache.sis.storage/main/org/apache/sis/io/stream/SubsampledRectangleWriter.java create mode 100644 endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/base/SimpleAggregate.java create mode 100644 endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/base/WritableAggregateSupport.java rename endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/{internal/WritableResourceSupport.java => base/WritableGridCoverageSupport.java} (91%) copy endorsed/src/org.apache.sis.storage/test/org/apache/sis/io/stream/{HyperRectangleWriterTest.java => SubsampledRectangleWriterTest.java} (56%) create mode 100644 gradle/wrapper/gradle-wrapper.jar create mode 100644 gradle/wrapper/gradle-wrapper.properties create mode 100755 gradlew create mode 100644 gradlew.bat copy {endorsed/src/org.apache.sis.storage.netcdf => incubator/src/org.apache.sis.storage.shapefile}/main/META-INF/services/org.apache.sis.storage.DataStoreProvider (82%) create mode 100644 incubator/src/org.apache.sis.storage.shapefile/main/org/apache/sis/storage/shapefile/ListingPropertyVisitor.java delete mode 100644 incubator/src/org.apache.sis.storage.shapefile/main/org/apache/sis/storage/shapefile/dbf/DBFFieldEncoder.java copy incubator/src/org.apache.sis.storage.shapefile/main/org/apache/sis/storage/shapefile/{shp/ShapeWriter.java => dbf/DBFWriter.java} (55%) copy incubator/src/org.apache.sis.storage.shapefile/main/org/apache/sis/storage/shapefile/{shp/ShapeWriter.java => shx/IndexWriter.java} (61%) create mode 100644 parent/README.md copy endorsed/src/org.apache.sis.portrayal/main/org/apache/sis/style/Style.java => parent/build.gradle.kts (74%)