locked
Easy way to find the point that is north 1000 meters of a point? RRS feed

  • Question

  • I am trying to find a geography point that is 1000 meters away (north is my case) from an known point.

    What I am doing is STBuffer(1000) and loop through all points of the buffer find the largest Latitude. It works for me.

    But is there an easier way?

    Thanks,

    John

    Monday, February 22, 2016 3:14 PM

Answers

  • Hi,

    What precision would you need ?

    Earth flatness is 1/300, so if you accept an error smaller or equal than 3 meters, you can just

    add 0.00900877 degrees to your current latitude.

    0.00900877 degrees = 1 km / (12720 km * pi)  * 360 degrees, where 12720 km is the Earth polar diameter 


    Monday, February 22, 2016 8:19 PM

All replies

  • Hi,

    I found a topic about this on the forums:

    take a look at this.

    Maybe it can help you :

    https://social.msdn.microsoft.com/Forums/sqlserver/en-US/e073de05-463f-4674-9e9f-ff3c67f68b89/how-to-get-the-max-and-min-lattitude-and-longitude-of-a-polygon?forum=sqlspatial


    Please mark this reply as answer if it solved your issue or vote as helpful if it helped so that other forum members can benefit from it

    Monday, February 22, 2016 3:44 PM
  • I looked at the linked. It basically tell me how to find the max lat/long of a polygon which is what I did.

    I am not sure if his method is more optimized. I am simply loop through each point of the polygon (a 1000m circle in my case). He gets the envelop first. I don't know how getting the envelop is implemented behind scene

    My question in the post is trying to find a better way (without using the buffer) - something like adding a number to the original point's latitude.

    Thanks for you suggestion,

    John

    Monday, February 22, 2016 7:16 PM
  • Hi,

    What precision would you need ?

    Earth flatness is 1/300, so if you accept an error smaller or equal than 3 meters, you can just

    add 0.00900877 degrees to your current latitude.

    0.00900877 degrees = 1 km / (12720 km * pi)  * 360 degrees, where 12720 km is the Earth polar diameter 


    Monday, February 22, 2016 8:19 PM