Skip to main content

pycartociudad

https://raw.githubusercontent.com/PyLadiesMadrid/pycartociudad/4e7043531bfae74ed2b96a5ce66d5d4a07a2dd01/docs/pycartociudad.svg https://img.shields.io/pypi/v/pycartociudad.svg https://img.shields.io/travis/pyladiesmadrid/pycartociudad.svg Documentation Status

pycartociudad contains Python functions to access the CartoCiudad REST and WPS API (REST y WPS) from IGN with spanish cartography services.

Getting Started

These instructions will get you a copy of the project up and running on your local machine for development and testing purposes. See deployment for notes on how to deploy the project on a live system.

Prerequisites

To use the pycartociudad package you will need to have python installed (at least version 3.8). For detailed instructions, please check the Downloading Python guide

Dependencies can be managed through a pipenv wrapper. In order to install pipenv, check the pipenv installation documentation.

Installing

To install the latest published PyPI version of pycartociudad:

pip install pycartociudad

To upgrade an already installed pycartociudad package from PyPI:

pip install --upgrade pycartociudad

The pycartociudad development repository can be found in the pycartociudad GitHub repository. To make a local copy of the pycartociudad repository, clone it or download is as a zip file.

To get a development env running, go to the downloaded or cloned pycartociudad folder and install it using pipenv:

$ pipenv install

Running the tests

To run a subset of tests:

$ python -m unittest tests.test_geocode
$ python -m unittest tests.test_reverse_geocode

Deployment

TO-DO

Built with

This package was created with Cookiecutter and the audreyr/cookiecutter-pypackage project template.

Documentation

The pycartociudad documentation can be found in pycartociudad readthedocs.

Details on the API implementation can be found in the official Cartociudad API specs.

Contributing

Please read CONTRIBUTING.rst for the process of submitting pull requests to us.

For details on our code of conduct, check the PyLadies Code of Conduct.

Features

Geocoding

Geocoding is the geolocation of addresses in Spain via Cartociudad API calls. Calling the geocode function returns the details of the closest address in Spain to the indicated address.

>>> import pycartociudad as pycc
>>> pycc.geocode('Plaza mayor 1, madrid')
{'id': '280790001063', 'province': 'Madrid', 'comunidadAutonoma': 'Comunidad de Madrid', 'muni': 'Madrid', 'type': 'portal', 'address': 'MAYOR', 'postalCode': '28012', 'poblacion': 'Madrid', 'geom': 'POINT (-3.7066353973101624 40.41505683353346)', 'tip_via': 'PLAZA', 'lat': 40.41505683353346, 'lng': -3.7066353973101624, 'portalNumber': 1, 'stateMsg': 'Resultado exacto de la búsqueda', 'state': 1, 'countryCode': '011', 'refCatastral': None}

Reverse geocoding

Reverse geocoding is the search of an address details based on latitude and longitude coordinates.

>>> import pycartociudad as pycc
>>> pycc.reverse_geocode(40.4472476241486,-3.7076498426208833)
{'id': '280790165933', 'province': 'Madrid', 'comunidadAutonoma': 'Comunidad de Madrid', 'muni': 'Madrid', 'type': None, 'address': 'REINA VICTORIA', 'postalCode': '28003', 'poblacion': 'Madrid', 'geom': 'POINT (-3.707649842620833 40.447247624136764)', 'tip_via': 'AVENIDA', 'lat': 40.447247624136764, 'lng': -3.707649842620833, 'portalNumber': 22, 'stateMsg': 'Resultado exacto de la búsqueda', 'state': 1, 'priority': 0, 'countryCode': '011', 'refCatastral': None}

Reverse geocoding can be performed to look for cadastral details with the cadastral parameter

