Skip to content

shapeography 1.0 Released

Choose a tag to compare

@edrewitz edrewitz released this 18 Feb 04:27
· 25 commits to main since this release
8bacb0d

shapeography 1.0

Alt text Alt text

(C) Eric J. Drewitz 2026

Documentation And Examples

shapeography documentation and jupyter examples

What's New?

  1. Client Module

Client Module Documentation

The client module hosts the client function get_shapefiles() that downloads shapefiles/GEOJSON file from a user-defined URL address into a folder locally on your PC.

The user must specify the path and filename and the file is saved to {path}/{filename}.

This client is also helpful for those using shapeography in automated scripts. If the user keeps the optional argument refresh=True - The directory hosting the shapefiles/GEOJSON file will be refreshed as the old files will be deleted and new files downloaded. This can be helpful in automation due to periodic shapefile updates on the server-side as it ensures that the user will always have the most recent and up to date shapefiles/GEOJSON file.

This client supports users on a VPN/PROXY connection.

**Proxy Example**

proxies=None ---> proxies={
                       'http':'address:port',
                       'https':'address:port'
                    } 

shapeography.client.get_shapefiles(url, path, filename, proxies=proxies)
  1. Unzip Module

Unzip Module Documentation

The unzip module hosts the function that unzips the shapefiles/GEOJSON file if the file(s) need to be unzipped.

In nearly all cases, shapefile components are within a zipfile server-side so needing to unzip is very common.

The function extract_files() unzips the shapefiles/GEOJSON into a user-specified extraction folder that is automatically generated.

Supports the following file extentions: .zip, .gz, .tar, .tar.gz

  1. Geometry Module

Geometry Module Documentation

The geometry module hosts functions that extract data from these shapefiles/GEOJSON file and make it significantly easier to work with this data in Python.

The current functions are:

  1. cartopy_shapefeature() - Returns a cartopy.shapefeature from the data inside the shapefile/GEOJSON.
  2. get_geometries() - Returns a gpd.GeoDataFrame of the geometry data of the shapefile/GEOJSON in the coordinate reference system (CRS) specified by the user. (Default CRS = 'EPSG:4326' --> ccrs.PlateCarree())
  3. geodataframe() - Returns gpd.GeoDataFrame hosting all the data in the shapefile/GEOJSON in the coordinate reference system (CRS) specified by the user. (Default CRS = 'EPSG:4326' --> ccrs.PlateCarree())

Improvements

Nothing at this time (initial release).

Bug Fixes

Nothing at this time (initial release).