Skip to content

Commit ffe7af9

Browse files
committed
Add more description
1 parent d88f9ea commit ffe7af9

File tree

1 file changed

+50
-13
lines changed

1 file changed

+50
-13
lines changed

doc/ecosystem.md

Lines changed: 50 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -6,45 +6,82 @@
66

77
#### NumPy
88

9+
[NumPy][] is the fundamental package for scientific computing in Python. It is a Python
10+
library that provides a multidimensional array object, various derived objects (such as
11+
masked arrays and matrices), and an assortment of routines for fast operations on arrays,
12+
including mathematical, logical, shape manipulation, sorting, selecting, I/O, discrete
13+
Fourier transforms, basic linear algebra, basic statistical operations, random simulation
14+
and much more.
15+
916
#### Pandas
1017

11-
#### Xarray
18+
[pandas][] is a Python package providing fast, flexible, and expressive data structures
19+
designed to make working with "relational" or "labeled" data both easy and intuitive.
20+
It aims to be the fundamental high-level building block for doing practical, real-world
21+
data analysis in Python. Additionally, it has the broader goal of becoming the most
22+
powerful and flexible open source data analysis/manipulation tool available in any
23+
language. It is already well on its way toward this goal.
1224

13-
#### packaging
25+
#### Xarray
1426

15-
#### netCDF4
27+
[Xarray][] is an open source project and Python package that introduces labels in the
28+
form of dimensions, coordinates, and attributes on top of raw NumPy-like arrays, which
29+
allows for more intuitive, more concise, and less error-prone user experience.
1630

1731
### Optional dependencies
1832

1933
#### IPython
2034

2135
#### GeoPandas
2236

23-
[GeoPandas](https://geopandas.org/) is an open source project to make working with
24-
geospatial data in Python easier. GeoPandas extends the datatypes used by
25-
[pandas](https://pandas.pydata.org/) to allow spatial operations on geometric types.
26-
Geometric operations are performed by [shapely](https://shapely.readthedocs.io/).
27-
Geopandas further depends on [pyogrio](https://pyogrio.readthedocs.io/en/) for file
28-
access and [matplotlib](https://matplotlib.org/) for plotting.
37+
[geopandas][] is an open source project to make working with geospatial data in Python
38+
easier. GeoPandas extends the datatypes used by [pandas][] to allow spatial operations
39+
on geometric types. Geometric operations are performed by [shapely][]. Geopandas further
40+
depends on [pyogrio][] for file access and [matplotlib][] for plotting.
2941

3042
PyGMT doesn't directly rely on GeoPandas, but provides support of GeoPandas's data
3143
structure, {class}`geopandas.GeoDataFrame` and {class}`geopandas.GeoSeries`, which can
3244
be directly used in data processing and plotting functions/methods of PyGMT.
3345

3446
#### Contextily
3547

36-
[contextily](https://contextily.readthedocs.io/) is a small Python package to retrieve
37-
tile maps from the internet. It can add those tiles as basemap to matplotlib figures or
38-
write tile maps to disk into geospatial raster files. Bounding boxes can be passed in
39-
both WGS84 (EPSG:4326) and Spheric Mercator (EPSG:3857).
48+
[contextily][] is a small Python package to retrieve tile maps from the internet. It can
49+
add those tiles as basemap to matplotlib figures or write tile maps to disk into
50+
geospatial raster files. Bounding boxes can be passed in both WGS84 (EPSG:4326) and
51+
Spheric Mercator (EPSG:3857).
4052

4153
In PyGMT, {func}`pygmt.datasets.load_tile_map` and {class}`pygmt.Figure.tilemap` rely
4254
on it.
4355

4456
#### RioXarray
4557

58+
[rioxarray][] is a geospatial [xarray][] extension powered by rasterio. Built on top of
59+
[rasterio][], it enables seamless reading, writing, and manipulation of multi-dimensional
60+
arrays with geospatial attributes such as coordinate reference systems (CRS) and spatial extent
61+
(bounds).
62+
63+
Currently, PyGMT relies on [rioxarray][] to to saving multi-band rasters to temporary files
64+
in GeoTIFF format, to support processing and plotting 3-D :class:`xarray.DataArray`
65+
images.
66+
67+
```{note}
68+
We're working towards removing the dependency of the [rioxarray][] package in
69+
[PR #3468](https://github.com/GenericMappingTools/pygmt/pull/3468).
70+
```
71+
4672
#### PyArrow
4773

4874
## PyGMT ecosystem
4975

5076
*This page was adapted from [GeoPandas's Ecosystem](https://geopandas.org/en/latest/community/ecosystem.html) page.*
77+
78+
79+
[contextily]: https://contextily.readthedocs.io/
80+
[geopandas]: https://geopandas.org/
81+
[matplotlib]: https://matplotlib.org/
82+
[pandas]: https://pandas.pydata.org/
83+
[pyarrow]: https://arrow.apache.org/docs/python/
84+
[pyogrio]: https://pyogrio.readthedocs.io/
85+
[rioxarray]: https://corteva.github.io/rioxarray/
86+
[shapely]: https://shapely.readthedocs.io/
87+
[xarray]: https://xarray.pydata.org/

0 commit comments

Comments
 (0)