Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 197b13d

Browse files
committed
Merge branch 'main' into development
2 parents 4a80a60 + 84ddfb2 commit 197b13d

File tree

3 files changed

+132
-24
lines changed

3 files changed

+132
-24
lines changed

utils/landsat.py

Lines changed: 33 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,7 @@
11
#
2-
# Test for landsat stac server
3-
import geopandas as gpd
4-
import numpy as np
5-
import pandas as pd
6-
import pystac
2+
# HLS LANDSAT test
73
from pystac_client import Client
84

9-
105
def BuildSquare(lon, lat, delta):
116
c1 = [lon + delta, lat + delta]
127
c2 = [lon + delta, lat - delta]
@@ -22,26 +17,40 @@ def BuildSquare(lon, lat, delta):
2217

2318
if __name__ == '__main__':
2419

25-
stacServer = "https://landsatlook.usgs.gov/stac-server"
26-
LandsatSTAC = Client.open(stacServer, headers=[])
20+
catalog = Client.open("https://cmr.earthdata.nasa.gov/stac/LPCLOUD")
21+
22+
timeRange = '2020-01-01/2022-01-01'
23+
geometry = BuildSquare(-178, 50, 1)
24+
mybbox = [-179,41,-177,51]
25+
26+
print("Searching with bbox...")
27+
28+
results = catalog.search(collections=['HLSS30.v2.0'],
29+
bbox = mybbox,
30+
datetime=timeRange)
31+
print(f"HLSS30: {results.matched()} items found")
32+
33+
results = catalog.search(collections=['HLSL30.v2.0'],
34+
bbox = mybbox,
35+
datetime=timeRange)
36+
print(f"HLSL30: {results.matched()} items found")
2737

28-
for collection in LandsatSTAC.get_collections():
29-
print(collection)
38+
results = catalog.search(collections=['HLSS30.v2.0', 'HLSL30.v2.0'],
39+
bbox = mybbox,
40+
datetime=timeRange)
41+
print(f"Results matched: {results.matched()}")
42+
items = [i.to_dict() for i in results.get_items()]
43+
print(f"Items fetched: {len(items)}")
3044

31-
geometry = BuildSquare(-59.346271, -34.233076, 0.04)
32-
timeRange = '2019-06-01/2021-06-01'
45+
print("Searching with Intersects... But it is not working...")
46+
results = catalog.search(collections=['HLSS30.v2.0', 'HLSL30.v2.0'],
47+
datetime=timeRange,
48+
intersects=geometry)
3349

34-
LandsatSearch = LandsatSTAC.search (
35-
intersects = geometry,
36-
datetime = timeRange,
37-
query = ['eo:cloud_cover95'],
38-
collections = ["landsat-c2l2-sr"] )
50+
print(f"{results.url_with_parameters()}")
51+
print(f"Results matched: {results.matched()}")
52+
items = [i.to_dict() for i in results.get_items()]
53+
print(f"Items fetched: {len(items)}")
3954

40-
Landsat_items = [i.to_dict() for i in LandsatSearch.get_items()]
41-
print(f"{len(Landsat_items)} Landsat scenes fetched")
4255

43-
for item in Landsat_items:
44-
red_href = item['assets']['red']['href']
45-
red_s3 = item['assets']['red']['alternate']['s3']['href']
46-
# print(red_href)
47-
print(red_s3)
56+
print("Done!")

utils/landsat1.py

Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
#
2+
# HLS LANDSAT test
3+
from pystac_client import Client
4+
5+
def BuildSquare(lon, lat, delta):
6+
c1 = [lon + delta, lat + delta]
7+
c2 = [lon + delta, lat - delta]
8+
c3 = [lon - delta, lat - delta]
9+
c4 = [lon - delta, lat + delta]
10+
geometry = {"type": "Polygon", "coordinates": [[ c1, c2, c3, c4, c1 ]]}
11+
return geometry
12+
13+
14+
###############################################################################
15+
# MAIN
16+
###############################################################################
17+
18+
if __name__ == '__main__':
19+
20+
catalog = Client.open("https://cmr.earthdata.nasa.gov/stac/LPCLOUD")
21+
22+
timeRange = '2020-01-01/2022-01-01'
23+
geometry = BuildSquare(-178, 50, 1)
24+
mybbox = [-179,41,-177,51]
25+
26+
print("Searching with bbox...")
27+
28+
results = catalog.search(collections=['HLSS30.v2.0'],
29+
bbox = mybbox,
30+
datetime=timeRange)
31+
print(f"HLSS30: {results.matched()} items found")
32+
33+
results = catalog.search(collections=['HLSL30.v2.0'],
34+
bbox = mybbox,
35+
datetime=timeRange)
36+
print(f"HLSL30: {results.matched()} items found")
37+
38+
results = catalog.search(collections=['HLSS30.v2.0', 'HLSL30.v2.0'],
39+
bbox = mybbox,
40+
datetime=timeRange)
41+
print(f"Results matched: {results.matched()}")
42+
items = [i.to_dict() for i in results.get_items()]
43+
print(f"Items fetched: {len(items)}")
44+
45+
print("Searching with Intersects... But it is not working...")
46+
results = catalog.search(collections=['HLSS30.v2.0', 'HLSL30.v2.0'],
47+
datetime=timeRange,
48+
intersects=geometry)
49+
50+
print(f"{results.url_with_parameters()}")
51+
print(f"Results matched: {results.matched()}")
52+
items = [i.to_dict() for i in results.get_items()]
53+
print(f"Items fetched: {len(items)}")
54+
55+
56+
print("Done!")

utils/landsat2.py

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
#
2+
# HLS LANDSAT test
3+
from pystac_client import Client
4+
5+
def BuildSquare(lon, lat, delta):
6+
c1 = [lon + delta, lat + delta]
7+
c2 = [lon + delta, lat - delta]
8+
c3 = [lon - delta, lat - delta]
9+
c4 = [lon - delta, lat + delta]
10+
geometry = {"type": "Polygon", "coordinates": [[ c1, c2, c3, c4, c1 ]]}
11+
return geometry
12+
13+
14+
###############################################################################
15+
# MAIN
16+
###############################################################################
17+
18+
if __name__ == '__main__':
19+
20+
catalog = Client.open("https://landsatlook.usgs.gov/stac-server")
21+
22+
timeRange = '2019-06-01/2021-06-01'
23+
geometry = BuildSquare(-59.346271, -34.233076, 0.04)
24+
# geometry = BuildSquare(-178, 50, 1)
25+
mybbox = [-179,41,-177,51]
26+
27+
# print("Searching with Intersects...")
28+
# results = catalog.search(collections=['HLSS30.v2.0', 'HLSL30.v2.0'],
29+
# datetime=timeRange,
30+
# intersects=geometry)
31+
# print(f"{results.url_with_parameters()}")
32+
# print(f"{results.matched()} items found")
33+
34+
results = catalog.search (
35+
intersects = geometry,
36+
datetime = timeRange,
37+
query = ['eo:cloud_cover95'],
38+
collections = ["landsat-c2l2-sr"] )
39+
40+
Landsat_items = [i.to_dict() for i in results.get_items()]
41+
print(f"{len(Landsat_items)} Landsat scenes fetched")
42+
43+
print("Done!")

0 commit comments

Comments
 (0)