Git Product home page Git Product logo

pythonfromspace's Introduction

Python from Space: Analyzing Open Satellite Imagery Using the Python Ecosystem

This repository contains the slides and Jupyter notebooks for Kat's "Python from Space" talk at Pycon 2017 in Portland, Oregon.

Abstract

Earth imaging satellites, just like our computers, are shrinking and becoming more ubiquitous than ever before. It is now possible to obtain open satellite data on a daily if not weekly basis and for this data to be put to work; helping us better understand our planet and quickly respond to disaster situations.

In this talk, we will work through Jupyter notebooks that cover the satellite data ecosystem and the python tools that can be used to sift through and analyze that data. Topics include python tools for using Open Street Maps data, the Geospatial Data Abstraction Library (GDAL), and OpenCV and NumPy for image processing. This talk is intended for novice and intermediate python developers who are interested in using data science and satellite imagery for social good and fundamental scientific research.

Contents

  • Slides (pdf for download): An overview of satellites and satellite terminology, the basics of remote sensing, sources of free satellite imagery, and tools for processing and analyzing images.
  • Requirements: A list of Python libraries you'll need for this project.
  • The Basics: Setting up your development environment; making a slippy map and defining an area of interest on the map; searching, filtering, and downloading satellite imagery that intersects with the area of interest.
  • Data: Links to sources of public and private satellite imagery
  • Open Street Map Example: Querying Open Street Map for all the parks in Portland; finding and downloading satellite imagery of those parks; analyzing how green each park os and visualizing daily changes in each park "greenness" on a slippy map.
  • Making Movies: Wayfinding from park to park; creating a masterpiece movie of your "Great Portland Park Tour of 2017."

About the imagery used in these notebooks

The Planet imagery used in these notebooks covers areas of interest in Portland, Oregon. Why? Pycon was in Portland this year and local examples are cool! If you decide to sign up for a Planet Explorer account (and API key), you should know that the free account gives you access to a lot of data-- just not data in Oregon. Instead you'll get access to several years' worth of imagery for the entire state of California under a CC BY-SA 4.0 license. It's part of Planet's Open California program.

pythonfromspace's People

Contributors

danabauer avatar kscottz avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

pythonfromspace's Issues

Images

Hi , do you know about satellite subsurface images

Using free alternate to Planet

Hi,

I'm running in the following issue while tying to activate the product:
NoPermission: {"general": [{"message": "Download quota has been exceeded."}], "field": {}}

I guess the terms of use of Planet's free trial must be different from we this code was written.
I was wondering if there other free alternative and what to do to use them. I'm new the the GIS field so if someone could point me to some good online resources I would greatly appreciate it. To give you more context: I would be interested to layer topological, land use and imagery data, draw some shape to either mark location, mark feature or also overwrite the land use data.

Thanks

NDVI Example Missing

Katherine,

Awesome talk at PyCon 2K17. Noticed you used RGB instead of NDVI in your talk to look at greenest parks in Portland - this documentation has NDVI listed as the correct way to do this but the link does not currently work. For the open satellite data this would be cool to see!

Have you implemented this already (with the NIR capable satellite data)?

Make a slippy map to get GeoJSON -- Does not display the map

I have created an account on planet.com.
Copied the api key from https://www.planet.com/account/#/ into a file called apikeys.json inside the root of this project.

{"PLANET_API_KEY":"<api key>"}

But when I execute the second code snippet the notebook failed to get the tiles. In the google chrome dev tools I can see the requests being made to :

But this URLs return Unauthorized.

Unable to get results for ` client.get_assets_by_id('PSScene3Band', <scene_id>)`

First, thank you for the amazing talk at PyCon :-D

I signed up for a Planet api key by creating an account here: https://www.planet.com/account/ and I am following your demo, but I am blocked when we make a call to client.get_assets_by_id('PSScene3Band', <scene_id>) (in the call to get_products on In [31] of your TheBasics.ipynb notebook).

client.get_assets_by_id returns an empty object. It appears to make an HTTP GET to https://api.planet.com/data/v1/item-types/PSScene3Band/items/<scene_id>/assets/, so I explored that endpoint a bit, and it seems to be an access issue.

For example, here is my call (api_key omitted for security): https://api.planet.com/data/v1/item-types/PSScene3Band/items/20170520_181725_1044/assets/?api_key=<api_key> but here is my response:

{"message": "Please enter your API key.", "errors": []}

Any suggestions about how to get a response here would be great.

Make a slippy map to get GeoJSON and querying

Hi,

I am trying to run thebasics.ipynb and in the make a slippy map section the drawhandler is not being registed and the actionCount remains at 0. This affects the next part of the code since the APIs is a null array.

`KeyError Traceback (most recent call last)
in ()
----> 1 print (AOIs[1])
2 myAOI = AOIs[1]["geometry"]
3
4 # build a query using the AOI and
5 # a cloud_cover filter that excludes 'cloud free' scenes

KeyError: 1`

What is the json file I need to read?

`api_keys = json.load(open("apikeys.json",'r'))
client = api.ClientV1(api_key=api_keys["PLANET_API_KEY"])

  1. What is the apikeys.json file I should? I don't have any such file`.
    2, Should I paste my planet API key in place of PLANET_API_KEY?

Please help me
Thank you

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.