provide geospatial geometry for NZ coastlines and administrative regions
Project description
NZ geometries
Provides geospatial geometries describing New Zealand coastlines and regional administrative boundaries.
Installation
pip install nzgeom
or
conda install -c conda-forge nzgeom
`
Usage Examples
>>> import nzgeom.coastlines
>>> c = nzgeom.coastlines.get_NZ_coastlines()
>>> c
name macronated ... name_ascii geometry
0 None N ... None MULTIPOLYGON (((175.76343 -36.43109, 175.76327...
1 None N ... None MULTIPOLYGON (((175.76337 -36.43096, 175.76312...
2 None N ... None MULTIPOLYGON (((168.14925 -47.11982, 168.14868...
3 None N ... None MULTIPOLYGON (((166.90386 -46.58083, 166.90376...
4 Lion Rock N ... Lion Rock MULTIPOLYGON (((175.75020 -36.77198, 175.74985...
... ... ... ... ... ...
9134 Tāhuahua-Paopao-Karoro Island Y ... Tahuahua-Paopao-Karoro Island MULTIPOLYGON (((173.28982 -34.90622, 173.29034...
9135 Wakatehāua Island Y ... Wakatehaua Island MULTIPOLYGON (((172.89280 -34.68681, 172.89304...
9136 Ōhau/West Island Y ... Ohau/West Island MULTIPOLYGON (((172.03345 -34.18387, 172.03354...
9137 Manawatāwhi / Great Island Y ... Manawatawhi / Great Island MULTIPOLYGON (((172.14683 -34.14436, 172.14729...
9138 North Island or Te Ika-a-Māui Y ... North Island or Te Ika-a-Maui MULTIPOLYGON (((175.13516 -41.37745, 175.13507...
If matplotlib is available, it's easy to plot the coastline geodataframe (or add the coastlines to an existing plot):
>>> import matplotlib.pyplot as plt
>>> ax = c.plot
>>> ax.set_xlim([165, 180])
>>> plt.show()
For the council region boundaries:
>>> import nzgeom.regions
>>> r = nzgeom.regions.NZRegions()
>>> r.list_regions()
Northland Region
Auckland Region
Waikato Region
Bay of Plenty Region
Gisborne Region
Hawke's Bay Region
Taranaki Region
Manawatu-Wanganui Region
Wellington Region
West Coast Region
Canterbury Region
Otago Region
Southland Region
Tasman Region
Nelson Region
Marlborough Region
Area Outside Region
>>> r.get_region_geodataframe("Auckland Region")
REGC2018_V1_00 REGC2018_V1_00_NAME LAND_AREA_SQ_KM AREA_SQ_KM Shape_Length geometry
1 02 Auckland Region 4941.572557 16156.610062 659677.328124 MULTIPOLYGON (((1788533.265 6047342.800, 17891...
Mask a grid's coordinates to land areas within the Wellington Region:
import numpy as np
import matplotlib.pyplot as plt
import geopandas as gpd
from shapely.geometry import Point
import nzgeom.coastlines
import nzgeom.regions
LATLON = "EPSG:4326"
coast = nzgeom.coastlines.get_NZ_coastlines().to_crs(LATLON)
nzreg = nzgeom.regions.NZRegions()
wellington_region = nzreg.get_region_geodataframe("Wellington Region").to_crs(LATLON)
# make a 0.1 by 0.1 degree grid, put it in a geopandas.GeoDataFrame
grid_lons, grid_lats = np.meshgrid(
np.arange(174.4, 176.5, 0.1), np.arange(-41.8, -40.4, 0.1)
)
dummy_grid = gpd.GeoDataFrame(
geometry=[
Point(lon, lat) for lon, lat in zip(grid_lons.flatten(), grid_lats.flatten())
],
crs=LATLON,
)
# mask out points outside Wellington Region
dummy_grid_wellington_landonly = gpd.clip(dummy_grid, wellington_region)
# mask out water points
dummy_grid_wellington_landonly = gpd.clip(dummy_grid_wellington_landonly, coast)
# draw the coastlines, Wellington Region, the full grid, and the masked grid.
fig, ax = plt.subplots()
coast.plot(ax=ax, color="lightgray", label="New Zealand")
wellington_region.plot(ax=ax, color="None", label="Wellington Region")
dummy_grid.plot(ax=ax, marker="x", color="#1b9e77", alpha=0.7, label="full grid")
dummy_grid_wellington_landonly.plot(
ax=ax, marker="+", color="#d95f02", alpha=0.7, label="Wellington & land"
)
ax.set_xlim([172, 179])
ax.set_ylim([-43.0, -39.5])
ax.legend()
plt.show()
Credits
The Regional Council boundary data are provided by Stats NZ Tatauranga Aotearoa under the terms of the Creative Commons Attribution 4.0 International.
The NZ coastlines data are provided by Toitū Te Whenua Land Information New Zealand under the terms of the Creative Commons Attribution 4.0 International.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file nzgeom-0.1.6.tar.gz
.
File metadata
- Download URL: nzgeom-0.1.6.tar.gz
- Upload date:
- Size: 10.7 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.10.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | a6eb0272dfe7a9095fa5ecde24e100e699e63a054df98887046eaa4983ccac03 |
|
MD5 | 53bb33053af103a1ef8e2814a71d6529 |
|
BLAKE2b-256 | efaf64bf4092442c8d7a13962422a788de620f4fc53ede79ef3809537d746123 |
File details
Details for the file nzgeom-0.1.6-py3-none-any.whl
.
File metadata
- Download URL: nzgeom-0.1.6-py3-none-any.whl
- Upload date:
- Size: 10.6 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.10.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | b4c36b11bc1cca00c20635adcf45b10424936101e4c803a2ef8b22a480790115 |
|
MD5 | 236f7eb6afe011ed3a5ac6f5d481ed7d |
|
BLAKE2b-256 | dcd7115771c972ab37898d689f8b7c3e7efe815ae9b74f13610aeeea7b274493 |