Skip to content

Latest commit

 

History

History
103 lines (57 loc) · 5.58 KB

File metadata and controls

103 lines (57 loc) · 5.58 KB
graph LR
    GeoAxes_Map_Renderer["GeoAxes Map Renderer"]
    CRS["CRS"]
    FeatureArtist["FeatureArtist"]
    Gridliner["Gridliner"]
    Image_Tiles_IO["Image Tiles IO"]
    OGC_Clients_IO["OGC Clients IO"]
    Image_Transform["Image Transform"]
    Matplotlib_Imshow["Matplotlib Imshow"]
    GeoAxes_Map_Renderer -- "orchestrates" --> FeatureArtist
    GeoAxes_Map_Renderer -- "manages" --> Gridliner
    GeoAxes_Map_Renderer -- "uses" --> CRS
    GeoAxes_Map_Renderer -- "acquires data from" --> Image_Tiles_IO
    GeoAxes_Map_Renderer -- "fetches data from" --> OGC_Clients_IO
    GeoAxes_Map_Renderer -- "sends data to" --> Image_Transform
    Image_Transform -- "returns processed data to" --> GeoAxes_Map_Renderer
    GeoAxes_Map_Renderer -- "calls" --> Matplotlib_Imshow
    CRS -- "provides projection services to" --> GeoAxes_Map_Renderer
    Image_Tiles_IO -- "provides raster data to" --> GeoAxes_Map_Renderer
    OGC_Clients_IO -- "provides raster data to" --> GeoAxes_Map_Renderer
Loading

CodeBoardingDemoContact

Details

The cartopy.mpl.geoaxes subsystem, centered around the GeoAxes class, extends Matplotlib's Axes to provide geospatial plotting capabilities. GeoAxes acts as the primary orchestrator, leveraging cartopy.crs.Projection for coordinate system management and transformations. It interacts with cartopy.mpl.feature_artist.FeatureArtist to render vector data and cartopy.mpl.gridliner.Gridliner for drawing map grids. For raster data, GeoAxes utilizes cartopy.io.img_tiles.GoogleTiles and cartopy.io.ogc_clients.WMTSRasterSource (and WMSRasterSource) to acquire image tiles from various sources. Before display, raster data may undergo transformations via cartopy.img_transform.warp_array. Finally, GeoAxes relies on the core matplotlib.axes.Axes.imshow method for the actual rendering of image data onto the plot. This architecture ensures a clear separation of concerns, with specialized components handling projections, feature rendering, gridlines, data acquisition, and image processing, all coordinated by the central GeoAxes component.

GeoAxes Map Renderer

The central component orchestrating the rendering of all geospatial data and map elements onto a Matplotlib Axes object. It extends Matplotlib's capabilities to handle geographical coordinates and projections, managing the display of features, gridlines, and various data overlays. It acts as the primary interface for users to create and manipulate geographical plots.

Related Classes/Methods:

CRS

Manages map projections and performs coordinate transformations, ensuring geospatial data is correctly positioned and displayed according to the chosen projection.

Related Classes/Methods:

FeatureArtist

Responsible for rendering geographical features by converting geometries into Matplotlib paths, enabling the visualization of vector data like coastlines, borders, or custom shapes.

Related Classes/Methods:

Gridliner

Draws latitude and longitude gridlines and their labels on the map, providing geographical context and reference points for the displayed data.

Related Classes/Methods:

Image Tiles IO

Component for acquiring raster data for background imagery or overlays from image tile services (e.g., OpenStreetMap, Stamen).

Related Classes/Methods:

OGC Clients IO

Component for acquiring raster data from OGC (Open Geospatial Consortium) clients, such as WMS (Web Map Service) or WMTS (Web Map Tile Service).

Related Classes/Methods:

Image Transform

Performs transformations (e.g., regridding, reprojection) of raster data before display, ensuring compatibility with the map's projection and desired resolution.

Related Classes/Methods:

Matplotlib Imshow

The underlying Matplotlib function utilized for the actual display of image data (raster arrays) onto the Axes object.

Related Classes/Methods: