Commit Graph
100 Commits
Author SHA1 Message Date
Petr Sloup 684e305bc8 Minor mapbox-style example docs update 2019-10-03 19:16:19 +02:00
Petr Sloup db583be0f9 Add example showing vector tiles in EPSG:4326 2019-10-03 13:00:47 +02:00
Petr Sloup 61fdf965ba Use special MapTiler API key dedicated for OpenLayers examples 2019-06-25 16:34:58 +02:00
Petr Sloup 05c791efcd Fix MapTiler API usage 2019-06-21 11:22:24 +02:00
Petr Sloup 67ee5a41b0 Add note about ignoring tileSize TileJSON property 2019-02-22 09:05:18 +01:00
Petr Sloup bc25097899 Add tileSize option to ol/source/TileJSON
The TileJSON spec does not specify the tile size
and there is no TileJSON property specifying the value.

Many providers nowadays provide 512x512 with TileJSON.
2019-02-21 19:00:07 +01:00
Petr Sloup ea4e5f2293 Fix minor type strength inconsistency 2017-06-13 12:58:57 +02:00
Petr Sloup 9eadf1505a Merge pull request #5766 from klokantech/examples-urls-https-fix
Use HTTPS to access tiles at tileserver.maptiler.com in examples
2016-08-23 13:45:36 +02:00
Petr Sloup cf7bed7887 Fix protocol in examples
tileserver.maptiler.com now uses HTTPS
2016-08-23 12:49:00 +02:00
Petr Sloup 1d21f76ad3 Merge pull request #4721 from klokantech/raster-reproj-gutter
Fix reprojection of raster sources with gutter
2016-02-19 12:25:24 +01:00
Petr Sloup 59574da74c Fix reprojection of raster sources with gutter 2016-02-19 12:17:03 +01:00
Petr Sloup 7b8feaa48f Merge pull request #4869 from klokantech/improve-reproj-precision
Improve precision of ol.reproj.render
2016-02-19 09:14:32 +01:00
Petr Sloup 83e251621a Improve precision of ol.reproj.render 2016-02-18 16:25:12 +01:00
Petr Sloup 9562756eeb Merge pull request #4718 from klokantech/raster-reproj-tile-error
Improve raster reprojection behavior when tiles fail to load
2016-01-27 15:05:36 +01:00
Petr Sloup a05c932973 Improve raster reprojection behavior when tiles fail to load 2016-01-27 14:56:18 +01:00
Petr Sloup cd308e47d2 Merge pull request #4667 from klokantech/mapquest-opaque-fix
Fix rendering of transparent MapQuest layer type
2016-01-13 07:01:30 +01:00
Petr Sloup 5dfb4199ca Fix rendering of transparent MapQuest layer type 2016-01-12 23:23:16 +01:00
Petr Sloup dccf867308 Merge pull request #4649 from klokantech/getopaque-doc-fix
Missing parameter description for ol.source.Tile#getOpaque
2016-01-12 09:27:41 +01:00
Petr Sloup 3607cddcca Missing parameter description for ol.source.Tile#getOpaque 2016-01-12 09:16:40 +01:00
Petr Sloup 11bd31c15b Merge pull request #4628 from klokantech/opaque-reprojection-fix
Fix for reprojecting opaque tile sources
2016-01-12 09:06:14 +01:00
Petr Sloup 2c3ed38714 Fix for reprojecting opaque tile sources 2016-01-12 08:58:16 +01:00
Petr Sloup 2237dc8e72 Merge pull request #4625 from klokantech/tilejson-xhr-default
Use XHR by default to load TileJSON in ol.source.TileJSON
2016-01-07 15:30:10 +01:00
Petr Sloup bc0d783f50 Use XHR by default to load TileJSON in ol.source.TileJSON 2016-01-07 09:19:23 +01:00
Petr Sloup 22b1460595 Merge pull request #4619 from klokantech/tilejson-xhr
Add option to load TileJSON via XHR
2016-01-05 13:48:23 +01:00
Petr Sloup ffd9ace84e Add option to load TileJSON via XHR 2016-01-05 13:40:20 +01:00
Petr Sloup cd1304aaae Merge pull request #4598 from klokantech/tilepixelratio
Make ol.source.Tile#getTilePixelRatio work correctly for all sources
2015-12-28 13:31:59 +01:00
Petr Sloup 767ac44e99 Make ol.source.Tile#getTilePixelRatio work for all sources
Even for sources which serve dynamic tile sizes based on devicePixelRatio
2015-12-28 13:19:03 +01:00
Petr Sloup 28240adaf5 Merge pull request #4594 from klokantech/tilequeue-reproj-jam
Fix for TileQueue gradually choking up when using raster reprojection
2015-12-28 13:17:39 +01:00
Petr Sloup 9cdf7678bb Make ol.reproj.Tile#load always async for consistency 2015-12-28 09:30:12 +01:00
Petr Sloup e1712eb44a Initiate tile load only after registering it as loading 2015-12-26 10:49:21 +01:00
Petr Sloup 48c8f9ea84 Merge pull request #4551 from klokantech/rasterreproj-wrapx
Handle tile coordinate wrapping when reprojecting raster tiles
2015-12-11 16:45:28 +01:00
Petr Sloup 9f5d85f2c6 Handle tile coordinate wrapping when reprojecting raster tiles 2015-12-11 16:35:23 +01:00
Petr Sloup 77ca38aa10 Merge pull request #4440 from klokantech/rasterreproj_tutorial
Raster reprojection tutorial
2015-11-18 09:40:40 +01:00
Petr Sloup 0b23eae429 Language fixes for raster reprojection tutorial 2015-11-18 09:27:35 +01:00
Petr Sloup b92565a096 Add raster reprojection tutorial 2015-11-18 09:27:35 +01:00
Petr Sloup 965b88d7c8 Save context state only when it's actually necessary 2015-10-16 16:30:16 +02:00
Petr Sloup d950dada31 Minor type fix 2015-10-16 16:30:16 +02:00
Petr Sloup e49f529fe6 Add typedefs for functions returning tiles/images 2015-10-16 16:30:16 +02:00
Petr Sloup 6f9fa4c12e Minor documentation improvements 2015-10-16 16:30:04 +02:00
Petr Sloup b816128728 Avoid assignment in return statement 2015-10-16 15:46:51 +02:00
Petr Sloup 70021be919 Use lower-case parameter names even for matrices 2015-10-16 15:45:34 +02:00
Petr Sloup 32fa3501df Update tests 2015-10-16 09:28:43 +02:00
Petr Sloup a7cde96056 Simplified wrapX handling
"Unwrap" the coordinates obtained from transformations and utilize wrapX
capabilities of the sources to handle calculations of TileRanges and
unwrapped tile extents.
2015-10-16 09:28:43 +02:00
Petr Sloup 52a7c5e582 Rename some private/local variables to increase readability 2015-10-16 09:28:43 +02:00
Petr Sloup f52f9b6817 Rename ol.RASTER_REPROJ_* constants to full ol.RASTER_REPROJECTION_* 2015-10-16 09:28:43 +02:00
Petr Sloup 9f8ab48f1f Minor improvements based on pull request comments 2015-10-16 09:28:43 +02:00
Petr Sloup 8fb1d1f244 Remove usage of various goog.* functions
goog.isNull, goog.isDefAndNotNull and goog.array.*
2015-10-16 09:28:43 +02:00
Petr Sloup f3d5d16a82 Remove use of goog.isDef 2015-10-16 09:28:43 +02:00
Petr Sloup 783acfa961 Use ol.math.clamp instead of goog.math.clamp 2015-10-16 09:28:43 +02:00
Petr Sloup 3f897cfb79 Minor typo fix 2015-10-16 09:28:43 +02:00
Petr Sloup c6e2c6a16e Add demonstration of layer extent setting to reprojection example 2015-10-16 09:28:43 +02:00
Petr Sloup 6431622881 Use better URL for BNG tiles in reprojection example 2015-10-16 09:28:43 +02:00
Petr Sloup 00a8b4da16 Increase readability of reprojection example
Use map/layer terminology more clearly and clarify checkbox usage
2015-10-16 09:28:43 +02:00
Petr Sloup 0f09607725 Slightly decrease build size when reprojection code is disabled 2015-10-16 09:28:43 +02:00
Petr Sloup 94caa07168 Minor code style, documentation and typo fixes 2015-10-16 09:28:43 +02:00
Petr Sloup 5388f96551 Reproject image sources only if actually needed 2015-10-16 09:28:42 +02:00
Petr Sloup 3353eeb0c3 Fix IE9 test timeouts by using different pixel placeholder
IE9 seems to have occasional problems with decoding
the data protocol url used before (single pixel placeholder).
2015-10-16 09:28:42 +02:00
Petr Sloup 402697c369 Specify crossOrigin in reprojection examples to fix WebGL errors 2015-10-16 09:28:42 +02:00
Petr Sloup 4bcea473eb Fix reprojection-by-code example in IE9 by using JSONP 2015-10-16 09:28:42 +02:00
Petr Sloup 76974a5888 Minor improvements of reprojection examples 2015-10-16 09:28:42 +02:00
Petr Sloup 59bce75d2a Improved documentation 2015-10-16 09:28:42 +02:00
Petr Sloup 7a1533925a Reprojection code refactoring and cleaning 2015-10-16 09:28:42 +02:00
Petr Sloup a2ae2f0f3e Add rendering tests for ol.reproj.Image 2015-10-16 09:28:42 +02:00
Petr Sloup f078a9c935 Add rendering tests for ol.reproj.Tile 2015-10-16 09:28:42 +02:00
Petr Sloup 404fa10bb7 Make resembleCanvas available to tests 2015-10-16 09:28:42 +02:00
Petr Sloup 8f1aab9236 Add tests for ol.source.TileImage 2015-10-16 09:28:42 +02:00
Petr Sloup c899100dab Add tests for ol.reproj.* 2015-10-16 09:28:42 +02:00
Petr Sloup 0c48a560b2 Add reprojection example with proj4 defs loading from EPSG.io 2015-10-16 09:28:42 +02:00
Petr Sloup 690a5f1f90 Add reprojection example for ol.source.ImageStatic 2015-10-16 09:28:42 +02:00
Petr Sloup 87337570e0 Add reprojection example for tiled raster sources 2015-10-16 09:28:42 +02:00
Petr Sloup 7864ed7861 Force subdivision when transformation returns infinite coordinate 2015-10-16 09:28:42 +02:00
Petr Sloup 03c75a8648 Transformation caching during reprojection triangulation
This usually saves around 30-35% of transformation calls.
2015-10-16 09:28:42 +02:00
Petr Sloup 726bcbef83 Alternative reprojection triangulation strategy
The quads are now subdivided more granually (to 2 instead of 4), which
usually leads to reduced number of triangles and higher performance.
2015-10-16 09:28:42 +02:00
Petr Sloup 016df5b902 Minor ol.reproj.Image fixes 2015-10-16 09:28:42 +02:00
Petr Sloup 14e20e23a0 Correctly reproject projections with undefined units 2015-10-16 09:28:42 +02:00
Petr Sloup aad5f94556 Minor type fix in ol.reproj.Image 2015-10-16 09:28:42 +02:00
Petr Sloup 615b54eb67 Use error threshold for image sources reprojection 2015-10-16 09:28:42 +02:00
Petr Sloup fc23a38692 Take target extent into account when ensuring minimal reproj subdivision 2015-10-16 09:28:41 +02:00
Petr Sloup 3b1d72202a Correctly reproject sources in wrappable projection
With extent smaller than the projection extent
2015-10-16 09:28:41 +02:00
Petr Sloup 4c236a64b8 Handle canvas clip antialiasing during reprojection 2015-10-16 09:28:41 +02:00
Petr Sloup 3cc8291df4 Support pixelRatio during reprojection 2015-10-16 09:28:41 +02:00
Petr Sloup c2b21985f4 Add ol.source.TileImage#setTileGridForProjection method 2015-10-16 09:28:41 +02:00
Petr Sloup 168b675191 Add reprojectionErrorThreshold option to the tiled image sources 2015-10-16 09:28:41 +02:00
Petr Sloup ebc1bc0096 Better handling of tilegrids without extent during reprojection
For WMTS source, the tilegrid has no extent, but the projection can
2015-10-16 09:28:41 +02:00
Petr Sloup be6bf00d74 Add defines for certain reprojection constants 2015-10-16 09:28:41 +02:00
Petr Sloup f481070f82 Handle tilegrids without extent during tile reprojection 2015-10-16 09:28:41 +02:00
Petr Sloup 9a460b5f6b Handle cross-browser canvas antialiasing issues during reprojection
By doing strictly 1 drawImage per triangle; triangle overlapping and
using different blending mode.
2015-10-16 09:28:41 +02:00
Petr Sloup 8b38928aad Make rendering of reprojection edges configurable 2015-10-16 09:28:41 +02:00
Petr Sloup 30cd0aa584 Improve reprojection performance
Utilize the numerical shifting during reprojection to easily reduce
complexity of the linear system that needs to be solved.
2015-10-16 09:28:41 +02:00
Petr Sloup 8ab197eba6 Optimize the reprojection by stitching the sources prior to rendering
This solves canvas antialiasing issues and also simplifies the code
handling wrapX in the source projection.
2015-10-16 09:28:41 +02:00
Petr Sloup 6482ccf2f7 Make ol.reproj.Triangulation a class 2015-10-16 09:28:41 +02:00
Petr Sloup 0f408e341f Rename ol.source.Image#getImage implementations to #getImageInternal
This allows for the reprojection to be initialized in the #getImage,
while #getImageInternal is used to obtain the actual data.
2015-10-16 09:28:41 +02:00
Petr Sloup ed1e49045a Allow different source and view projection in image layer renderers
To enable image layer reprojection.
2015-10-16 09:28:41 +02:00
Petr Sloup be0a0de759 Integrate image reprojection with ol.source.Image 2015-10-16 09:28:41 +02:00
Petr Sloup 15575288e0 Add ol.ENABLE_RASTER_REPROJECTION define 2015-10-16 09:28:41 +02:00
Petr Sloup f2f77091ad Handle tile sources without projection
Such sources should never be reprojected (and no additional tilecache or
tilegrid should be created).
2015-10-16 09:28:41 +02:00
Petr Sloup c205323ff2 Reproject correctly when transform returns +-Infinity values 2015-10-16 09:28:41 +02:00
Petr Sloup b0694c1e3b Add projection parameter to ol.source.Tile#expireCache and #useTile
This is required to be able to determine which cache the xyz coordinates
refer to (in case we have more caches).
2015-10-16 09:28:41 +02:00
Petr Sloup e0cfa1951a Add projection parameter to ol.source.Tile#forEachLoadedTile 2015-10-16 09:28:41 +02:00
Petr Sloup 63084d30e9 Improve numerical stability of reprojection
By shifting the source points before calculating the affine transform to
obtain values from similar ranges (inputs and outputs of the transform).
2015-10-16 09:28:41 +02:00