
Show HN: A simple CLI tool to generate satellite images of a location - plant99
https://github.com/plant99/felicette
======
doersino
This is neat!

I’ve built something similar, although my tool can pull its data from any
service that supports tile indexing via the Web Mercator Transform (e.g.
Google Maps, OSM, basically every online mapping service):

[https://github.com/doersino/aerialbot](https://github.com/doersino/aerialbot)

Its original purpose is the creation of Twitter bots like the ones liked
below, but it works well for grabbing detailed satellite maps of arbitrary
areas.

[https://twitter.com/placesfromorbit](https://twitter.com/placesfromorbit)

[https://twitter.com/americasquared](https://twitter.com/americasquared)

[https://twitter.com/baekmanpyeong](https://twitter.com/baekmanpyeong)

[https://twitter.com/nihonmusuukei](https://twitter.com/nihonmusuukei)

~~~
hoyd
Love this, and the bots. I had one running myself for a while, but I missed
the part that grabbed the satellite imagery, do I did that in bulk ahead and
had a folder of them.

[https://twitter.com/FiveEarthColors](https://twitter.com/FiveEarthColors)

------
plant99
Felicette is a dead-simple CLI tool which searches, downloads, generates, and
visualizes satellite imagery in the form of RGB jpegs, taking inputs in the
form of location's name or coordinates. It also has options to visualize CIR
vegetation data.

~~~
ur-whale
Seems nice but sends you to dependency hell when you try to install on Ubuntu.

On 18.04, it can't find the correct openvc On 19.04, same things On 20.04, the
repo doesn't include config for 20.04

Would love to try it, but ...

~~~
plant99
Very weird, can you raise an issue with some logs, I'd love to take a look at
them and see what went wrong. Thanks for looking into the tool.

~~~
ur-whale
Wont have time to do this, nor do I have a github account anymore since that
once welcoming place has been assimilated by the borg.

However, here's a hint: try to install a minimal ubuntu server on a VM and
install/run your package.

You'll quickly discover the _real_ transitive dependency set of your software.

------
Hitton
Off-topic but slightly related, so I'll just post it here in comments.

I've recently discovered pretty cool telnet server. Map in telnet: _telnet
mapscii.me_

~~~
jedberg
That was super cool! They really get all the details.

At first I couldn't figure out how to zoom in. I pressed all they keys. Then I
accidentally moved the mouse over the window and it zoomed in.

So my first thought was, "how the heck do they capture the mouse in the
terminal!".

Then I exited out of it by killing telnet, and noticed that my terminal was
still capturing my mouse input! Just moving the mouse over the terminal put
ASCII codes on the command line.

What is this sorcery?

------
michaelangerman
Felicette was the first cat launched into space on 18 October 1963 as part of
the French Space Program

[https://en.wikipedia.org/wiki/F%C3%A9licette](https://en.wikipedia.org/wiki/F%C3%A9licette)

Definition of felicette

[https://github.com/plant99/felicette](https://github.com/plant99/felicette)

~~~
cocoapuffs7
That is included in the readme

------
prennert
Looks like a great tool, but its dependencies are sufficiently complex to
warrant a Dockerfile. This way it would be very clear what the dependencies
are independent of how the host system is configured.

~~~
milhouse1337
I just pushed a Docker build here:
[https://hub.docker.com/r/milhouse1337/felicette](https://hub.docker.com/r/milhouse1337/felicette)

You can use it like this:

    
    
      docker run -it -v "$PWD"/felicette-data:/root/felicette-data milhouse1337/felicette felicette -l "Montreal"
    

That's a very cool project to play with! Thank you @plant99 for this.

~~~
plant99
Wow, that just makes it a lot simpler for people to test/use. Could you please
share your GitHub username, so I can attribute with a link to the docker image
in the README?

------
kanobo
[https://imgur.com/a/dKc2OlG](https://imgur.com/a/dKc2OlG) \- The example
images for those who don't have want to download a 40mb image or don't use
google drive

~~~
TuringNYC
What are the two variations? One looks like a regular image, is the 2nd an IR
band?

~~~
kanobo
Yes, RGB and CIR. Btw, all the top nav links in the dochuddle site in your bio
are broken and don't do anything.

------
gzu
Looking at the code, it appears to be a nice front end to sat-search
[https://github.com/sat-utils/sat-search](https://github.com/sat-utils/sat-
search)

~~~
plant99
Yes, it uses sat-utils to search STAC. It's a beautiful project.

------
ComodoHacker
Where the data are coming from? Can't find a word about it in README.

~~~
plant99
Oops, will add a section soon. But for now, it gets the data from a public
Landsat 8 AWS storage.

[https://registry.opendata.aws/landsat-8/](https://registry.opendata.aws/landsat-8/)

------
ngcc_hk
Interesting.

Take quite some time to install. And some images are great like `felicette -l
"New York" Some totally blank (real time and dark) felicette -l "Hong Kong"
Some not sure as a bit random like those of Three Gorges Dam using ```
felicette -c 109.5568 31.0390 felicette -c 111.003761 30.823748 felicette -c
110.25 30.95 ``` One has coloured and the other not sure.

I guess this is part of being satellite images?

~~~
plant99
Hmm. Weird, maybe faulty data for some row/path(s).

I'm checking on this, thanks for reporting this. Meanwhile, could you please
raise this as an issue on the repository?

------
zzo38computer
Here are some possibilities to add:

\- Allow farbfeld output (to stdout)

\- Allow specifying your own assignment of bands

\- Allow to skip the colour adjustment if you want to do that separately

\- Ensure it works correctly with a non-Unicode locale

~~~
plant99
Right, thanks a lot for your suggestions.

Points 2, 3 are in the to-do list. Will definitely add 1, 4.

------
Goji452
I'm used to writing latitude first when writing coordinates so I couldn't get
the tool to find any images for a while. Other than that neat tool

~~~
plant99
Oh yes haha, I feel you. I'm using some amazing libraries as dependencies,
created by 'Mapbox'. Now you know why it's (lon, lat) ^^

And thanks for checking it out!

------
DenisM
On a tangent, but any suggestions for a tool to stitch up drone aerial imagery
and use it as a map?

Preferably on the phone/tablet.

~~~
perennate
[https://www.opendronemap.org/](https://www.opendronemap.org/)

Works quite well. Input images must have geo data in the exif metadata like
longitude, latitude, FOV, camera pitch (most drones e.g. Autel and DJI drones
will include this). You need to set it up on a server, then it's a web app
which you could access from a phone/tablet but it involves uploading the
images so it probably won't work well like that.

------
irrational
Sounds like the perfect tool for a spy/hacker/csi TV show.

------
ragona
Hey the images turn out great. That’s really cool!

~~~
plant99
Thank you!

------
kingofpandora
A couple of comments...

> TL;DR: Generate JPEG earth imagery from a location's name/coordinates

It _downloads_ imagery. At first I thought this was a project to simulate
satellite imagery from OSM data or something.

> This tool is for a sentient being who wants to view high-res satellite
> imagery of earth

Landsat is what 30 meters-per-pixel? That's not high-resolution.

~~~
plant99
> It downloads imagery. At first I thought this was a project to simulate
> satellite imagery from OSM data or something.

Will update the README, thanks for pointing it out.

> Landsat is what 30 meters-per-pixel? That's not high-resolution.

With the panchromatic band, we can get 15m resolution. But you're right with
the fact that one can get images with better resolution on any commercial
platforms.

But even OpenMapTiles renders at 15m, I feel. Still have to look into some
docs though, I'm curious.

~~~
perennate
NAIP has 1 m/pixel imagery, only over US.

~~~
plant99
Thanks, I'll look into it, and try integrating the data source with the tool.

------
ykevinator
This is great, thanks for building this

~~~
plant99
Thanks for trying it out. ^^

------
bobwernstein
is it live? Like can a get a pic of a place made at day light in the last 24
hours?

~~~
plant99
Hi, not yet. It searches for all Landsat 8 images on AWS with lowest cloud
cover.

But even at it's full potential, Landsat 8 gives a temporal resolution of 14
days for a location, iirc.

~~~
enriquto
For a little more effort you could "interleave" the Sentinel 2 images as well,
which are of a similar resolution and also have a simple access API.

~~~
plant99
Oh yes, there are plans to integrate Sentinel images as well, but the data
fetch layer has to be worked on to handle auth/AWS config to fetch data from
buckets.

So released with Landsat 8 first, and I think sentinel 2 has better
resolution, up to 10m, if I am not wrong. So it'd be a lot better if Sentinel
2 integration were in-place.

~~~
enriquto
There's also this, if you are interested in downloading timeseries as a whole:
[https://github.com/cmla/tsd](https://github.com/cmla/tsd)

It supports sentinel 1/2/5p, landsat 8 and a few other satellites if you have
the required API access identifiers. The idea is to fetch data not from
buckets but from the actual sources, so the underlying philosophy is a bit
different.

~~~
plant99
This is a gold mine, thanks for sharing!

------
basdftrewq
Are there any example images?

~~~
plant99
[https://github.com/plant99/felicette/wiki/Sample-images-
gene...](https://github.com/plant99/felicette/wiki/Sample-images-generated-by-
felicette)

