## Where communities thrive

• Join over 1.5M+ people
• Join over 100K+ communities
• Free without limits
##### Activity
• Aug 07 08:46
lukelbd commented #1956
• Aug 05 18:52
abrammer edited #2065
• Aug 04 22:09
abrammer synchronize #2065
• Aug 04 22:02
abrammer opened #2065
• Aug 02 17:47
itati01 commented #2064
• Aug 02 17:12
itati01 commented #2064
• Aug 02 14:14
greglucas commented #2064
• Aug 02 14:08
itati01 commented #2064
• Aug 02 14:05
greglucas commented #2064
• Aug 02 10:11
itati01 opened #2064
• Aug 01 18:07
Barokirving1 commented #2063
• Aug 01 18:04
Barokirving1 commented #2063
• Aug 01 18:04
Barokirving1 commented #2063
• Aug 01 05:59
QuLogic commented #2063
• Jul 31 14:19
Barokirving1 edited #2063
• Jul 31 14:12
Barokirving1 opened #2063
• Jul 29 13:16
shafeerkb commented #1437
• Jul 20 08:11
wohenbushuang commented #1830
• Jul 20 07:18
wohenbushuang commented #1830
• Jul 17 22:24
QuLogic commented #2062
Hi guys, I'm just new to Cartopy and I'm trying to plot out my data based on some given latitude and longitude, I tried to look into matplotlib but can't seem to find anything
Greg Lucas
@greglucas
Hi @jadelilymay, have you looked at the Cartopy docs? https://scitools.org.uk/cartopy/docs/latest/gallery/index.html
Specifically, https://scitools.org.uk/cartopy/docs/latest/matplotlib/intro.html, might help. If you have data and want to plot on a map projection, generally speaking you need to initialize the MPL axes with the projection you want to display the data in. Then you need to supply the transform= argument to your plotting functions with the projection that the data is coming from.
Philipe Riskalla Leal
@PhilipeRLeal

Dear @jadelilymay, I have managed to implement a small code snippet that reads your TIFF file, and plots it using cartopy. See if it helps you. The code is in the file test.py I just sent

Sincerely,

Philipe Riskalla Leal
@PhilipeRLeal
Dear @jadelilymay, in my last test.py file, I had forgotten to insert the extent attribute from the plt.imshow function. Therefore, the plotting wasn't making much sense.
This new file below solves the Issue. Check it out.
Kyle Penner
@kdpenner
have y'all thought of organizing a sprint at the scipy conference?
robertique
@robertique
Hi there! Is it possible to represent data on a map from a csv file which contain: time, longitude, latitude, 200 measured GSM channel levels. The representation should take into consideration the signal level in choosing colors..Thanks!
Leonardo
@leonardojimenez1990

hi, I use Ubuntu, python3.8 pip, pycharm. I have a problem with Cartopy. ModuleNotFoundError: No module named 'cartopy.crs'; 'cartopy' is not a package

r: ~ $which python / usr / bin / python r: ~$ python -c 'import sys; print (sys.prefix) '
/ usr
r: ~ \$ python -c 'import cartopy.crs as ccrs'
Traceback (most recent call last):
File "<string>", line 1, in <module>
ImportError: No module named cartopy.crs

Ryan May
@dopplershift
@leonardojimenez1990 How did you install cartopy?
@robertique You should be able to do that with ax.scatter(lon, lat, c=level, transform=ccrs.PlateCarree())
Leonardo
@leonardojimenez1990
@dopplershift Thanks, I could solve the error by configuring cartopy with python3.
Leonardo
@leonardojimenez1990

Hello. I would like to know how I can plot on a map the data from the variable "r" (relative humidity) of a NetCDF file with cartopy?

###### #

from netCDF4 import Dataset
import numpy as np
import xarray as xr
import cartopy.crs as ccrs
import matplotlib.pyplot as plt

# leer el archive

ds=Dataset('relative_humidityEne_Dic2003_2020CMAS.nc', 'r')

# mostar las variables del archive

print(ds.variables.keys())

# accede a las variables

lon = ds.variables["longitude"]

# print("longitude:===== ",lon)

lat = ds.variables["latitude"]

