tracktable.render.backends.cartopy_backend module¶
Note
This module is used by render_trajectories and render_heatmap and shouldn’t be accessed directly.
Module contents¶
tracktable.render.cartopy - render trajectories in using the cartopy backend
- tracktable.render.backends.cartopy_backend.cartesian(point_source, bbox_lowerleft, bbox_upperright, resolution=(400, 400), colormap='gist_heat', colorscale=<matplotlib.colors.Normalize object>, axes=None, zorder=2)[source]¶
Draw a 2D histogram of points in a Cartesian space.
For the purposes of this function, a ‘point2d’ is a tuple or list at least 2 elements long whose first two elements are numbers.
Since we only traverse the point iterable once we require that you supply a bounding box. Any points outside this bounding box will be ignored.
- Parameters:
point_source (iterable) – Sequence of 2D points. This will be traversed only once.
bbox_lowerleft (point2d) – Lower left corner of bounding box for histogram
bbox_upperright (point2d) – Upper right corner of bounding box
- Keyword Arguments:
resolution (two ints) – Resolution for histogram (Default: (400, 400))
colormap (str or Colormap) – Colors to use for histogram (Default: ‘gist_heat’)
colorscale (matplotlib.colors.Normalize or subclass) – Mapping from bin counts to color. Useful values are matplotlib.colors.Normalize() and matplotlib.colors.LogNorm(). (Default: matplotlib.colors.Normalize())
axes (matplotlib.axes.Axes) – Axes to render into. Defaults to “current axes” as defined by Matplotlib. (Default: None)
zorder (int) – Image priority for rendering. Higher values will be rendered on top of actors with lower z-order. (Default: 2)
- Side Effects:
Actors will be added to the supplied axes.
- Returns:
A list of actors added to the Matplotlib figure.
- tracktable.render.backends.cartopy_backend.geographic(map_projection, point_source, bin_size=1, colormap='gist_heat', colorscale=<matplotlib.colors.Normalize object>, zorder=10, axes=None)[source]¶
Render a 2D histogram (heatmap) onto a geographic map
- Parameters:
map_projection (Basemap) – Map to render onto
point_source (iterable) – Sequence of TrajectoryPoint objects
- Keyword Arguments:
bin_size (float) – Histogram bins will be this many degrees on each size. Defaults to 1. (Default: 1)
colormap (str or Matplotlib colormap) – Color map for resulting image. Defaults to ‘gist_heat’. (Default: ‘gist_heat’)
colorscale (matplotlib.colors.Normalize or subclass) – Mapping from histogram bin count to color. Defaults to a linear mapping (matplotlib.colors.Normalize(). The other useful value is matplotlib.colors.LogNorm() for a logarithmic mapping. You can specify a range if you want to but by default it will be adapted to the data. (Default: matplotlib.colors.Normalize())
zorder (int) – Rendering priority for the histogram. Objects with higher priority will be rendered on top of those with lower priority. Defaults to 2 (probably too low). (Default: 10)
axes (matplotlib.axes.Axes) – Axes instance to render into. If no value is specified we will use the current axes as returned by pyplot.gca(). (Default: None)
- Returns:
List of actors added to the axes
- Side Effects:
Actors for the histogram will be added to the current Matplotlib figure.
- Known Bugs:
The interface does not match the one for the Cartesian histogram. Most notably, you specify resolution explicitly for the Cartesian histogram and implicitly (via box size) for this one.
You can’t specify a histogram area that encloses the north or south pole.
You can’t specify a histogram area that crosses the longitude discontinuity at longitude = +/- 180. This should be relatively easy to fix.
- tracktable.render.backends.cartopy_backend.render_heatmap(points, trajectories=None, map_canvas=None, map_bbox=[], bin_size=1, colormap='gist_heat', colorscale=<matplotlib.colors.Normalize object>, zorder=10, draw_lonlat=True, fill_land=True, fill_water=True, draw_coastlines=True, draw_countries=True, draw_states=True, draw_airports=False, draw_ports=False, draw_shorelines=False, draw_rivers=False, draw_borders=False, draw_cities=False, map_projection=None, transform=<Projected CRS: +proj=eqc +ellps=WGS84 +a=6378137.0 +lon_0=0.0 +to ...> Name: unknown Axis Info [cartesian]: - E[east]: Easting (unknown) - N[north]: Northing (unknown) - h[up]: Ellipsoidal height (metre) Area of Use: - undefined Coordinate Operation: - name: unknown - method: Equidistant Cylindrical Datum: Unknown based on WGS 84 ellipsoid - Ellipsoid: WGS 84 - Prime Meridian: Greenwich, figsize=(4, 2.25), dpi=300, bbox_buffer=(0.3, 0.3), tiles=None, save=False, filename='', **kwargs)[source]¶
Render a histogram for the given map projection.
For documentation on the parameters, please see render_trajectories
- tracktable.render.backends.cartopy_backend.render_trajectories(trajectories, map_canvas=None, obj_ids=[], map_bbox=[], region_size=(200, 200), show_lines=True, gradient_hue=None, color_map='', line_color='', linewidth=0.8, show_points=False, point_size=0.2, point_color='', show_dot=True, dot_size=0.23, dot_color='white', trajectory_scalar_generator=<function path_length_fraction_generator>, trajectory_linewidth_generator=None, color_scale=<matplotlib.colors.Normalize object>, show=True, save=False, filename='', tiles=None, show_distance_geometry=False, distance_geometry_depth=4, zoom_frac=[0, 1], draw_airports=False, draw_ports=False, draw_shorelines=False, draw_rivers=False, draw_borders=False, draw_lonlat=True, fill_land=True, fill_water=True, draw_coastlines=True, draw_countries=True, draw_states=True, draw_cities=False, map_projection=None, transform=<Projected CRS: +proj=eqc +ellps=WGS84 +a=6378137.0 +lon_0=0.0 +to ...> Name: unknown Axis Info [cartesian]: - E[east]: Easting (unknown) - N[north]: Northing (unknown) - h[up]: Ellipsoidal height (metre) Area of Use: - undefined Coordinate Operation: - name: unknown - method: Equidistant Cylindrical Datum: Unknown based on WGS 84 ellipsoid - Ellipsoid: WGS 84 - Prime Meridian: Greenwich , figsize=(4, 2.25), dpi=300, bbox_buffer=(0.3, 0.3), **kwargs)[source]¶
Render a list of trajectories using the cartopy backend
For documentation on the parameters, please see render_trajectories