Skip to main content

Provides a wrapper to the RAMM API and additional tools for positional referencing

Project description

pyramm

Python wrapper for RAMM API.

Users must have their own login for the RAMM database.

Issues

Please submit an issue if you find a bug or have an idea for an improvement.

Installation

pip install pyramm

Initialise

You must first initialise the connection to the RAMM API as follows. Note that the database argument defaults to "SH New Zealand" if it is not provided.

from pyramm.api import Connection
conn = Connection(username, password, database="SH New Zealand")

Alternatively the username and password can be stored in file called .pyramm.ini. This file must be saved in the users home directory ("~" on linux) and contain the following:

[RAMM]
USERNAME = username
PASSWORD = password

You are then able to initialise the RAMM API connection without providing your login credentials each time.

from pyramm.api import Connection
conn = Connection()

Table and column names

A list of available tables can be accessed using:

table_names = conn.table_names()

A list of columns for a given table can be accessed using:

column_names = conn.column_names(table_name)

Table data

Some methods are attached to the Connection object to provide convenient access to selected RAMM tables. These helper methods implement some additional filtering (exposed as method arguments) and automatically set the DataFrame index to the correct table column(s).

Tables not listed in the sections below can be accessed using the general get_data() method:

df = conn.get_data(table_name)

General tables:

roadnames = conn.roadnames()
carrway = conn.carr_way(road_id=None)
c_surface = conn.c_surface(road_id=None)
top_surface = conn.top_surface()
surf_material = conn.surf_material()
surf_category = conn.surf_category()
minor_structure = conn.minor_structure()

HSD tables:

hsd_roughness = conn.hsd_roughness(road_id, latest=True, survey_year=None)
hsd_roughness_hdr = conn.hsd_roughness_hdr()
hsd_rutting = conn.hsd_rutting(road_id, latest=True, survey_year=None)
hsd_rutting_hdr = conn.hsd_rutting_hdr()
hsd_texture = conn.hsd_texture(road_id, latest=True, survey_year=None)
hsd_texture_hdr = conn.hsd_texture_hdr()

Centreline

The Centreline object is provided to:

  • assist with generating geometry for table entries (based on road_id, start_m and end_m values),

The base geometry used by the Centreline object is derived from the carr_way table.

Create a Centreline instance:

centreline = conn.centreline()

Append geometry to table:

For a table containing road_id, start_m and end_m columns, the geometry can be appended using the append_geometry() method:

df = centreline.append_geometry(df, geometry_type="wkt")

The geometry_type argument defaults to "wkt". This will provide a WKT LineString for each row.

Alternatively, geometry_type can be set to "coord" to append a northing and easting column to the DataFrame.

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

pyramm-1.7.tar.gz (13.7 kB view details)

Uploaded Source

Built Distribution

pyramm-1.7-py3-none-any.whl (14.2 kB view details)

Uploaded Python 3

File details

Details for the file pyramm-1.7.tar.gz.

File metadata

  • Download URL: pyramm-1.7.tar.gz
  • Upload date:
  • Size: 13.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.5.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.1 CPython/3.9.5

File hashes

Hashes for pyramm-1.7.tar.gz
Algorithm Hash digest
SHA256 227b6034dff02d3bbfa2155be4e779fedb1aa66742716da28c422f087d8d5be2
MD5 895e4f80a3d07b7e88f54e8ab4a46b11
BLAKE2b-256 d206d31334cacf5f1bc16ce4e8bcfb210f6db337736d3519cbb768535974a2ed

See more details on using hashes here.

File details

Details for the file pyramm-1.7-py3-none-any.whl.

File metadata

  • Download URL: pyramm-1.7-py3-none-any.whl
  • Upload date:
  • Size: 14.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.5.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.1 CPython/3.9.5

File hashes

Hashes for pyramm-1.7-py3-none-any.whl
Algorithm Hash digest
SHA256 1897ec8ce01cd8d799cd32260d17cb2814e6e545efb7d61c04190f4d10393c4e
MD5 26a8df43f47d0a91a3108a6fdff6fef4
BLAKE2b-256 ed5efe178af81d784fd8f1468ce6bcf62f757aa714dd34041f0772cbcdb680b5

See more details on using hashes here.

Supported by

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