This is a reference documentation of the GML (FeatureCollection) writer in hale studio. Usually you will not need this reference, as in hale studio the configuration of I/O providers is done via the respective wizards for import and export. Where this reference can come in handy is if you want launch a transformation via the command line.
Name | GML (FeatureCollection) |
---|---|
Identifier | eu.esdihumboldt.hale.io.gml.writer |
Implementation | eu.esdihumboldt.hale.io.gml.writer.GmlInstanceWriter |
Following are the specific configuration parameters for this writer.
If geometries should be simplified (e.g. a MultiPolygon to a Polygon), if possible, before writing them.
Setting name | gml.geometry.simplify |
---|---|
Default value | true |
Target coordinate reference system the data should be transformed to.
Setting name | crs |
---|---|
Example value | code:EPSG:4326 |
Reference systems can be defined either as code or WKT (preceded with code: or wkt: respectively) | |
By default no CRS transformation is performed, the existing geometries are written with their respective CRS. |
If the output should be pretty printed (indented)
Setting name | xml.pretty |
---|---|
Default value | false |
Prefix to use for all CRS codes based on EPSG in geometry srsNames.
Setting name | crs.epsg.prefix |
---|---|
Example value | http://www.opengis.net/def/crs/EPSG/0/ |
Make sure that all SRS names use this kind of notation. The EPSG code number is appended to the provided parameter to build the SRS name. | |
By default the CRS code is not modified. |
Unifiying the winding order of geometries, before writing them
Setting name | geometry.unifyWindingOrder |
---|---|
Example value | clockwise, noChanges |
Unifying order can be set as Clockwise or no change in order (clockwise or noChanges respectively). | |
Default value | counterClockwise |
By default, counterClockwise is set for GML instance |
XML ID to specify for the container element, if possible
Setting name | xml.containerId |
---|
Don't encode nilReason attributes for elements that are not nil.
Setting name | xml.notNil.omitNilReason |
---|---|
Example value | false |
Default value | true |
By default, nilReason attributes are omitted for elements that are not nil. |
Automatically add codespace to gml:identifier during GML export.
Setting name | xml.add.codespace |
---|---|
Example value | false |
Default value | false |
By default, the codespace is automatically added to the gml:identifier. |
Number representation format for geometry coordinates
Setting name | geometry.write.decimalFormat |
---|---|
Example value | 000000.000 |
Format must be given with digit 0 and decimal separator '.'. It states number of digits before and after decimal separator. | |
By default no format is used, geometry coordiantes are written in the standard format only. |
Pattern for formatting decimal numbers
Setting name | xml.decimalFormat |
---|---|
Example value | 0.000## |
The pattern may contain the placeholders '0' and '#' and the decimal separator '.' (once at most). The pattern defines the number of digits used before and after the decimal separator. The placeholder '0' signifies that a digit will always be written, even if it is a leading or trailing zero, whereas with the placeholder '#' the digit will only be written if it is not a leading/trailing zero. In case the original value has more significant figures than the pattern allows for, the number will be rounded. | |
By default no format is used, decimal values may be written in scientific notation (e.g. 6.78E9) |
Guiding value for instances per file. The number will be exceeded only in cases where there are too many inter-related instances that cannot be separated.
Setting name | instancesPerFile |
---|---|
Example value | 1000 |
Default value | 0 |
By default, no partitioning will take place and all instances will be written to a single file. |
Mode for partitioning the output
Setting name | partition.mode |
---|---|
Example value | cut |
The partitioning can also be done by cutting strictly at the threshold. | |
Default value | related |
By default objects that are connected via local XML references are kept together. |
Partition by feature type
Setting name | partition.byFeatureType |
---|---|
Example value | true |
The exporter will create one file per target type. Local references to instances of other types will be modified to relative references, referencing the respective output file. This setting cannot be combined with other partitioning schemes. | |
Default value | false |
By default all types are written to the same file (unless another partitioning scheme is active) |
Partition by spatial extent
Setting name | partition.byExtent |
---|---|
Example value | true |
The exporter will create a spatial partitioning of the exported instances by adding the centroids of the geometries to a quadtree. A tile in the quadtree will be split up into four equal-sized subtiles once the configured maximum number of instances in the tile is surpassed. Local references to instances in other tiles will be modified to relative references, referencing the respective output file. This setting cannot be combined with other partitioning schemes. | |
Default value | false |
By default all types are written to the same file (unless another partitioning scheme is active) |
Value for the maximum number of instances per tile. If the number is exceeded, the tile will be split up.
Setting name | partition.byExtent.maxInstancesPerTile |
---|---|
Example value | 2000 |
Default value | 1000 |
By default, at most 1000 instances will be put into a single tile. |
Mode for spatial partitioning of the output
Setting name | partition.byExtent.mode |
---|---|
Example value | world |
The partitioning can also be done by cutting strictly at the threshold. | |
Default value | dataset |
By default the bounding box of the exported instances will be used as the boundary of the quadtree used to do the spatial partitioning |
The following configuration parameters are shared for all I/O providers.
During import the content type is tried to be auto-detected, for export this is not possible, but I/O providers may have a default content type associated. If an I/O provider only supports one content type, it's usually not necessary to set this parameter. In any case you can override the content type to use/assume using a content type identifier (see the list of supported content types at the bottom of the page).
Setting name | contentType |
---|---|
Example value | eu.esdihumboldt.hale.io.gml |
Specifying a character encoding is important especially for the
import, so data is interpreted correctly. Not every I/O provider
may respect this setting though (e.g. if the encoding is given by
the data source).
Specify a character encoding by its name
as recognised by Java.
Setting name | charset |
---|---|
Example value | UTF-8 |
eu.esdihumboldt.hale.io.gml
)eu.esdihumboldt.hale.io.gml.gzip
)