spaghetti.regular_lattice¶
- spaghetti.regular_lattice(bounds, nh, nv=None, exterior=False)[source]¶
Generate a regular lattice of line segments (
libpysal.cg.Chain
objects).- Parameters:
- bounds{
tuple
,list
} Area bounds in the form - <minx,miny,maxx,maxy>.
- nh
int
The number of internal horizontal lines of the lattice.
- nv
int
The number of internal vertical lines of the lattice. Defaults to
nh
if left as None.- exteriorbool
Flag for including the outer bounding box segments. Default is False.
- bounds{
- Returns:
- lattice
list
The
libpysal.cg.Chain
objects forming a regular lattice.
- lattice
Notes
The
nh
andnv
parameters do not include the external line segments. For example, settingnh=3, nv=2, exterior=True
will result in 5 horizontal line sets and 4 vertical line sets.Examples
Create a 5x5 regular lattice with an exterior
>>> import spaghetti >>> lattice = spaghetti.regular_lattice((0,0,4,4), 3, exterior=True) >>> lattice[0].vertices [(0.0, 0.0), (1.0, 0.0)]
Create a 5x5 regular lattice without an exterior
>>> lattice = spaghetti.regular_lattice((0,0,5,5), 3, exterior=False) >>> lattice[-1].vertices [(3.75, 3.75), (3.75, 5.0)]
Create a 7x9 regular lattice with an exterior from the bounds of
streets.shp
.>>> path = libpysal.examples.get_path("streets.shp") >>> shp = libpysal.io.open(path) >>> lattice = spaghetti.regular_lattice(shp.bbox, 5, nv=7, exterior=True) >>> lattice[0].vertices [(723414.3683108028, 875929.0396895551), (724286.1381211297, 875929.0396895551)]