No Clocks

No Clocks

4334 bookmarks
Newest
How We Added Geospatial Support To Lance With No New Code
How We Added Geospatial Support To Lance With No New Code
How Lance's Arrow-native architecture enables first-class geospatial support through extension types, GeoDataFusion integration, and R-Tree indexing.
Native GeoArrow vs. WKB Encoding
Parquet's native geospatial support introduces GEOMETRY and GEOGRAPHY logical types, storing geometries in Well-Known Binary (WKB) encoding. WKB is a standard binary serialization that's widely supported across GIS tools, making it an excellent choice for interoperability with the existing geospatial ecosystem.
Lance takes a different approach, storing geometries in the types defined by the GeoArrow extension type specification. For a Point, that means a FixedSizeList of two Float64 coordinates rather than a binary blob. This reflects Lance's Arrow-native architecture: Arrow extension types are preserved end-to-end for seamless data exchange.
WKB in Parquet optimizes for maximum compatibility with existing GIS tools. Any system that understands WKB can immediately work with the data. The format is self-describing and well-standardized, and it provides a smooth transition path for users migrating from GeoParquet to the official Parquet geospatial types.
GeoArrow in Lance optimizes for native columnar access, achieving better read write performance and compression since values are stored in typed columnar arrays and structs rather than rows of WKB blobs. Arrow-native compute engines can work directly with the coordinate arrays, while non-Arrow engines can use GeoArrow libraries to convert at read or write time. This approach aligns with Lance's Arrow-native architecture and delegates the right amount of responsibility to the GeoArrow library rather than reimplementing geospatial encoding in Lance.
Secondary Index vs. Column Statistics
Parquet's geospatial support includes storing bounding box statistics in row group metadata. Each row group records the minimum and maximum extents of the geometries it contains, enabling row group pruning at query time.
Lance does not store statistics about bounding boxes in column metadata. Instead, we delegate this entirely to the R-Tree index. This follows the same index-first strategy we apply to all data types: for example, we also don't provide direct column statistics and bloom filters in file metadata, but we provide zone maps, bloom filters, and other secondary indexes.
Unified Format vs. Layered Architecture
Parquet is a file format that integrates with table formats like Apache Iceberg and Delta Lake. Each layer has its own type system: Parquet defines both physical and logical types, while Iceberg and Delta define their own logical types that map onto Parquet's type system. On top of that, each query engine (Spark, Trino, DuckDB, etc.) implements its own mapping to both the table format and Parquet at the metadata and data processing layers. Geospatial support requires coordination across all these layers.
·lancedb.com·
How We Added Geospatial Support To Lance With No New Code
How to Export AI Chats to Obsidian
How to Export AI Chats to Obsidian
Learn how to export selected AI chat messages to Obsidian with SurfMind and save useful conversations as organized Markdown notes in your vault.
·surfmind.ai·
How to Export AI Chats to Obsidian
eitsupi/arf | DeepWiki
eitsupi/arf | DeepWiki
arf (Alternative R Frontend) is a modern R console written in Rust. It embeds R as a library and provides an enhanced interactive experience while maintaining full compatibility with R's standard REPL
·deepwiki.com·
eitsupi/arf | DeepWiki
GeoLibre
GeoLibre
Lightweight, cloud-native desktop GIS built with Tauri, React, TypeScript, and MapLibre GL JS.
·geolibre.app·
GeoLibre
Fields of The World: A Global Field Boundary Ecosystem
Fields of The World: A Global Field Boundary Ecosystem
FTW is an open ecosystem for agricultural field boundary detection — benchmark datasets, baseline models, inference tools, and web apps. 1.6M+ labeled parcels across 24 countries on four continents.
·fieldsofthe.world·
Fields of The World: A Global Field Boundary Ecosystem
snapr
snapr
·d-morrison.github.io·
snapr
Export Database Tables to Parquet
Export Database Tables to Parquet
Tools for exporting PostgreSQL tables to Parquet files, with support for chunked writes, column type overrides, and timezone-aware timestamp handling. Includes functions for maintaining a local Parquet data library sourced from WRDS (Wharton Research Data Services), with update-checking based on table metadata, and archive management utilities for versioning local data files. See Gow and Ding (2024) "Empirical Research in Accounting: Tools and Methods" .
·iangow.github.io·
Export Database Tables to Parquet
ggplot2 Uncharted
ggplot2 Uncharted
The best way to master dataviz in R.
·ggplot2-uncharted.com·
ggplot2 Uncharted
Querying data from large cloud databases with R and DuckDB | Francisco Rodríguez-Sánchez
Querying data from large cloud databases with R and DuckDB | Francisco Rodríguez-Sánchez
A few years ago I became fascinated with cloud-friendly data formats that allow us to query large online databases without having to download the entire thing. Here is a post from 2021 on accessing spatial data from online cloud-optimised geotiffs using R, terra and gdal.
·frodriguezsanchez.net·
Querying data from large cloud databases with R and DuckDB | Francisco Rodríguez-Sánchez
Jaymin West
Jaymin West
Agentic Engineer. Engineering the future of AI. Currently: Tidemark FDE. Previously: Rowana (acquired).
·jayminwest.com·
Jaymin West
amoeba/dbc-r
amoeba/dbc-r
Contribute to amoeba/dbc-r development by creating an account on GitHub.
·github.com·
amoeba/dbc-r
BBOX Server
BBOX Server
Composable spatial services
·bbox.earth·
BBOX Server
Partitioning strategies for bigger-than-memory spatial data | Dewey Dunnington
Partitioning strategies for bigger-than-memory spatial data | Dewey Dunnington
There’s a great discussion going on in the GeoParquet repo about how exactly to split up GeoParquet datasets for optimal querying. This post is my adventure giving the partition strategies a shot for practicality.
·dewey.dunnington.ca·
Partitioning strategies for bigger-than-memory spatial data | Dewey Dunnington
Documentation
Documentation
hyperextensible Vim-based text editor
·neovim.io·
Documentation
11 Test Smells That Make Your Tests Lie to You
11 Test Smells That Make Your Tests Lie to You
Learn to recognize problems in R test code that cause your test suite to pass while hiding real bugs. Detect those issues and start writing more trustworthy tests.
·jakubsobolewski.com·
11 Test Smells That Make Your Tests Lie to You