Giter Club home page Giter Club logo

Comments (5)

phayes avatar phayes commented on June 10, 2024

Hmm, this is a super-tricky issue as it only appears for certain projections that "wrap" their coordinates, and geoPHP doesn't really do anything with SRIDs at the moment.

in the getBBOX method we could likely do some fancy-footwork to detect weather the shape crosses such a boundary and do something intelligent. I don't have time to look into this at the moment, but if you find a solution I would encourage a pull request.

from geophp.

phayes avatar phayes commented on June 10, 2024

Just thinking some more.. I think this is how we do it..

Before doing the actual bbox calulation, we run through all the points to find the global minimum value of each of the X and Y axis. If any of these are less than zero, we mark the amount they are less than zero as a "x-transpose" or "y-transpose" amount.

Next, for calculating or min and max values, we add this transpose amount to our calculations, thereby insuring that the resulting bounding-box only has positive values. Finally, right before passing the bounding-box back, we un-transpose the bounding-box back to normal.

The only tricky piece is that this might result in longitudes like "-190", which your application will have to be able to deal with.

from geophp.

semiaddict avatar semiaddict commented on June 10, 2024

Thank you phayes for the super fast reply.
I'll try out this solution and let you know.

Note: the application uses Google Earth, which I'm guessing should be able to deal with longitudes like "-190".

from geophp.

phayes avatar phayes commented on June 10, 2024

Any success on this?

from geophp.

semiaddict avatar semiaddict commented on June 10, 2024

No, I didn't manage to get this working, and due to limited time and budget, I ended up going with manual bboxes that didn't overlap the international date line.

from geophp.

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.