Comments (4)
This is the text commented comes for OWS common. This is what I propose to solve this issue.
"Theoretically, there are cases where defining a bounding box could be problematic or impossible, such us angular axis of an Ellipsoidal, Spherical, Polar, or Cylindrical coordinate system. However, tiles need to be circumscribed to real coordinates and will deliberately avoid to enter into regions of the space where coordinates go to infinite or cannot be defined. For example, the WorldMercatorWGS84Quad
tile matrix set (based on a cylindrical projection) deliberately avoids to get close to the poles. Since tiles are conterminous, it is always possible to define a bounding box that includes them all."
from 2d-tile-matrix-set.
@chris-little IEEE754 specifically defines +/- infinity as separate values than NaN, doesn't it?
I am however wondering about the need to refer to infinity rather than simply the -180..180 degrees of longitude and -90..90 degrees of latitude, which I believe is actually what is done?
The bounding box is specified in projected coordinates anyway, as what is being tiled is the finite projected CRS plane, with any spherical coordinates already wrapped around (taking into consideration the projection center) before projection, and where explicit values are used in all current examples of polar (e.g. https://github.com/opengeospatial/2D-Tile-Matrix-Set/blob/master/schemas/tms/2.0/json/examples/tilematrixset/UPSArcticWGS84Quad.json#L7) and cylindrical projection (e.g. https://github.com/opengeospatial/2D-Tile-Matrix-Set/blob/master/schemas/tms/2.0/json/examples/tilematrixset/WorldMercatorWGS84Quad.json#L7).
This also applies to TMS based on geographic/plate carre projections, where -90..90 and -180..180 values are specified (e.g. https://github.com/opengeospatial/2D-Tile-Matrix-Set/blob/master/schemas/tms/2.0/json/examples/tilematrixset/WorldCRS84Quad.json#L8), as again the wrapping is already done before tiling the plane (otherwise we would have an infinite number of rows and columns, wouldn't we?).
@joanma747 Should this text be removed?
from 2d-tile-matrix-set.
@jerstlouis Thank you for bringing me up to date. I did not know that the later versions had introduced infinity separately from NaN.
Surely the real issue is how would they be implemented in practice and in specific languages?
from 2d-tile-matrix-set.
@chris-little The later part of my comment was saying that there should never be a need to refer to + or - infinity.
And that is probably a good thing, because what I think is more relevant than how to implement in practice in a specific language (implementers could always come up with a way to represent it), is how to describe this in the TileMatrixSet JSON encoding: JSON does not define infinity (or NaN)!
So I think that current clause is more theoretical than anything, and I think that we may be able to remove it. Let's see what @joanma747 thinks :)
from 2d-tile-matrix-set.
Related Issues (20)
- Remove tileMatrixSetDefinition left-overs (Req 17, JSON Schema description)
- should `id` and `uri` be WGS1984Quad HOT 2
- Clarify history of TMS URNs and URLs
- Pizel is pixel
- 5.3.2. Description, Title and Keywords HOT 1
- Section 8.2.1 HOT 1
- 6.1.5 Reference to i dimension HOT 1
- Change spec element URI in Clause 5 HOT 1
- Fix dependency URI in Clause 6.2.1 HOT 1
- Variable width conformance class is missing from Section 2 - Conformance HOT 1
- Consider including tileMatrix.json in Annex F
- Consider adding `Version` in the schema HOT 1
- Stable URL for tile matrix sets HOT 3
- 2D TileSet Metadata UML diagram typos
- TileSet metadata: Minimum bounding rectangle surrounding the **tile set**, not Tile Matrix Set
- (Variable Width) Clarify canonical and alias tiles in Section 6.1.5 HOT 3
- Clarification for CRS wkt type HOT 6
- Update xsi:schemaLocation
- Add Switzerland 2D (custom) Tile Matrix Set definition to the registry HOT 2
- Add the default cornerOfOrigin/CornerOfOrigin to the 2DTMS in the registry
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from 2d-tile-matrix-set.