GithubHelp home page GithubHelp logo

Comments (4)

joanma747 avatar joanma747 commented on August 25, 2024 1

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.

jerstlouis avatar jerstlouis commented on August 25, 2024

@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.

chris-little avatar chris-little commented on August 25, 2024

@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.

jerstlouis avatar jerstlouis commented on August 25, 2024

@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)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.