Exemple #1
0
def get_multiple_geojson_from_wfs(url_wfs, layer_names, srs, output_folder):
    """
    Get all layers and save them as a geojson

    Args:
        1. url_wfs: full url of the WFS including https, excluding /?::

            https://map.data.amsterdam.nl/maps/gebieden

        2. layer_names: single or multiple titles of the layers, separated by a comma without spaces::

            stadsdeel,buurtcombinatie,gebiedsgerichtwerken,buurt

        3. srs: coordinate system number, excluding EPSG::

            28992

        4. output_folder: define the folder to save the files::

            path_to_folder/another_folder

    """
    layer_names = layer_names.split(',')

    for layer_name in layer_names:
        filename = "{}_{}.geojson".format(layer_name, datetime.now().date())
        geojson = get_layer_from_wfs(url_wfs, layer_name, srs, 'geojson')
        save_file(geojson, output_folder, filename)
def get_multiple_geojson_from_wfs(url_wfs, layer_names, srs, output_folder):
    """
    Get all layers and save them as a geojson

    Args:
        1. url_wfs: full url of the WFS including https, excluding /?::

            https://map.data.amsterdam.nl/maps/gebieden

        2. layer_names: single or multiple titles of the layers, separated by a comma without spaces::

            stadsdeel,buurtcombinatie,gebiedsgerichtwerken,buurt

        3. srs: coordinate system number, excluding EPSG::

            28992

        4. output_folder: define the folder to save the files::

            path_to_folder/another_folder

    """
    layer_names = layer_names.split(',')

    for layer_name in layer_names:
        filename = "{}_{}.geojson".format(layer_name, datetime.now().date())
        geojson = get_layer_from_wfs(url_wfs, layer_name, srs, 'geojson')
        save_file(geojson, output_folder, filename)
def main():
    # Return all arguments in a list
    args = parser().parse_args()
    logger.info("Getting Access token.")
    accessToken = GetAccessToken().getAccessToken(usertype='employee_plus', scopes=args.scopes)
    logger.info("Setup temp database to store requests to speed up restart download if network fails.")
    requests_cache.install_cache('requests_db', backend='sqlite')

    json_data = getJsonData(args.url, accessToken)
    logger.info(json_data)
    save_file(json_data, args.output_folder, args.filename)
Exemple #4
0
def main():
    # Return all arguments in a list
    args = parser().parse_args()
    logger.info("Getting Access token.")
    accessToken = GetAccessToken().getAccessToken(usertype='employee_plus',
                                                  scopes=args.scopes)
    logger.info(
        "Setup temp database to store requests to speed up restart download if network fails."
    )
    requests_cache.install_cache('requests_db', backend='sqlite')

    json_data = getJsonData(args.url, accessToken)
    logger.info(json_data)
    save_file(json_data, args.output_folder, args.filename)
def main():
    # Return all arguments in a list
    args = parser().parse_args()
    logger.info("Getting Access token.")
    accessToken = GetAccessToken().getAccessToken(usertype='employee', scopes='TLLS/R')
    logger.info("Setup temp database to store requests to speed up restart download if network fails.")
    requests_cache.install_cache('requests_db', backend='sqlite')

    endpoints = ['tellus', 'snelheidscategorie', 'lengtecategorie']
    metadata = {}
    for endpoint in endpoints:
        json_data = getJsonData(args.url + '/' + endpoint, accessToken)
        # logger.info(json_data)
        metadata.update({endpoint: json_data})
        logger.info("retrieved {}".format(endpoint))
    data = get_data(args.url, 'tellusdata', metadata, accessToken, args.limit)
    save_file(data, args.output_folder, args.filename)
Exemple #6
0
def main():
    # Return all arguments in a list
    args = parser().parse_args()
    logger.info("Getting Access token.")
    accessToken = GetAccessToken().getAccessToken(usertype='employee',
                                                  scopes='TLLS/R')
    logger.info(
        "Setup temp database to store requests to speed up restart download if network fails."
    )
    requests_cache.install_cache('requests_db', backend='sqlite')

    endpoints = ['tellus', 'snelheidscategorie', 'lengtecategorie']
    metadata = {}
    for endpoint in endpoints:
        json_data = getJsonData(args.url + '/' + endpoint, accessToken)
        # logger.info(json_data)
        metadata.update({endpoint: json_data})
        logger.info("retrieved {}".format(endpoint))
    data = get_data(args.url, 'tellusdata', metadata, accessToken, args.limit)
    save_file(data, args.output_folder, args.filename)
Exemple #7
0
def main():
    """
    Docs for using the SRU service:

        http://koop.overheid.nl/sites/koop.wmrijk.nl/files/Basiswettenbestand%20-%20Gebruikersdocumentatie%20-%20SRU%20v1.2.pdf

    Examples using the SRU service:

        http://koop.overheid.nl/producten/bwb/sru-use-cases

    Readable url:

        'http://wetten.overheid.nl/BWBR0004825'

    Final XML which is used:

        https://repository.officiele-overheidspublicaties.nl/bwb/BWBR0004825/2014-03-20_0/xml/BWBR0004825_2014-03-20_0.xml

    """
    today = time.strftime("%Y-%m-%d")  # to get the latest applicable law
    identifier = 'BWBR0004825'

    query = 'dcterms.identifier=={} and \
             overheidbwb.geldigheidsdatum={}'.format(identifier, today)

    dutch_law_url = 'http://zoekservice.overheid.nl/sru/Search?operation=searchRetrieve&version=1.2&x-connection=BWB&query='
    meta_url = '{}{}'.format(dutch_law_url, query)

    namespaces = {
        'locgov': 'http://www.loc.gov/zing/srw/',
        'sru': 'http://standaarden.overheid.nl/sru',
        'overheidbwb': 'http://standaarden.overheid.nl/bwb/terms/',
        'dcterms': 'http://purl.org/dc/terms/'
    }

    xml_toestand = get_latest_xml_data(meta_url, namespaces)
    data = get_traffic_signs(xml_toestand, namespaces)
    save_file(data, 'data', 'traffic_signs.json')