Skip to main content

The official Python fsai_data_sdk library for accessing Foresight Data Portal

Project description

Foresight Data Portal for Python

Installation

$ pip install --upgrade fsai_data_sdk

Usage

Get Data

Get data at a specific location

    import fsai_data_sdk as DatasetService

    dataset_service = DatasetService(API_KEY, SECRET_KEY)
    datasets = dataset_service.get_data_at(lng=-122.1598309, lat=37.4358347, radius=2000, layers=["SEMANTIC_2D", "DYNAMIC_OBJECTS"])
    print(len(datasets))
    sample_dataset = datasets[0]
    print(sample_dataset)
    print(sample_dataset.layers.semantic_2d.get())
    print(sample_dataset.layers.dynamic_objects[0].get())

The get_data_at function returns a list of Dataset. Each Dataset object contains the data layers:

  • semantic_2d: a DataGetter object to get the semantic 2d json data of the area.
  • dynamic_objects: a list of DataGetter object to get the array of dynamic_object.

DataGetter class

Because the data layers are normally large, they can't be returned directly in the getting data calls. The SDK wrap the data layer in the DataGetter class which provides a get function to fetch the data and return the actual data of the layer.

Parsing data

    import fsai_data_sdk as DatasetService
    from fsai.services.data_object.DynamicObjectData import DynamicObjectData
    from fsai.services.data_object.Semantic2DData import semantic_2d_data_from_dict


    dataset_service = DatasetService(API_KEY, SECRET_KEY)
    datasets = dataset_service.get_data_at(lng=-122.1598309, lat=37.4358347, radius=2000, layers=["SEMANTIC_2D", "DYNAMIC_OBJECTS"])
    print(len(datasets))
    sample_dataset = datasets[0]


    # DYNAMIC OBJECT
    "Get raw JSON data"
    dynamic_object_json_data = sample_dataset.layers.dynamic_objects[0].get()

    "Get parsed data objects"
    dynamic_object_data = DynamicObjectData.from_json(dynamic_object_json_data)
    for object in dynamic_object_data.collections[0].objects:
        print(object.get_moving_distance())

    # SEMANTIC MAP
    "Get semantic map apollo open drive JSON data"
    semantic_2d_data = sample_dataset.layers.semantic_2d.get()
    "Get parsed data objects"
    semantic_object = semantic_2d_data_from_dict(semantic_2d_data)
    # empty to get sum length
    total_length = 0
    # loop through all the roads and compute the total length
    for road in semantic_object.road:
        total_length = total_length + road.attributes.length
    print('\n')
    print(total_length)

See also

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

fsai_data_sdk-1.0.4.tar.gz (11.9 kB view hashes)

Uploaded Source

Built Distribution

fsai_data_sdk-1.0.4-py3-none-any.whl (20.9 kB view hashes)

Uploaded Python 3

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