আপনি জিওডেসিকগুলি গণনা করতে পারেন। আপনি A থেকে B তে ভূ-তাত্পর্যটি দেখানোর কথা বলছেন, আপনি প্রথমে A থেকে B (বিপরীত জিওডেসিক সমস্যা) এবং দূরত্বে এবং A এবং B (সরাসরি জিওডেসিক সমস্যা) এর মধ্যে কয়েকটি বিন্দুতে পয়েন্ট গণনা করতে পারেন az আমি জিওজিএসনে স্টাফ আউটপুট করে জিওগ্রাফিকলিব ব্যবহার করে পাইথনে একটি সাধারণ স্ক্রিপ্ট যুক্ত করেছি :
from geographiclib.geodesic import Geodesic
from geojson import MultiLineString
def geodesic(lat1, lon1, lat2, lon2, steps):
inverse = Geodesic.WGS84.Inverse(lat1, lon1, lat2, lon2)
linestrings = []
coordinates = []
for i in range(0, steps + 1):
direct = Geodesic.WGS84.Direct(inverse['lat1'], inverse['lon1'], inverse['azi1'], (i / float(steps)) * inverse['s12'])
if len(coordinates) > 0:
if (coordinates[-1][0] < -90 and direct['lon2'] > 90) or (coordinates[-1][0] > 90 and direct['lon2'] < -90):
linestrings.append(coordinates)
coordinates = []
coordinates.append((direct['lon2'], direct['lat2']))
linestrings.append(coordinates)
geojson = MultiLineString(linestrings)
return geojson
linestrings = []
# San Francisco: 37.7793, -122.4192
# Bangalore: 12.9, 77.616667
for linestring in geodesic(37.7793, -122.4192, 12.95, 77.616667, 100)['coordinates']:
linestrings.append(linestring)
# Boston: 42.357778, -71.059444
# Bangalore: 12.9, 77.616667
for linestring in geodesic(42.357778, -71.059444, 12.95, 77.616667, 100)['coordinates']:
linestrings.append(linestring)
print(MultiLineString(linestrings))
ফলাফলটি ডাব্লুজিএস -৪৪ এর পয়েন্টগুলির মধ্যে সত্য জিওডেসিক। অবশ্যই, আপনি তারপরে আপনার যা যা প্রযোজন প্রয়োজন তা স্থানাঙ্কগুলিকে রূপান্তর করতে পারেন। জিওজসন.ইওতে দৃশ্যমান ফলাফলটি দেখতে এরকম দেখাচ্ছে: