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
- SDK for Javascript https://github.com/ForesightAI/fsai_data_sdk_js
- Rest API: https://data.foresight.ai/docs/public/api/
Metadata
Release files for fsai-data-sdk 1.0.4
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| fsai_data_sdk-1.0.4.tar.gz | 11.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| fsai_data_sdk-1.0.4-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 32.8 kB
Release files / fsai_data_sdk-1.0.4.tar.gz
| Download URL | fsai_data_sdk-1.0.4.tar.gz |
|---|---|
| Size | 11.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
23ab7473ae96ed18b84a400d121eedaac0688194c2969ed41f6cf1b2898c305a
|
|
BLAKE2b-256 checksum How to use checksums |
7d958c65c53cd2b0840e77b19a551c3103ed608ba80370995648bcfd5c32c650
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.7.1
|
Release files / fsai_data_sdk-1.0.4-py3-none-any.whl
| Download URL | fsai_data_sdk-1.0.4-py3-none-any.whl |
|---|---|
| Size | 20.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
288345b4d6d7e956818ae9a44e5615e7ed78c07709f673958a9571e90ebf2e6b
|
|
BLAKE2b-256 checksum How to use checksums |
205c87b622ad3e9973ad5061d1620c102bb4ff951dc6a150721ecda6705ebe94
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.7.1
|