# print("latitude:======= ",lat)

level = ds.variables["level"]

# print("level:=========",level)

time = ds.variables["time"]

# print("time:========= ",time)

r = ds.variables["r"]

# leer las dimenciones de las variables

print("las dimenciones variable r es: ", ds.variables['r'].dimensions)
print(r.shape)

dict_keys(['longitude', 'latitude', 'level', 'time', 'r'])
las dimenciones variable r es: ('time', 'level', 'latitude', 'longitude')
(53, 8, 241, 480)

# crear la proyeccion con cartopy y matplotlib

ax = plt.axes(projection=ccrs.PlateCarree())

# plotear variables en el mapa

r_ds = ds.variables['r'][0, :, :, :]

# print(r_ds)

plt.contourf(lon, lat, r_ds, transform=ccrs.PlateCarree())
ax.coastlines()
plt.show()

###### #

Error message

Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/IPython/core/interactiveshell.py", line 3331, in run_code
exec(code_obj, self.user_global_ns, self.user_ns)
File "<ipython-input-2-403ea023eab8>", line 1, in <module>
File "/snap/pycharm-professional/230/plugins/python/helpers/pydev/_pydev_bundle/pydev_umd.py", line 197, in runfile
pydev_imports.execfile(filename, global_vars, local_vars) # execute the script
File "/snap/pycharm-professional/230/plugins/python/helpers/pydev/_pydev_imps/_pydev_execfile.py", line 18, in execfile
exec(compile(contents+"\n", file, 'exec'), glob, loc)
plt.contourf(lon, lat, r_ds, transform=ccrs.PlateCarree())
File "/home/leo/.local/lib/python3.8/site-packages/matplotlib/pyplot.py", line 2577, in contourf
ret = gca().contourf(
File "/home/leo/.local/lib/python3.8/site-packages/cartopy/mpl/geoaxes.py", line 321, in wrapper
return func(self, args, **kwargs)
File "/home/leo/.local/lib/python3.8/site-packages/cartopy/mpl/geoaxes.py", line 1586, in contourf
result = matplotlib.axes.Axes.contourf(self,
args, **kwargs)
File "/home/leo/.local/lib/python3.8/site-packages/matplotlib/
init.py", line 1447, in inner
return func(ax, map(sanitize_sequence, args), **kwargs)
File "/home/leo/.local/lib/python3.8/site-packages/matplotlib/axes/_axes.py", line 6335, in contourf
args, **kwargs)
File "/home/leo/.local/lib/python3.8/site-packages/matplotlib/contour.py", line 816, in
init
kwargs = self._process_args(args, *kwargs)
File "/home/leo/.local/lib/python3.8/site-packages/matplotlib/contour.py", line 1430, in _process_args
x, y, z = self._contour_args(args, kwargs)
File "/home/leo/.local/lib/python3.8/site-packages/matplotlib/contour.py", line 1488, in _contour_args
x, y, z = self._check_xyz(args[:3], kwargs)
File "/home/leo/.local/lib/python3.8/site-packages/matplotlib/contour.py", line 1514, in _check_xyz
x = np.asarray(x, dtype=np.float64)
File "/usr/local/lib/python3.8/dist-packages/numpy/core/_asarray.py", line 102, in asarray
return array(a, dtype, copy=False, order=order)
TypeError:
array__() takes no arguments (1 given)

Rei 머호
@rei_wu:matrix.org
[m]

# techprog:matrix.org

