Replies: 2 comments 3 replies
-
There's a been a bit of an overhaul of the geoarrow Rust library, and I've been redoing the Parquet implementation (e.g. #1089, #1172). I'm working on #1170, which will update the Python bindings for reading GeoParquet |
Beta Was this translation helpful? Give feedback.
0 replies
-
As of latest main (with #1176), this is newly supported again. Here's an example of accessing Overture building data, in this case on Azure but it's easy to swap out the AzureStore for an from obstore.store import AzureStore
from geoarrow.rust.io import GeoParquetDataset
import requests
import lonboard
# Fetch the manifest
manifest_url = "https://raw.githubusercontent.com/OvertureMaps/explore-site/refs/heads/main/site/src/manifests/2025-04-23.json"
manifest = requests.get(manifest_url).json()
# parse the manifest
path = "2025-04-23.0"
buildings_theme = [x for x in manifest["themes"] if x["name"] == "buildings"][0]
path += buildings_theme["relative_path"]
buildings_type = [x for x in buildings_theme["types"] if x["name"] == "building"][0]
path += buildings_type["relative_path"]
store = AzureStore(
account_name="overturemapswestus2", container_name="release", skip_signature=True
)
files = store.list(path).collect()
# open the dataset
dataset = GeoParquetDataset(files, store=store)
# spatial read
table = dataset.read(bbox=(-70.720192, -33.492286, -70.602635, -33.388274))
# visualize it
lonboard.viz(table) ![]() |
Beta Was this translation helpful? Give feedback.
3 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
Trying to read data from Overturemaps.org using
geoarrow.rust.io
in Python 3.12. Tried the Python lines from the example Jupyter notebook (withoutlonboard
), but stumbled on at least these issues:from geoarrow.rust.io.store import S3Store
S3Store
seems obsolete, probablyObjectStore
now"https://raw.githubusercontent.com/OvertureMaps/io-site/refs/heads/manifest_driven_downloads/site/src/09-18-manifest.json"
: repo name is nowexplore-site
.NB Found a working, recent manifest:
"https://raw.githubusercontent.com/OvertureMaps/explore-site/refs/heads/main/site/src/manifests/2025-04-23.json"
I mainly stumbled on how to populate what I think now should be
geoarrow.rust.io.ObjectStore
:ObjectStore
options
dictSomething like:
Would be nice to have an example in pure Python without Jupyter. Once I know the pattern I could contribute such an example to this repo as I am researching different "Parquet" access and manipulation from Python. Thanks!
Beta Was this translation helpful? Give feedback.
All reactions