Skip to main content

Extends 'networkx' for working with spatial networks

Project description

net2

https://img.shields.io/pypi/v/net2

Overview

net2 is a Python package for working with spatial networks.

Data structures

net2 is intended to work with spatial network data represented using networkx.DiGraph objects, following several conventions:

  • An object of type nx.Graph or nx.DiGraph
  • The network is associated with:
    • 'crs' (None or int)
  • Node IDs are int
  • Nodes are associated with:
    • 'geometry' (shapely)
  • Edges are associated with:
    • 'geometry' (shapely)
    • 'length' (float, in $m$)
    • 'time' (float, in $sec$)

Installation

The package can be installed with:

pip install net2

Use

Once installed, the package can be loaded with:

import net2

Sample data

The package comes with a small spatial network for demonstration, accessible as follows:

G = net2.data['roads']
G
<networkx.classes.digraph.DiGraph at 0x7e6091f35f40>

Here is a plot of the network:

import matplotlib.pyplot as plt
import networkx as nx
fig, ax = plt.subplots()
nx.draw(G, with_labels=True, pos=net2.pos(G))
plt.axis('on')
ax.set_aspect('equal')
ax.tick_params(left=True, bottom=True, labelleft=True, labelbottom=True);

Example

import shapely
pnt1 = shapely.Point(4100, 3100)
pnt2 = shapely.Point(1100, 3700)
x = net2.route2(G, pnt1, pnt2, 'length')
fig, ax = plt.subplots()
nx.draw(x['network'], with_labels=True, pos=net2.pos(x['network']), edge_color='grey', width=0.1, ax=ax)
nx.draw_networkx_edges(G, pos=net2.pos(x['network']), edgelist=list(zip(x['route'], x['route'][1:])), edge_color='r', width=3)
plt.plot(pnt1.x, pnt1.y, 'ro')
plt.plot(pnt2.x, pnt2.y, 'ro')
ax.annotate('pnt1', [pnt1.x, pnt1.y], ha='left')
ax.annotate('pnt2', [pnt2.x, pnt2.y], ha='left')
plt.axis('on')
ax.set_aspect('equal')
ax.tick_params(left=True, bottom=True, labelleft=True, labelbottom=True);

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

net2-0.0.7.tar.gz (4.1 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

net2-0.0.7-py3-none-any.whl (8.6 kB view details)

Uploaded Python 3

File details

Details for the file net2-0.0.7.tar.gz.

File metadata

  • Download URL: net2-0.0.7.tar.gz
  • Upload date:
  • Size: 4.1 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for net2-0.0.7.tar.gz
Algorithm Hash digest
SHA256 39154e1c9b6db52682d81b44d68e764e13a92f8ffcdf2171c8b6172921a46c15
MD5 bc2869bef0e34b336e575cb5801ae979
BLAKE2b-256 81f15779f997ddbc537192445e6bc2d03becd92dc064582ada6f6d82bda5343a

See more details on using hashes here.

File details

Details for the file net2-0.0.7-py3-none-any.whl.

File metadata

  • Download URL: net2-0.0.7-py3-none-any.whl
  • Upload date:
  • Size: 8.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for net2-0.0.7-py3-none-any.whl
Algorithm Hash digest
SHA256 d4cc5c1de8b3ad9379f3786e5db4e1b5f964a75d623a5da939796a0238956fb4
MD5 40251b5ad475155bc35eef16ec1edd6d
BLAKE2b-256 65d7dbb2736535a8f8dffe3b1d5a5ddccd4cd40a8ac68b7a5c430b70a3ec2489

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page