>>> pycc.reverse_geocode(40.4472476241486,-3.7076498426208833, cadastral=True)
{'id': None, 'province': None, 'comunidadAutonoma': None, 'muni': None, 'type': None, 'address': '0079609VK4707G', 'postalCode': None, 'poblacion': None, 'geom': 'POINT (-3.7076498426208833 40.4472476241486)', 'tip_via': None, 'lat': 40.4472476241486, 'lng': -3.7076498426208833, 'portalNumber': 0, 'stateMsg': 'Resultado exacto de la búsqueda', 'state': 1, 'priority': 0, 'countryCode': '011', 'refCatastral': 'AV REINA VICTORIA 22 MADRID (MADRID)'}

Get location info

The get_location_info function gets extra information of a location using official spanish web map services, such as cadastre, census or geocoding information.

>>> import pycartociudad as pycc
>>> pycc.get_location_info(40.4472476241486,-3.7076498426208833)
{'cadastral_ref': '0079609VK4707G', 'census_section': '2807906001', 'district_code': '2807906', 'id': '280790165933', 'province': 'Madrid', 'comunidadAutonoma': 'Comunidad de Madrid', 'muni': 'Madrid', 'type': None, 'address': 'REINA VICTORIA', 'postalCode': '28003', 'poblacion': 'Madrid', 'geom': 'POINT (-3.707649842620833 40.447247624136764)', 'tip_via': 'AVENIDA', 'lat': 40.447247624136764, 'lng': -3.707649842620833, 'portalNumber': 22, 'stateMsg': 'Resultado exacto de la búsqueda', 'state': 1, 'priority': 0, 'countryCode': '011', 'refCatastral': None}

Route between two points

This function gets the route between two points (encoded with their latitude-longitude coordinates), either walking or in a vehicle.

>>> import pycartociudad as pycc
>>> d = pycc.route_between_two_points(40.447313139920475,-3.704361232340851,40.44204376380937,-3.699671450323607)
>>> for i in d['instructionsData']['instruction']:
...     print(i['description'])
...
Continúe por GLORIETA CUATRO CAMINOS
Gire justo a la derecha por CALLE SANTA ENGRACIA
Gire a la izquierda por CALLE RIOS ROSAS
Objetivo logrado

Authors

For a list of contributors, check the PyLadies pycartociudad contributor list

License

  • Free software: CC-BY 4.0 scne.es

The data returned by this package is provided by IGN web services and implies the user’s acceptance of a CC-BY 4.0 scne.es license. More info available in the IGN license specs.

History

0.1.0 (2020-12-15)

  • First release on PyPI.

Metadata

Release files for pycartociudad 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pycartociudad 0.1.0
File Size Uploaded
pycartociudad-0.1.0.tar.gz 104.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for pycartociudad 0.1.0
File Interpreter ABI Platform
pycartociudad-0.1.0-py2.py3-none-any.whl Python 3, Python 2 none any Details

Total release size: 119.5 kB

Release files / pycartociudad-0.1.0.tar.gz

Download URL pycartociudad-0.1.0.tar.gz
Size 104.8 kB
Tags Source
SHA-256 checksum
How to use checksums
190bbeab1adbc6530aab7dcaffae53bb046078ab866ac9a26310abce07df3512
BLAKE2b-256 checksum
How to use checksums
2bd90a9cd83b6cfba128dc5d95ae5d41549039ec70015704683d9d90f0f8ce3b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.2.0 pkginfo/1.6.1 requests/2.25.0 setuptools/50.3.1 requests-toolbelt/0.9.1 tqdm/4.54.1 CPython/3.8.6

Release files / pycartociudad-0.1.0-py2.py3-none-any.whl

Download URL pycartociudad-0.1.0-py2.py3-none-any.whl
Size 14.7 kB
Tags Python 2 Python 3
SHA-256 checksum
How to use checksums
47ae698b5bdc606f4a708d127fa213962cbf22e6bb37e757d06beec34ededaaa
BLAKE2b-256 checksum
How to use checksums
cbff250c51ceb0d20b57d6009f783ebbc2193b41c6720c6375dc77225cd74a65
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.2.0 pkginfo/1.6.1 requests/2.25.0 setuptools/50.3.1 requests-toolbelt/0.9.1 tqdm/4.54.1 CPython/3.8.6

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page