Commit Graph

141 Commits

Author SHA1 Message Date
Tim Schaub
554a725d1a Merge pull request #912 from tschaub/seperate-fill-stroke
Separate fill and stroke symbolizers.  Allow styles with no rules (and also support "else" symbolizers).
2013-08-19 15:43:06 -07:00
Tim Schaub
183b51a1c0 Parse literal nodes in expressions in addition to text nodes 2013-08-15 14:32:47 -04:00
Tim Schaub
af1cd64018 Lint 2013-08-15 13:54:37 -04:00
Tim Schaub
6078fe7b02 Line literal color instead of strokeColor etc. 2013-08-15 10:37:18 -04:00
Tim Schaub
c36ceab2a0 Separate stroke and fill 2013-08-15 10:37:18 -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
Tim Schaub
a3ec0d776c Building an expression with constructors instead of ol.expr.parse 2013-08-09 17:15:42 -06: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
29954d2ff9 trim the string before passing it off to ol.expr.parse 2013-08-09 11:08:19 +02:00
Bart van den Eijnden
deb88a5a6d change _expression reader 2013-08-09 10:42:16 +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
ahocevar
3ebbdbb48f Use goog.functions.sequence 2013-08-04 15:10:10 +02:00
Bart van den Eijnden
b66f4aef07 make Travis happy 2013-08-04 15:10:10 +02:00
Bart van den Eijnden
8d997f17ec forgot to remove a commented code block 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
023d3faf3c Do not translate projections using regular expressions 2013-08-04 15:10:09 +02:00
ahocevar
e32da90f5a Fixing typo
Thanks @bartvde for spotting this.
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
ahocevar
109ec71877 Using single argument for callback and string for projection
This makes the asynchronous and synchronous versions of
readFeatures work with the same data structures, and leaves
projection handling outside the parsers.
2013-08-04 15:10:09 +02:00
Bart van den Eijnden
7b31ec26ea fix up build 2013-08-04 15:10:08 +02:00
ahocevar
0168c2e46f Better interface for passing projection and other metadata 2013-08-04 15:10:08 +02:00
ahocevar
b0c1ef04a1 Implementing getProjection for KML and GPX 2013-08-04 15:10:08 +02:00
ahocevar
55697dea28 getProjection method on parsers
With this, vector sources/layers do not need to make
assumptions on the data projection.
2013-08-04 15:10:08 +02:00
Tim Schaub
b206442418 Exports 2013-07-26 15:05:53 -06:00
Tim Schaub
5b707d4275 Shared structure for crs transforms 2013-07-26 15:05:53 -06:00
Tim Schaub
e53deb62be Transform arcs 2013-07-26 15:05:53 -06:00
Tim Schaub
6580ece2bb GeometryCollection as individual features 2013-07-26 15:05:53 -06:00
Tim Schaub
38172c4f20 Adding TopoJSON parser 2013-07-26 15:05:52 -06:00
Bart van den Eijnden
31fd41ab14 make filterMap_ static as proposed by @tschaub 2013-07-09 13:34:23 +02:00
Bart van den Eijnden
c299bfa1cb more dot notation 2013-07-08 17:29:32 +02: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
30d947521d The fromParts factories take geometry instances instead of coords
The MultiLineString case was correct here.  The MultiPoint and MultiPolygon cases should be using the constructor instead of the `fromParts` factories.
2013-06-26 12:23:19 -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
Tom Payne
075f4aadc7 Merge pull request #748 from twpayne/rename-projection-to-proj
Rename ol.projection to ol.proj
2013-05-31 04:34:22 -07:00
Tom Payne
46553c719c Rename ol.projection to ol.proj 2013-05-30 18:55:58 +02:00
Bart van den Eijnden
317281b37b Merge pull request #729 from bartvde/wktsingleton
static read and write methods on ol.parser.WKT (r=@ahocevar)
2013-05-30 00:29:53 -07:00
Tom Payne
268c18988b Remove unused variables in parsers 2013-05-28 16:01:33 +02:00
Bart van den Eijnden
9968a5feda Merge pull request #734 from bartvde/xml-ie9
Fix XML serialize and xml_eql in IE9 (r=@ahocevar)
2013-05-27 02:28:48 -07:00