Commit Graph

54 Commits

Author SHA1 Message Date
ahocevar
59fe714fa6 Making the linter happy 2013-02-15 17:44:09 +01:00
ahocevar
8cc65756bc Only attempt fast lane for AND filters 2013-02-15 16:25:29 +01:00
ahocevar
4e971b6041 Faster extent + geometry type queries
By maintaining separate R-Trees for each geometry type, we cover
the most critical query from the canvas renderer at higher
speeds. Using the filter's own evaluate method, we can now also
serve arbitrary queries, but they won't be fast.

Still needs unit tests.
2013-02-06 16:42:55 +01:00
ahocevar
61e4452c83 Adding missing and removing unused goog.requires 2013-02-06 16:26:24 +01:00
ahocevar
089b7013c2 Merge branch 'master' of github.com:openlayers/ol3 into vector
Conflicts:
	src/ol/renderer/canvas/canvasrenderer.js
	test/ol.html
2013-02-05 17:28:36 +01:00
ahocevar
386b97cf9a Merge branch 'master' of github.com:openlayers/ol3 into vector
Conflicts:
	src/ol/renderer/canvas/canvasrenderer.js
	test/ol.html
2013-02-05 17:17:09 +01:00
ahocevar
dafa48da2e Using spatial index and combined filters
This should significantly speed up feature access. Needs unit
tests.
2013-02-04 22:51:58 +01:00
Tom Payne
e6eb401e36 Add missing goog.requires 2013-01-30 23:47:13 +01:00
Tom Payne
b6f856f962 Remove unused goog.requires 2013-01-30 22:48:03 +01:00
ahocevar
9a0f509a94 Use objects instead of arrays for geometry type cache
Also trying to reference features directly here instead of
storing feature ids in the index. We'll see if this is good when
we have an index for tile coords as well and want to filter
with multiple filters, accessing multiple indices.
2013-01-30 18:03:27 +01:00
Tim Schaub
a7737150fe Merge branch 'master' of github.com:openlayers/ol3 into vector 2013-01-24 22:21:25 -07:00
Tom Payne
ace0728e8a Merge pull request #151 from twpayne/tile-cache-expiry
Tile cache expiry
2013-01-24 07:24:33 -08:00
Éric Lemoine
d04b2bb2bd Fix typo 2013-01-24 10:28:28 +01:00
ahocevar
4a54cc69ce Tiled vector rendering
This needs more work still - see inline TODOs. It also has a
major bug - rendered vector features do not scale and do not
change their offset during panning. So only the initial view is
correct.
2013-01-23 21:37:06 +01:00
Tom Payne
0f3d708525 Use ol.TileCache in ol.source.DebugTileSource 2013-01-23 17:22:01 +01:00
Tom Payne
09ec444958 Use ol.TileCache in ol.source.ImageTileSource 2013-01-23 17:22:01 +01:00
Tom Payne
b770aaa2f5 Add tile cache expiry infrastructure 2013-01-23 14:31:24 +01:00
ahocevar
16865fc1fa Removing no longer needed Tiled Vector Source. 2013-01-22 13:24:37 +01:00
Tim Schaub
1dd17fc88f Rendering vector layers 2013-01-22 01:36:32 -07:00
Tim Schaub
f80f4fab36 Symbolizer literals will be cached by the renderer 2013-01-21 18:03:25 -07:00
Tim Schaub
1a63bf078f Basic vector source and layer
The vector source maintains a cache of features.  These are indexed by geometry type in anticipation of the renderer's needs.
2013-01-21 17:59:09 -07:00
Tim Schaub
3cf3ef629c Lint
Caught by `build.py precommit` not `build.py lint`.
2013-01-21 10:51:38 -07:00
ahocevar
300c1048bd Cache and bucket fixes 2013-01-21 15:56:35 +01:00
Tom Payne
386bb636bb Add missing dependencies on goog.array 2013-01-21 14:20:11 +01:00
ahocevar
e060498fad Fixing compiler errors (mostly caused by typos) 2013-01-21 13:41:18 +01:00
ahocevar
d0d397f98f Tiled vector source
This source has features and provides tiles with the feature
geometries rendered, using the feature symbolizers. Needs more
work because it is still very unefficient, because it renders
all feature geometries to all tiles, and uses a collection of
features, which we do not have yet.
2013-01-20 21:23:19 +01:00
Tom Payne
bff8a2bb1e Add DebugTileSource exports 2013-01-18 01:16:14 +01:00
Tom Payne
76e600d5f6 Fix Stamen exports 2013-01-18 00:19:06 +01:00
Tom Payne
04b18a8a83 Merge pull request #121 from twpayne/attribution-control-refactoring
Attribution control refactoring
2013-01-17 04:46:57 -08:00
Tom Payne
9fbabc3696 Refactor attribution control 2013-01-16 16:34:31 +01:00
ahocevar
87ce763ccb Use validity extent to generate default resolutions
Previously, the TiledWMS source generated a resolutions array
derived from the world extent in meters, to match the default
Web Mercator resolutions of the map. This wouldn't work for
projections with distance units different than meters. It is
better to commit to a default resolutions array where zoom level
0 is the validity extent of the projection (not the Web Mercator
world extent!) at a 256 pixel tile size.
2013-01-14 16:10:55 +01:00
Tom Payne
b4da378a33 Don't attempt to share canvases between renderers, fixes #101 2013-01-11 17:43:31 +01:00
Tom Payne
6984fbb9b9 Add ol.source.DebugTileSource 2013-01-11 01:18:57 +01:00
Tom Payne
97d83666a6 Factor out ImageTile and ImageTileSource 2013-01-11 01:18:57 +01:00
Tom Payne
7ad273082a Correct Stamen source options 2013-01-05 18:35:14 +01:00
Éric Lemoine
dd014a3b79 Avoid unneeded parameter concatenations (thanks @twpayne, refs #85) 2012-11-04 19:31:20 +01:00
Éric Lemoine
529c3e8b6a Add ol.TileUrlFunction.createBboxParam 2012-11-03 22:55:54 +01:00
ahocevar
eb4a8683e2 Projection handling improvements
* The Map's private createProjection_ method is now a public
  method of the Projection. It is also used by TiledWMSSource
  to calculate the appropriate projection from the user
  configuration.
* ol.Projection.addProjection now adds the transformation for
  the source == target case. This makes it easy for the user
  to create custom projection maps without including proj4js and
  without adding a custom transformation, as long as the
  userProjection equals the projection.
* The TiledWMSSource now uses the same default resolutions as
  the map (i.e. the OSM resolutions)
* The modulo calculation for wrapping extents now works for all
  grid configurations, by not calculating the number of columns
  based on an assumption about the way the zoom levels relate to
  resolutions.
* The wms-custom-proj example now shows how to properly
  configure a custom resolution, i.e. by using the validity
  extent of the projection as its extent.
2012-10-31 13:17:58 +01:00
ahocevar
e157d17ab7 Addressing review comments regarding typeDef 2012-10-29 09:44:25 +01:00
ahocevar
e5308fec40 No extent magic
Setting the extent on a tile source now only means that tiles
won't be drawn outside that extent. Now the only way to specify
the origin of the tile grid is to provide a custom tileGrid. By
default, the grid origin is the top left corner of the
projection's extent.
2012-10-27 17:28:08 +02:00
ahocevar
b872b5a74f Cross origin handling to make example work in Firefox
The WMS used in the example does not send CORS headers (I think
not many WMS services do). It seems that the WebGL renderer
needs script access to the image data, so the example only works
with the DOM renderer in Firefox.
2012-10-27 09:16:09 +02:00
ahocevar
433b12c39a Using the projection's extent for resolutions math by default
This ensures that maps with WMS layers with different extents
do not scale the tiles differently for each layer when the
default tileGrid is used. Note that it is always possible to
configure WMS sources with a custom tileGrid.
2012-10-26 22:51:30 +02:00
ahocevar
084506cdb5 Adding tiled WMS source
As shown in the example, this adds support for tiled WMS layers.
2012-10-26 21:36:30 +02:00
Tom Payne
e5d39724c9 Give each source file a unique name 2012-10-26 11:25:26 +02:00
Tom Payne
41c6c2eff3 Merge pull request #72 from twpayne/source-xyz-projection
Add projection option to ol.source.XYZ
2012-10-25 23:53:03 -07:00
Tom Payne
e7d5022dc1 Add projection option to ol.source.XYZ 2012-10-25 18:48:24 +02:00
Éric Lemoine
576c54eb61 Move object literal exports to their own file 2012-10-24 17:05:33 +02:00
Éric Lemoine
d81b232587 Granularize the exports
This commit decomposes exports.txt into multiple, per-component, export files.  This will be required for custom builds;
2012-10-20 22:31:33 +02:00
Éric Lemoine
1f7ecd2529 Make linter happy 2012-10-16 21:50:20 +02:00
Éric Lemoine
5c6b5cb495 Add BingMaps exports 2012-10-16 21:45:52 +02:00