@QuLogic
@leonardojimenez1990 it seems like that's a netcdf+matplotlib problem, and not specific to cartopy
Are you able to plot it in pure Matplotlib?
Greg Lucas
@greglucas
Anyone against me tagging a release candidate for 0.19? There hasn't been a whole lot of activity lately other than not being able to build with PROJ8 :( but I feel like that will be a bit of an overhaul to rework and probably better to do for another release rather than pushing this off longer. Thoughts/ping: @QuLogic or @dopplershift and any other maintainers
@QuLogic
I'm trying to review my backlog of PRs
One thing that needs fixing is the tests with the latest mpl rc
but that doesn't hold up another rc
I think you had a list on the what's new PR, which I'll try to get to first
Greg Lucas
@greglucas
Ahh, I haven't run the latest mpl rc to see what is out there for those failing tests.
@QuLogic
nothing major, just haven't gotten to it
it's some broken mocking, mostly
Ryan May
@dopplershift
No opposition here. I’ve been trying to get through a todo list and get back to prioritizing some time here. Getting there, but it’s a slog with more todo first.
Leonardo
@leonardojimenez1990
thanks @QuLogic .
tfardet
@tfardet:matrix.org
[m]
Hi there, I have a quick question: I made a (very) simple PR on GitHub, but as I tried to run the tests locally before submitting, I had to make a lot of ugly hacks (copy-pasting files) to get it to work. Is there a document explaining how to run the tests locally?
Greg Lucas
@greglucas
You shouldn't have had to copy-paste things though...
Greg Lucas
@greglucas
OK, I tagged a release candidate and it looks like it uploaded the sdist: https://pypi.org/project/Cartopy/0.19.0rc1/
Of course, now I can't build it locally to make sure it is good. Let me know if I messed anything up in the branch/tag work.
pip install cartopy==0.19.0rc1
Greg Lucas
@greglucas
n/m I got it installed now (upgraded clang recently on my local system which messed it up) and that rc looks good to me for installation. Let us know if anyone runs into any issues with it!
tfardet
@tfardet:matrix.org
[m]
Ah, OK, thanks for the link.
I'm used to simply inputing pytest path/to/test and that was not working well because it was trying to make local imports and obviously all generated files where missing
Greg Lucas
@greglucas
Try that with an editable install pip install -e .?
@QuLogic
@greglucas you did create a tag named list; you'll probably want to delete that from your copies
Greg Lucas
@greglucas
Hm... Sorry about that! I think I must have done a git tag list instead of git tag -l to see what the tags were and then pushed up two tags. Luckily it doesn't look like that one did anything though? I don't see it on GH now (I assume you deleted it?) and I deleted my local tag name. Thanks for pointing that out.
@QuLogic
Yea, I deleted it; the upload only triggers for something like v[0-9].[0-9].[0-9]*
Greg Lucas
@greglucas
:+1: Thanks!
hayesla
@hayesla:matrix.org
[m]
hey! I'm currently moving from using basemap to cartopy and have a quick question about setting the resolution of great circle plot. I have two points that I'm plotting on a PlateCarree projection, and then plotting the great circle by using the transform=ccrs.Geodetic() keyword.
I'm wondering how I can increase the resolution of this blue line? Can someone help, or point me to the right direction within the source code or docs?
Greg Lucas
@greglucas
Looks like others have had the same request recently :) There is a workaround in this issue
SciTools/cartopy#8
I think the only way to do this currently is to modify the private threshold attribute before creating your axes.
pc = ccrs.PlateCarree()
pc._threshold = 0.1
ax = plt.axes(projection=pc)
hayesla
@hayesla:matrix.org
[m]
ah ok perfect, that worked! thank you!
jdnplanets
@jdnplanets
Hello! I currently make use of Basemap in my data reduction pipeline for images of Jupiter. A commonly-used coordinate system for Jupiter (and other planets) is left-handed, i.e. increases westward. Basemap has the celestial keyword, which enables this in its projections. I'd like to move to Cartopy, but I can't see how to enable this in Cartopy. Could anyone advise how to do this, or if there is a plan to add this as a feature? Thanks in advance.
Ryan May
@dopplershift
@jdnplanets I'm not aware of anyone working on this. I'm not sure how Basemap accomplishes this, but looking at their implementation might shed some light on it. Just as a guess here, I'd think we'd need this to be supported by PROJ, but again, not sure how Basemap does it.
Greg Lucas
@greglucas
There is this issue from a while ago doing somewhat similar things? SciTools/cartopy#1606
Greg Lucas
@greglucas
v0.19.0 is now out in the wild! Lets hope there aren't too many bad errors in this one ;)
Ryan May
@dopplershift
I'm waiting for the conda-forge bot to pick up the update
Greg Lucas
@greglucas
Did it get the pre-release?
Ryan May
@dopplershift
They don't normally