Python SDK for UP42, the geospatial marketplace and developer platform.
Documentation • UP42.com • Support
- Python package for easy access to UP42's geospatial datasets & processing workflows
- Use UP42 functionality together with your preffered Python libraries!
- For geospatial analysis & product builders!
- Interactive maps & visualization, ideal with Jupyter notebooks
- Command Line Interface (CLI)
See the documentation for getting started guides, examples and the code reference.
The package requires Python > 3.6.
pip install up42-py
The UP42 Python package uses six objects, representing the hierarchical structure of UP42: Project > Workflow > Job > JobTask and JobCollection & Catalog.
In this example a new workflow consisting of Sentinel-2 data and Land-Surface-Temperature is created. The area of interest and workflow parameters are defined. After running the job, the results are downloaded and visualized.
Try this example without installation!
import up42
up42.authenticate(project_id="12345", project_api_key="67890")
project = up42.initialize_project()
# Construct workflow
workflow = project.create_workflow(name="30-seconds-workflow", use_existing=True)
#print(up42.get_blocks(basic=True))
input_tasks = ["Sentinel-2 Level 2 (BOA) AOI clipped",
"Land Surface Temperature Estimation"]
workflow.add_workflow_tasks(input_tasks)
# Define the aoi and input parameters of the workflow to run it.
aoi = up42.get_example_aoi(as_dataframe=True)
# Or use up42.draw_aoi(), up42.read_vector_file(), FeatureCollection, GeoDataFrame etc.
input_parameters = workflow.construct_parameters(geometry=aoi,
geometry_operation="bbox",
start_date="2018-01-01",
end_date="2020-12-31",
limit=1)
input_parameters["sentinelhub-s2-aoiclipped:1"].update({"max_cloud_cover":5})
# Price estimation
workflow.estimate_job(input_parameters)
# Run a test job to query data availability and check the configuration.
test_job = workflow.test_job(input_parameters, track_status=True)
# Run the actual job.
job = workflow.run_job(input_parameters, track_status=True)
job.download_results()
job.plot_results(figsize=(6,6), bands=[1], cmap="YlOrBr")
#job.map_results(bands=[1])
For any kind of issues or suggestions please see the documentation, open a github issue or contact us via Email [email protected]