Skip to content

🌎 Python SDK for UP42, the geospatial marketplace and developer platform.

License

Notifications You must be signed in to change notification settings

shahin-jafarzadeh/up42-py

 
 

Repository files navigation

Python SDK for UP42, the geospatial marketplace and developer platform.

Documentation   •   UP42.com   •   Support

Highlights

  • 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)

Installation & Documentation

See the documentation for getting started guides, examples and the code reference.

The package requires Python > 3.6.

pip install up42-py

30-second Example

The UP42 Python package uses nine classes, representing the hierarchical structure of UP42: Project > Workflow > Job > JobTask | JobCollection | Catalog > Order | Storage > Asset.

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! Binder

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 L2A (GeoTIFF)",
               "Sharpening Filter"]
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["esa-s2-l2a-gtiff: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))

Support

For any kind of issues or suggestions please see the documentation, open a github issue or contact us via Email support@up42.com

About

🌎 Python SDK for UP42, the geospatial marketplace and developer platform.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 99.6%
  • Other 0.4%