Commit Graph

12 Commits

Author SHA1 Message Date
Bart van den Eijnden
1948233d1f merge with master - solving conflicts 2013-08-09 09:55:44 +02:00
ahocevar
0aed05a413 Renaming handleWriteOptions to applyWriteOptions 2013-08-04 15:10:10 +02:00
Bart van den Eijnden
17fefda8fd implement GMLReadOptions and GMLWriteOptions as discussed with @ahocevar 2013-08-04 15:10:10 +02:00
Bart van den Eijnden
2f4f508d1a move srsName and axisOrientation from the instance to the read and write functions as discussed with @ahocevar 2013-08-04 15:10:10 +02:00
ahocevar
6f3fa14c53 Sensible axisOrientation and srsName defaults 2013-08-04 15:10:09 +02:00
ahocevar
56e8b1cfb4 Get projection and axis order from GML data
To make tests pass, the winding order of the coordinates in the
test data had to be reversed to conform to common gml practice.
2013-08-04 15:10:09 +02:00
Bart van den Eijnden
ab40ab6208 Add parser for OGC Filter 1.0 and 1.1 (read/write)
This work is based on the ol.expr package by @tschaub.
It adds a few named expression functions to that package:

 * INTERSECTS, CONTAINS, DWITHIN, WITHIN (no client-side implementation as yet)
 * LIKE (like comparison with wildcard, singleChar and escapeChar)
 * IEQ (case-insensitive equality)
 * INEQ (case-insensitive non-equality)

It also adds a few extra parameters to the existing EXTENT function to be able
to deserialize and serialize all info (i.e. projection and property name).

Some changes were needed for the GML parser as well:

 * createGeometry function needed to be public
 * when parsing Box (GML2) and Envelope (GML3) also parse the srsName
 * fix up writing for Box and Envelope now that bounds is an array

Also added createDocumentFragment function to the XML parser. Implementation
is similar to OpenLayers 2.

Some addtional notes on the implementation:

 * PropertyIsBetween was implemented as an ol.expr.Logical with operator
   ol.expr.LogicalOp.AND and two ol.expr.Comparison instances with operator
   ol.expr.ComparisonOp.GTE and ol.expr.ComparisonOp.LTE
 * In OGC Filter And and Or can contain more than 2 sub filters, so this
   is translated into a hierarchy of ol.expr.Logical
2013-07-03 13:09:25 +02:00
Tim Schaub
99ba5a0da8 Store rings so exerior is clockwise and interior is counter-clockwise
KML and WKT don't specify a winding order, so we write those out in CW/CCW order (for exterior/interior).  GML references ISO 19107 that specifies CCW/CW, so we serialize in that winding order.

Having hand generated all this GML data the first time around, I reserve the right to modify it for the tests.
2013-06-24 17:46:36 -06:00
Tim Schaub
54378f394a Calling callback in GML v2 tests 2013-06-23 11:02:38 -06:00
Tom Payne
268c18988b Remove unused variables in parsers 2013-05-28 16:01:33 +02:00
Bart van den Eijnden
3ee533a9b0 FeatureId support in GML (r/w) and KML (w)
Now that we have FeatureId support (see #733), we can add this back to the
GML parsers (v2 and v3). Also add write support for FeatureId in KML, read
support was already added by @fredj
2013-05-24 17:00:59 +02:00
Bart van den Eijnden
5ad4734c24 GML parser.
This adds a parser (read/write) for GML v2 and v3. GML v3 is limited to the
simple features profile of GML 3.1.1, just like OpenLayers 2 was. This will
be the basis for the WFS parser, but it only makes sense to continue this work
once feature modification (insert, update, delete) is in place in ol3. So the
WFS parser will be another pull request.
2013-05-14 20:12:05 +02:00