ArduPilot / MissionPlanner

Mission Planner Ground Control Station for ArduPilot (c# .net)
http://ardupilot.org/planner/
GNU General Public License v3.0
1.8k stars 2.42k forks source link

[enhancement] Mission planning & flying in polar regions (>85 latitude) #3350

Closed shuhangz closed 4 months ago

shuhangz commented 6 months ago

Issue details

Hi there,

We are currently engaged in a scientific expedition to the Arctic Ocean, where we are using custom-built VTOLs to capture photographs of sea ice. However, we have encountered an issue with Mission Planner, specifically with the Flight Data and Flight Plan views. It seems that these views do not allow zooming or panning to positions with latitudes above 85.0511288°, as depicted in the snapshot below. image

What we want to achieve: Mission planner supports mission planning & flying in the above polar regions.

There may be a possible way: add a "polar mode" button. When activated, this button would switch the map projection of the Flight Data and Flight Plan views to one that supports polar regions, such as the NSIDC Sea Ice Polar Stereographic North (epsg: 3411) projection. The polar mode button would be active when the window centre moves to a latitude above 60° N/S. It's worth noting that the polar stereographic projections support latitudes between 60° and 90°, allowing the use of both UTM and polar stereographic projections in the range of 60° to 85°.

We have attempted to modify the static variable in the MercatorProjection.cs, but our attempts have not yielded the desired results. https://github.com/ArduPilot/MissionPlanner/blob/5135b8c41278a12e0a48303e89892b151ccf2fd8/ExtLibs/GMap.NET.Core/GMap.NET.Projections/MercatorProjection.cs#L14

We kindly request some hints on the following points:

  1. How can we overcome the limitation on latitude in order to allow zooming and panning in regions with latitudes above 85.0511288°?
  2. What steps should be taken to modify the map projection, specifically implementing the NSIDC Sea Ice Polar Stereographic North/South (epsg: 3411/3412) projection?

We are willing to share the modified version.

Best regards, Shuhang

Version

1.3.81

Platform

[x] All [ ] AntennaTracker [ ] Copter [ ] Plane [ ] Rover [ ] Sub

Airframe type

ANY

Hardware type

ANY

Logs

NONE

EosBandi commented 6 months ago

Well, it is a quite hard

  1. You have to find a free map tile provider who provide map tiles at above the 85deg region in epsg: 3411/3412 (based on map tile providers in GMAP.NET.MapProviders)
  2. Write an implementation of the epsg: 3411/3412 projection (based on the projection providers in the GMAP.NET.Projections)

Mercator and similar projections cannot display regions above +-85 deg because the Mercator projects the poles at infinity, a map using the Web Mercator projection cannot show the poles.