Commit Graph
14 Commits
Author SHA1 Message Date
Julien Enselme e2af6b9d04 Rename the is3D option for WFS transaction into hasZ
This is more consistent with existing code.
2017-04-20 10:39:02 +02:00
Julien Enselme 4955097a52 Prevent Z to be undefined in 3D WFS transactions
For newly created points, Z can be undefined. In these cases, we use 0
for Z.
2017-04-20 10:39:02 +02:00
Julien Enselme 870bc51ad9 Add an option to writeTransaction to support 3D geometries
Close #6630
2017-04-20 10:39:02 +02:00
Julien Enselme bb278df881 Don't append feature prefix twice in WFS requests
Some WFS servers like tinyOWS require the feature prefix to be in the
feature type for the feature to be found (eg `prefix:layer`).

The problem was, the prefix was always added to the feature type which
gave us a type name like `prefix:prefix:feature` or
`feature:prefix:feature`. The requests were then rejected by the WFS
server.

We now check if the feature type starts with the prefix. If it does, we
don't append it again. If it doesn't we do.
2017-04-20 10:32:39 +02:00
Julien Enselme 3a5de5483c Fix the parsing of flat coordinates in GML2 for 3D geometies
The code used to rely on the dimension. However, the dimension can only
be read from a GML3 document. This caused, for 3D geometries:
- An assertion error to be raised since the flatCoordinates list
contains more than 3 elements: "Assertion failed: flatCoordinates should
have a length of 3" The value of flatCoordinates for a 3D point was
something like `[2586394, 1232407, 0, 731, NaN, 0]`
- The value of the Z coordinates to be incorrect and always set to 0

This patch simplifies and correct the parsing of the coordinates:
- Don't parse groups of coords and the coordonates at the same time.
- Detect the dimension for the coordinates.
- If the Z coordinate exists, its value is used, otherwise, we use 0.
- Correct the presentation of test data to make it work with the new
parser.
- Add a test for a 3D point.
2017-03-31 10:46:27 +02:00
Julien Enselme ecafa44196 Add support for WFS 1.0.0 to ol.format.WFS#writeTransaction
- Add a version property to olx.format.WFSWriteTransactionOptions to set
the WFS protocol version to use
- Use the specified version to use the correct schema and version in the
GML request
- Use the version to select the proper GML serializer
2017-03-21 10:59:28 +01:00
Julien Enselme 5f5c906129 Add GML2 serializer for Envelope 2017-02-17 17:00:09 +01:00
Julien Enselme fec279c460 Add GML2 serializer for MultiSurface and MultiPolygon 2017-02-17 16:57:45 +01:00
Julien Enselme 579ec3955e Add GML2 MultiLineString serialiazer 2017-02-17 16:50:54 +01:00
Julien Enselme 650837b207 Add GML2 serializer for MultiPoint 2017-02-17 16:39:48 +01:00
Julien Enselme f8c6863fa7 Add GML2 serializer for Point 2017-02-17 16:28:52 +01:00
Julien Enselme dd90c90819 Add GML2 serializer for Surface and Polygon
- Adapt the code from ol.format.GML3.
- Create utility function to create coordinates nodes with proper
attributes
2017-02-17 16:23:16 +01:00
Julien Enselme 21394826b6 Add GML2 serializer for Curve and LineString
Adapt the code from ol.format.GML3.
2017-02-17 15:48:10 +01:00
Julien Enselme 7f0ed44828 Boostrap GML2 serializers
- Add writeFeatureElement (copied and adapted from ol.format.GML3)
- Add writeGeometryElement (copied and adapted from ol.format.GML3)
- Add related constants (GEOMETRY_SERIALIZERS_, GEOMETRY_NODE_FACTORY_)
- Add empty serialization methods
2017-02-17 15:38:19 +01:00