The following lines of code have been used to plot points (coordinates)for weather stations in Nigeria, unfortunately, some of the stations fell outside of the country's boundary. I confirm that the latitude and longitude of the weather stations are accurate and double-checked. Any suggestion/solution for this off-shoot would be highly appreciated. Thank you.
...
import matplotlib.pyplot as plt
import cartopy.crs as ccrs
import cartopy.feature as feature
import cartopy.io.shapereader as shapereader
from cartopy.mpl.ticker import LongitudeFormatter, LatitudeFormatter
import pandas as pd
df = pd.read_csv("met_ngstation.csv")
countries = shapereader.natural_earth(resolution='10m',
category='cultural',
name='admin_0_countries')
# Find the Nigeria boundary polygon.
for country in shapereader.Reader(countries).records():
if country.attributes['SU_A3'] == 'NGA':
nigeria = country.geometry
break
else:
raise ValueError('Unable to find the NGA boundary.')
plt.figure(figsize=(20, 10))
ax_map = plt.axes(projection=ccrs.PlateCarree())
ax_map.set_extent([-1, 19, -1, 17], ccrs.PlateCarree())
#ax_map.coastlines()
ax_map.add_feature(feature.COASTLINE, linewidth=.5)
ax_map.add_geometries([nigeria], ccrs.PlateCarree(),
edgecolor='0.8',
facecolor='none')
grid_lines = ax_map.gridlines(draw_labels=True)
grid_lines.top_labels = False
grid_lines.right_labels = False
lon_formatter = LongitudeFormatter(zero_direction_label=True)
lat_formatter = LatitudeFormatter()
ax_map.xaxis.set_major_formatter(lon_formatter)
ax_map.yaxis.set_major_formatter(lat_formatter)
plt.scatter(df['LONG'],df['LAT'],
color='red', marker='.',
transform=ccrs.PlateCarree())
#plt.savefig('coastlines_ng.pdf')
#plt.savefig('coastlines_ng.png')
plt.show()
'''
Link to map: https://drive.google.com/file/d/1cNnylUOmi-Dg6ioZE0tQj7xCHRdMPIh8/view?usp=sharing
As @JodyKlymak suggested, this is an issue with the input data, not cartopy.
You can check this by using an online map service like Google Maps
From this image, you can see that station "Eket" in the linked dataset, lon=7.95, lat=4.4, is located ~ 10 km offshore of Kwa Ibo. This is typical of meteorological buoys
Always check your input data!