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.6.tar.gz (13.7 kB view details)

Uploaded Source

Built Distribution

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

Uploaded Python 3

File details

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

File metadata

  • Download URL: pyramm-1.6.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.6.tar.gz
Algorithm Hash digest
SHA256 763f9caed65bc1fc53eba8a66ebbf0acd56b5719f5a514e4dc51223614859b8f
MD5 3ccbb8f498219e0531e5c89aaa2d86c4
BLAKE2b-256 284e75cfdc9e3b72a3e99230dcd20193b95fd80807603910913d861e0a16cc78

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pyramm-1.6-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.6-py3-none-any.whl
Algorithm Hash digest
SHA256 5017a43b23d9cfb6b825f39f03dae4a0432722316f17467a49e46d49687b1425
MD5 196866bf653d360a60ca3abb6f053b59
BLAKE2b-256 818543b92c1c1611202b9650c4272187491aef6bb5a4bbb08a3eb53802b867e2

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