Commit Graph

72 Commits

Author SHA1 Message Date
Tim Schaub
087b4d04a6 Merge pull request #809 from tschaub/clockwise
Consistent winding order for polygon rings.
2013-07-05 17:04:50 -07: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
Bart van den Eijnden
ed9861317f Add a parser for reading and writing KML.
This adds ol.parser.ogc.KML which can be used to read and write KML documents.
NetworkLinks are retrieved asynchronously.
Current caveats of the implementation are:

* LabelStyle not yet implemented. Missing support in renderers.
* When using shared structures the parser needs to be configured with
  dimension 2.
* We need a better way to disable fill, currently we use opacity as a
  workaround.
* We cannot really roundtrip documents, since some of the info is not
  preserved in the ol structures. But we can write out most of the important
  info.
2013-04-09 15:34:03 +02:00
Tom Payne
02196c94b5 Redefine ol.Coordinate to be Array.<number> 2013-04-05 12:30:37 +02:00
Tobias Bieniek
d5d8afc858 Converted "vector" branch unit tests to mocha, expect.js and sinon 2013-03-13 04:48:08 +01:00
Tobias Bieniek
8273d880d5 Merge remote-tracking branch 'origin/master' into mocha
Conflicts:
	test/jasmine-extensions.js
2013-03-13 04:46:16 +01:00
Tobias Bieniek
89ab68cde7 Replaced jasmine testing framework by mocha, expect.js and sinon
as discussed in #319
2013-03-13 04:32:43 +01:00
ahocevar
fad036aa53 Merge branch 'master' of github.com:openlayers/ol3 into vector
Conflicts:
	src/objectliterals.exports
2013-03-12 08:39:16 +01:00
Tobias Bieniek
8330586ee2 test/polyline: Reset testing data manually in encodeFloats test 2013-03-11 20:32:22 +01:00
Tobias Bieniek
8b45637e72 test/polyline: Added missing brackets 2013-03-11 20:32:18 +01:00
Tobias Bieniek
5d492a22fa test/polyline: Fixed linter problems 2013-03-10 21:13:48 +01:00
Tobias Bieniek
5333d00173 test/polyline: Added encodedFlatPoints to testing data variables
DRY...
2013-03-10 21:07:23 +01:00
Tobias Bieniek
f793b69602 test/polyline: Reset testing data before each test
.. instead of using slice()
2013-03-10 21:05:32 +01:00
Tobias Bieniek
4b8a9aaa8f test/polyline: Renamed flat_points variable to flatPoints 2013-03-10 20:59:15 +01:00
Tobias Bieniek
6f08122398 polyline: Used new *Deltas() functions in *FlatCoordinates() 2013-03-10 20:45:12 +01:00
Tobias Bieniek
aef15947c8 polyline: Added encode/decodeDeltas() functions 2013-03-10 20:44:34 +01:00
Tobias Bieniek
02707401a3 polyline: Added encode/decodeFloats() functions 2013-03-10 20:04:54 +01:00
Tobias Bieniek
cbdaf1035d polyline: Added encode/decodeSignedIntegers() functions 2013-03-10 19:05:14 +01:00
Tobias Bieniek
78278798bb polyline: Added encode/decodeUnsignedIntegers() functions 2013-03-10 18:48:49 +01:00
Tobias Bieniek
ce619871c2 test/polyline: Added two more test cases for unsigned integers
Again taken from the official documentation at Google.
2013-03-10 17:00:37 +01:00
Tobias Bieniek
680f3386ce test/polyline: Added more test cases from official documentation
.. and marked those tests as such. URL of the "Encoded Polyline Algorithm Format" page is https://developers.google.com/maps/documentation/utilities/polylinealgorithm
2013-03-10 16:42:51 +01:00
Tobias Bieniek
ea227419a3 polyline: Added encode/decodeFlatCoordinates() functions 2013-03-10 01:25:59 +01:00
Tobias Bieniek
04d764f4f3 polyline: Added encode/decodeFloat() functions 2013-03-09 23:17:29 +01:00
Tobias Bieniek
e802cc3d56 polyline: Added decodeSigned/UnsignedInteger() functions 2013-03-09 22:40:07 +01:00
Tobias Bieniek
36923d6688 Added basic ol.parser.polyline module
This module will contain the low-level functions for Google's "Encoded
Polyline" algorithm.
2013-03-09 22:19:59 +01:00