How can I get the latitude and longitude of “x” meter from ref latitude and longitude?

♀尐吖头ヾ 提交于 2019-12-01 07:05:11

问题


I have a distance in meters and ref latitude and longitude. Now I want latitude and longitude from the given ref point on x meters in four direction (south, north, east and west).

How can I get this value?

I need to write this in C#, but any pseudocode or logic guidance will be welcome.

Update:

I have a coordinates as references point from that I want to calculate distances of 5 meters in north direction keeping longitude as constant. So I want to calculate latitude at a distance of 5 meters from my reference point. Same I have to do for all 3 directions in east west direction I am keeping longitude as a constant.

Please let me know if any formula we can use for this.


回答1:


How accurate does it have to be? You can often assume the earth is a sphere with a radius of 6360 km. In that case, one degree north or south is 10000/90 kilometers (that's how the meter was defined). East/West is only slightly harder, one degree east is 10000/90 km * cos(latitude).




回答2:


This spreadsheet from the ordnance survey contains full conversions in vb script macro that can be converted.

It should be able to give you the new location based on degrees and time.

Reformat latitude and longitude coordinates between: Degrees, Minutes & Seconds; decimal Degrees; and Degrees & Decimal Minute formats.




回答3:


Javascript example:

function translateCoordinates(distance, Lat,Lng, angle) {
    distanceNorth = Math.sin(angle) * distance;
    distanceEast = Math.cos(angle) * distance;
    earthRadius = 6371000;
    newLat = Lat + (distanceNorth / earthRadius) * 180 / Math.PI;
    newLon = Lng + (distanceEast / (earthRadius * Math.cos(newLat * 180 / Math.PI))) * 180 / Math.PI;

    return [newLat, newLon];
}

So you can convert it into c#

  • algorithm: https://gis.stackexchange.com/questions/2951/algorithm-for-offsetting-a-latitude-longitude-by-some-amount-of-meters
  • Java example - http://howrobotswork.wordpress.com/2013/05/20/how-to-add-distance-to-coordinates/



回答4:


The other way to calculate this is to convert degree to radian: Pi radian is equals to 180 degree. The simple point about radian is the length on the circle (surface of Earth) is radius * radian. Thus, 1 degree * pi / 180 * 6360Km = 110.947Km where pi = 3.14.

Latitude and longitude values move north-south and east-west respectively, so the above calculation could be mapped to those if the movement is along with their direction, otherwise sinus and cosinus functions must be used for mapping.



来源:https://stackoverflow.com/questions/5151652/how-can-i-get-the-latitude-and-longitude-of-x-meter-from-ref-latitude-and-long

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!