Commit Graph

95 Commits

Author SHA1 Message Date
Tim Schaub
183b51a1c0 Parse literal nodes in expressions in addition to text nodes 2013-08-15 14:32:47 -04:00
Tim Schaub
6c8ec8ed95 Test names and instanceof checks 2013-08-14 11:35:44 -04:00
Tim Schaub
2d95488906 Remove special write-only handling for dates 2013-08-14 11:26:01 -04:00
Tim Schaub
824c950824 Parse distance as a number 2013-08-14 09:33:47 -04:00
Bart van den Eijnden
8792973c08 make sure the _expression reader can deal with combined propertyname and literals 2013-08-09 15:57:29 +02:00
Bart van den Eijnden
1948233d1f merge with master - solving conflicts 2013-08-09 09:55:44 +02:00
Tim Schaub
254f325f29 Provide a method for parsing any GeoJSON as an array of features 2013-08-07 11:50:37 -06:00
Tim Schaub
5d0b4563a8 Optionally stroke and fill polygons (closes #475)
This also removes the unsupported width property from PolyStyle (closes #891).
2013-08-05 11:16:49 -06:00
Tim Schaub
f210d6d0e1 Rename line symbolizer opacity to strokeOpacity for consistency
We already have strokeColor and strokeWidth.  Having strokeOpacity makes sense.
2013-08-05 11:16:49 -06:00
ahocevar
cc29ea912b Updating the TopoJSON parser to return a ReadFeaturesResult 2013-08-04 15:10:11 +02:00
ahocevar
9578da0cfb Renaming readFeaturesWithMetadata* back to readFeatures*
Since this is not exported and we do not have a counterpart that
does not return the metadata, it should be fine to use a shorter
name.
2013-08-04 15:10:11 +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
a4ceb41938 fix up KML tests 2013-08-04 15:10:09 +02:00
Bart van den Eijnden
33dd188f9b fix up the geojson tests 2013-08-04 15:10:08 +02:00
Tim Schaub
3061fc6941 Missing requires in test and example lint 2013-07-26 16:20:33 -06:00
Tim Schaub
3023c5b9e6 Tests for parsing world-110m.json 2013-07-26 15:52:22 -06:00
Tim Schaub
a0fd3eec19 Initial spec 2013-07-26 15:05:53 -06:00
Bart van den Eijnden
499319fb99 address most of @tschaub's review comments, use dot notation where possible still needs to be done, and I have some questions on the _expression reader still 2013-07-08 17:04:27 +02:00
Tim Schaub
087b4d04a6 Merge pull request #809 from tschaub/clockwise
Consistent winding order for polygon rings.
2013-07-05 17:04:50 -07: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
42aa94de21 KML MultiGeometry may contain other MultiGeometry
As demonstrated in the tests, a MultiGeometry may contain other MultiGeometry nodes.  We can support this with heterogenous GeometryCollection instances - though these are not currently rendered.
2013-06-26 12:31:08 -06: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
d6be28a7bb Get rid of unnecessary waitsFor function
This was a relic from the Jasmine tests.  Mocha tests have a built-in timeout.  Async tests are registered with a function that takes a callback.
2013-06-23 11:20:57 -06:00
Tim Schaub
7a620de1bf Calling callback in WMS capabilities tests 2013-06-23 11:08:34 -06:00
Tim Schaub
be33fd58b3 Calling callback in GML v3 tests 2013-06-23 11:04:03 -06:00
Tim Schaub
54378f394a Calling callback in GML v2 tests 2013-06-23 11:02:38 -06:00
Tim Schaub
7bf24eb918 Calling callback in kml tests
Also reordering things so we have `expect(got).to.xmleql(expected)`.
2013-06-23 11:00:41 -06:00
Tim Schaub
2ee0805075 Taking advantage of GitHub's rendering of .geojson 2013-06-18 15:39:45 -06:00
Tom Payne
268c18988b Remove unused variables in parsers 2013-05-28 16:01:33 +02:00
Bart van den Eijnden
b921bece0e Merge pull request #725 from bartvde/gpx
Implement GPX parser (read/write). (r=@fredj)
2013-05-27 01:42:09 -07: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
ahocevar
5a3ac559be Merge pull request #733 from ahocevar/fid
Store the feature's commonly used id. r=@fredj,@bartvde
2013-05-24 06:15:00 -07:00
Bart van den Eijnden
f8ef902af4 Merge pull request #732 from bartvde/geojson-write
Write support for ol.parser.GeoJSON (r=@tschaub)
2013-05-24 00:38:10 -07:00
Frederic Junod
a452915d8a Store the KML Placemark identifier 2013-05-24 09:29:30 +02:00
ahocevar
8c0f1f979a Store the feature's commonly used id
To not clobber the feature's attributes, this is a separate
member property.
2013-05-23 11:16:17 -05:00
Bart van den Eijnden
93b067b6bc Write support for ol.parser.GeoJSON
Also add some convenience with static read and write methods based on the
singleton.
2013-05-23 15:57:11 +02:00
Bart van den Eijnden
3a83f1b861 Small fixes for KML write.
Be a good XML citizen and always write out schemaLocation.
Use serialize on ol.parser.XML so that we don't have to set xmlns manually.
2013-05-22 12:00:58 +02:00
Bart van den Eijnden
dc922b4ffa Implement GPX parser (read/write).
Implement a parser for GPX which supports read and write.
2013-05-22 10:44:36 +02:00
Bart van den Eijnden
921aa28b42 Merge pull request #712 from bartvde/wkt
Add WKT parser (r=@ahocevar,@twpayne,@tschaub)
2013-05-17 01:55:42 -07:00
Bart van den Eijnden
585887b04e address review comments by @twpayne 2013-05-17 10:09:40 +02:00
Bart van den Eijnden
bf8c12d9f7 Add WKT parser.
Add a parser (read/write) for OGC Well-Known-Text (WKT). It deals with
geometries only, not with features, mostly because WKT can only contain a
single geometry (or geometry collection). This can later on be used to
serialize and deserialize geometries in ol3.
2013-05-16 15:29:39 +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
Bart van den Eijnden
c69e5c1dba Use xmleql in the KML tests
This also involves some modifications to the xmleql functionality now that
it was tested with a real-life case (KML). Also, some of the input KML files
needed to be changed since we currently cannot roundtrip 100% of the input.
2013-05-08 16:41:45 +02:00
Tom Payne
f81658f542 Port parsers to new extents 2013-04-19 10:03:36 +02:00
Bart van den Eijnden
8fafe63553 Use afterLoadXml in WMSCapabilities parser tests
The WMS Capabilities parser tests were created before the afterLoadXml
utility functions were created. This is now corrected.
2013-04-12 11:25:08 +02:00
Bart van den Eijnden
8cc70f35d9 use goog.global, restructure to have ol.parser.KML instead of ol.parser.ogc.KML 2013-04-10 10:17:28 +02:00