Package: pycartociudad
pycartociudadpycartociudad contains Python functions to access the CartoCiudad REST and WPS API (REST y WPS) from IGN with spanish cartography services.Getting StartedThese 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.PrerequisitesTo use the pycartociudad package you will need to have python installed (at least version 3.8). For detailed instructions, please check theDownloading Python guideDependencies can be managed through a pipenv wrapper. In order to install pipenv, check thepipenv installation documentation.InstallingTo install the latest published PyPI version of pycartociudad:pip install pycartociudadTo upgrade an already installedpycartociudadpackage from PyPI:pip install --upgrade pycartociudadThepycartociudaddevelopment repository can be found in thepycartociudad GitHub repository. To make a local copy of thepycartociudadrepository, clone it or download is as a zip file.To get a development env running, go to the downloaded or clonedpycartociudadfolder and install it using pipenv:$ pipenv installRunning the testsTo run a subset of tests:$ python -m unittest tests.test_geocode
$ python -m unittest tests.test_reverse_geocodeDeploymentTO-DOBuilt withThis package was created withCookiecutterand theaudreyr/cookiecutter-pypackageproject template.DocumentationThepycartociudaddocumentation can be found inpycartociudad readthedocs.Details on the API implementation can be found in the officialCartociudad API specs.ContributingPlease readCONTRIBUTING.rstfor the process of submitting pull requests to us.For details on our code of conduct, check thePyLadies Code of Conduct.FeaturesGeocodingGeocoding is the geolocation of addresses in Spain via Cartociudad API calls. Calling thegeocodefunction 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 geocodingReverse 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 infoTheget_location_infofunction 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 pointsThis 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 logradoAuthorsLuz Frías-Team Lead & Initial work-@koldLight.Isabel González-Initial work-@zupeiza.Beatriz Gómez-Initial work-@beatrizgoa.Alicia Pérez-Initial work-@aliciapj.For a list of contributors, check thePyLadies pycartociudad contributor listLicenseFree software: CC-BY 4.0 scne.esThe 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 theIGN license specs.History0.1.0 (2020-12-15)First release on PyPI.