Networkx wrapper to simplify network analysis using geospatial data
Project description
GOSTnets: Build, process, and analyze networks
GOSTnets is built on top of geopandas, networkx, osmnx, and rtree.
Installation
From PyPI
pypi support in development
From conda-forge
conda support in development
From Source
-
Clone or download this repository to your local machine. Then, navigate to the root directory of the repository:
git clone https://github.com/worldbank/GOSTnets.git cd GOSTnets
-
Create a virtual environment (optional but recommended):
python3 -m venv venv source venv/bin/activate # On Windows, use `venv\Scripts\activate`
-
Install the package in editable mode with dependencies:
pip install -e .
The
-e
flag stands for "editable," meaning changes to the source code will immediately affect the installed package.
Alternative Installations With Optional Dependencies
The following are optional dependencies that can be installed with GOSTnets - which not required to use GOSTnets, but they may be useful for some users, as they enable additional functionality. All of these alternative installs use the same pip install
command as above. The examples show how to install these from PyPI, but the same commands can be used to install from source, replacing the package name GOSTnets
with a .
similar to the example above.
OSM Support (Needed to run functions from load_osm.py
)
pip install GOSTnets[osm]
Optimization Support (Needed to run functions from optimization.py
)
pip install GOSTnets[opt]
Development Support
pip install GOSTnets[dev]
Usage
Every function contains a docstring which can be brought up in use to check the inputs for various functions. For example:
import GOSTnets as gn
gn.edge_gdf_from_graph?
returns:
Signature: gn.edge_gdf_from_graph(G, crs={'init': 'epsg:4326'}, attr_list=None, geometry_tag='geometry', xCol='x', yCol='y')
#### Function for generating a GeoDataFrame from a networkx Graph object ###
REQUIRED: a graph object G
OPTIONAL: crs - projection of format {'init' :'epsg:4326'}. Defaults to
WGS84. Note: here we are defining the crs of the input geometry -
we do NOT reproject to this crs. To reproject, consider using
geopandas' to_crs method on the returned gdf.
attr_list: list of the keys which you want to be moved over to
the GeoDataFrame.
geometry_tag - the key in the data dictionary for each edge which
contains the geometry info.
xCol - if no geometry is present in the edge data dictionary, the
function will try to construct a straight line between the start
and end nodes, if geometry information is present in their data
dictionaries. Pass the Longitude info as 'xCol'.
yCol - likewise, determining the Latitude tag for the node's data
dictionary allows us to make a straight line geometry where an
actual geometry is missing.
RETURNS: a GeoDataFrame object of the edges in the graph
#-------------------------------------------------------------------------#
These docstrings have been written for every function, and should help new and old users alike with the options and syntax.
License
This licensed under the MIT License. This project is licensed under the MIT License - see the LICENSE file for details.
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 GOSTnets-1.1.0.tar.gz
.
File metadata
- Download URL: GOSTnets-1.1.0.tar.gz
- Upload date:
- Size: 47.2 MB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/4.0.2 CPython/3.11.8
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0745d6e8af7c320366426837e81645c79ee6d941aafaf2d6858f2f51307812aa |
|
MD5 | 252bd967776151f08b1566e895486002 |
|
BLAKE2b-256 | 78ed84f41375a59aa1c613c84f654c33639c470b3ba5a550453992415ecd924a |
File details
Details for the file GOSTnets-1.1.0-py3-none-any.whl
.
File metadata
- Download URL: GOSTnets-1.1.0-py3-none-any.whl
- Upload date:
- Size: 69.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/4.0.2 CPython/3.11.8
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0b6417a1750cd57cd25053c2487c452a5399a1182db8e6eae80f807a478561c1 |
|
MD5 | c09b3bba2183acf2debed20f0926c642 |
|
BLAKE2b-256 | fc940d65dac31092c46161639b48afedb2cf193cbfca26bdd1871e7fd198a626 |