# Best map projection for Europe - geostationary satellite?

**URL:** <https://forum.generic-mapping-tools.org/t/best-map-projection-for-europe-geostationary-satellite/6268>\
**Category:** Lounge\
**Created:** [October 17, 2025, 11:19am UTC](https://forum.generic-mapping-tools.org/t/best-map-projection-for-europe-geostationary-satellite/6268 "2025-10-17T11:19:05Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

**Author:** ![lucalelli](https://yyz1.discourse-cdn.com/flex047/user_avatar/forum.generic-mapping-tools.org/lucalelli/32/2485_2.png) [@lucalelli](https://forum.generic-mapping-tools.org/u/lucalelli)\
**Post date:** [October 17, 2025, 11:19am UTC](https://forum.generic-mapping-tools.org/t/best-map-projection-for-europe-geostationary-satellite/6268/1 "2025-10-17T11:19:05Z")

</div>

Dear GMT users,

I’d like to brainstorm about the right map projection for a geostationary satellite swath. I am experimenting with various geographic projections and I haven’t found a satisfactory solution yet. The region is roughly “-55/75/25/80”. The data will always have this shape.

I would like to achieve two results: the first is not to distort the data and the satellite swath, the greater the curvature at high latitudes. The second is to have a final image that is pleasing to the eye without taking up too much white space between the data and the frame.

In the first example, the Winkel Tripel, as well as Robinson or similar, still distorts the rows and the satellite swath is strecthed, while keeping the white background to an acceptable size

 ![combined_2025-10-08_0848-0947_0001_SlCol_h2o](https://canada1.discourse-cdn.com/flex047/uploads/gmt/original/2X/d/d03b84486528856137c2aa3b8a7e2063bce8a07a.jpeg)

A slightly better result for the strecthing is achieved with the Orthographic projection

 ![combined_2025-10-08_0848-0947_0001_SlCol_h2o](https://canada1.discourse-cdn.com/flex047/uploads/gmt/original/2X/4/4e8784c1ee417daf34239680a38266f4b4c6784c.jpeg)

or with a Lambert conic conformal

 ![animation_SlCol_h2o_DS1](https://canada1.discourse-cdn.com/flex047/uploads/gmt/original/2X/3/3f23a4242db49183e86fb81622fcf241db7f1509.gif)

But with the latter two projections the frame is not rectangular and the resulting figure is not really usable. Experimenting outside GMT, one solution with cartopy allows the following result heading in the right direction.

 ![vcd_o3_cartopy](https://canada1.discourse-cdn.com/flex047/uploads/gmt/original/2X/1/13e1a66dbecfbee5853a6566d492d67505094231.png)

Long story short:

1. What would be the best projection not to distort the data and the swath?
2. Can GMT mix a certain projection (say Orthgraphic) with a rectangular frame?

Thanks

---

<div class="post-metadata">

**Author:** ![Joaquim](https://yyz1.discourse-cdn.com/flex047/user_avatar/forum.generic-mapping-tools.org/joaquim/32/16_2.png) [@Joaquim](https://forum.generic-mapping-tools.org/u/Joaquim)\
**Post date:** [October 17, 2025, 12:41pm UTC](https://forum.generic-mapping-tools.org/t/best-map-projection-for-europe-geostationary-satellite/6268/2 "2025-10-17T12:41:59Z")

</div>

Hi Luca,

Some comments and a suggestion.

- geostationary orbits do not have swaths (the sensor is always looking to the same place on Earth). From your figures I would say that the data is from a near-polar sol-synchronous orbit.
- It simply not possible to have no map distortions when one represent spherical data on a plane. What we can do is minimize them.

As for the suggestion, try the oblique Mercator projection with the _Y_ axis aligned with the orbit inclination (around 80 degrees from equatorial plane).

---

<div class="post-metadata">

**Author:** ![Andreas](https://avatars.discourse-cdn.com/v4/letter/a/ee7513/32.png) [@Andreas](https://forum.generic-mapping-tools.org/u/Andreas)\
**Post date:** [October 17, 2025, 1:01pm UTC](https://forum.generic-mapping-tools.org/t/best-map-projection-for-europe-geostationary-satellite/6268/3 "2025-10-17T13:01:36Z")

</div>

You could also use `-R...+r` for some of your projections? Then you’ll always get a rectangular map.

From [The -R option](https://docs.generic-mapping-tools.org/dev/gmt.html#the-r-option):

1. **-R** _xlleft_/_ylleft_/_xuright_/_yuright_ **+r**. This form is useful for map projections that are oblique, making meridians and parallels poor choices for map boundaries. Here, we instead specify the lower left corner and upper right corner geographic coordinates, followed by the modifier **+r**. This form guarantees a rectangular map even though lines of equal longitude and latitude are not straight lines.

---

<div class="post-metadata">

**Author:** ![mkononets](https://yyz1.discourse-cdn.com/flex047/user_avatar/forum.generic-mapping-tools.org/mkononets/32/4029_2.png) [@mkononets](https://forum.generic-mapping-tools.org/u/mkononets)\
**Post date:** [October 17, 2025, 1:19pm UTC](https://forum.generic-mapping-tools.org/t/best-map-projection-for-europe-geostationary-satellite/6268/4 "2025-10-17T13:19:35Z")

</div>

> [@lucalelli](#):
>
> Can GMT mix a certain projection (say Orthgraphic) with a rectangular frame?

> **[6. GMT Map Projections — GMT 6.6.0 documentation](https://docs.generic-mapping-tools.org/6.6/reference/map-projections.html)**

there are several examples demonstrating how one can get rectangular frames for projections with non-rectangular coordinate grids, using the `-R...+r` syntax mentioned by @Andreas using lower left and upper right corner coordinates.

---

<div class="post-metadata">

**Author:** ![lucalelli](https://yyz1.discourse-cdn.com/flex047/user_avatar/forum.generic-mapping-tools.org/lucalelli/32/2485_2.png) [@lucalelli](https://forum.generic-mapping-tools.org/u/lucalelli)\
**Post date:** [October 17, 2025, 2:23pm UTC](https://forum.generic-mapping-tools.org/t/best-map-projection-for-europe-geostationary-satellite/6268/5 "2025-10-17T14:23:47Z")

</div>

Here I implemented the suggestions of @Joaquim (left) and @Andreas @mkononets (right). The title of the figures shows the settings of basemap.

 ![combined_2025-10-08_0848-0947_0001_SlCol_h2o_mercator_oblique](https://canada1.discourse-cdn.com/flex047/uploads/gmt/original/2X/f/f58d26d0fbd8eab82bf8309c2f7e72360587321e.jpeg) ![combined_2025-10-08_0848-0947_0001_SlCol_h2o_lambert_conic_Rr](https://canada1.discourse-cdn.com/flex047/uploads/gmt/original/2X/e/e04f028c87c1cc567f06661634a92ab3571694c9.jpeg)

As Joaquim correctly pointed out, there is no way to eliminate the curvature. For this reason I labeled upfront in my mind any cylindric projection as evil. But I was wrong. The azimuthal rotation in oblique Mercator offers also flexibility and delivers quite a decent result. The output of both appraches is very similar or at least I cannot say what is the best.

Thanks for having a look at that!

---

<div class="post-metadata">

**Author:** ![Joaquim](https://yyz1.discourse-cdn.com/flex047/user_avatar/forum.generic-mapping-tools.org/joaquim/32/16_2.png) [@Joaquim](https://forum.generic-mapping-tools.org/u/Joaquim)\
**Post date:** [October 17, 2025, 5:08pm UTC](https://forum.generic-mapping-tools.org/t/best-map-projection-for-europe-geostationary-satellite/6268/6 "2025-10-17T17:08:56Z")

</div>

Actually, I was expecting to see a ~perfect rectangle with the oblique Mercator. I think you don’t use the +r in this case.  
Also, what data is that? Why do we see that curvature pattern pointing to a center not far outside the northern edge of the figure?

---

<div class="post-metadata">

**Author:** ![lucalelli](https://yyz1.discourse-cdn.com/flex047/user_avatar/forum.generic-mapping-tools.org/lucalelli/32/2485_2.png) [@lucalelli](https://forum.generic-mapping-tools.org/u/lucalelli)\
**Post date:** [October 21, 2025, 12:03pm UTC](https://forum.generic-mapping-tools.org/t/best-map-projection-for-europe-geostationary-satellite/6268/7 "2025-10-21T12:03:43Z")

</div>

Hi @Joaquim , I added +r to the oblique Mercator but the curvature is not only still present, it has been exacerbated.

 ![combined_2025-10-08_0848-0947_0001_SlCol_h2o](https://canada1.discourse-cdn.com/flex047/uploads/gmt/original/2X/8/88ea2b522995a899f4005f497ee2298b0958b179.jpeg)

Data itself are my own retrievals. The image is a composite stitched from 12 consecutive hourly scans as below

![animation_singlescan_SlCol_h2o](https://canada1.discourse-cdn.com/flex047/uploads/gmt/original/2X/c/ca609a15366b7fad2b4850ac4ccac984712ac33b.gif)

The geolocation is from the [MTG-S/S4](https://www.esa.int/Applications/Observing_the_Earth/Copernicus/Sentinel-4/Sentinel-4_offers_first_glimpses_of_air_pollutants) platform.

I agree with you that the data curvature seems odd, also given that these simple lines with cartopy have produced the image above

```auto
projection=ccrs.Orthographic(central_longitude=0.0, central_latitude=40.0))
plt.scatter(... , transform=ccrs.PlateCarree())
op.set_extent([-20, 40, 20, 85],crs=ccrs.PlateCarree() )

```

but I have not found a solution yet.

---

<div class="post-metadata">

**Author:** ![Joaquim](https://yyz1.discourse-cdn.com/flex047/user_avatar/forum.generic-mapping-tools.org/joaquim/32/16_2.png) [@Joaquim](https://forum.generic-mapping-tools.org/u/Joaquim)\
**Post date:** [October 21, 2025, 4:10pm UTC](https://forum.generic-mapping-tools.org/t/best-map-projection-for-europe-geostationary-satellite/6268/8 "2025-10-21T16:10:36Z")

</div>

> [@lucalelli](#):
>
> .

Luca, I didn’t mean to say that **+r** would make the curvature goes away. In fact I’m puzzled of where it’s comming from. Specially since the mapplotlib figure does not show it. … but on the other hand `plt.scatter(...` makes think that it’s makking a scatter plot, whilst the GMT one looks like plotting a grid.

Any **direct link** where we can download a data sample? ESA sites are a pain to find data.
