chore: import upstream snapshot with attribution
Sync labels / sync (push) Failing after 1m9s
Publish Container Image / Build and publish container image (push) Has been cancelled
Deploy Website / Deploy to GitHub Pages (push) Has been cancelled
Deploy Website / Build website and demo (push) Has been cancelled
Deploy viewer / Deploy viewer proxy to Cloudflare Workers (push) Has been cancelled
Deploy tiles / Deploy planetary tile proxy to Cloudflare Workers (push) Has been cancelled
Deploy collab / Deploy collaboration relay to Cloudflare Workers (push) Has been cancelled
CI / Dependency audit (push) Has been cancelled
CI / E2E smoke (Playwright) (push) Has been cancelled
CI / Validate CITATION.cff (push) Has been cancelled
CI / Build and test (push) Has been cancelled
Sync labels / sync (push) Failing after 1m9s
Publish Container Image / Build and publish container image (push) Has been cancelled
Deploy Website / Deploy to GitHub Pages (push) Has been cancelled
Deploy Website / Build website and demo (push) Has been cancelled
Deploy viewer / Deploy viewer proxy to Cloudflare Workers (push) Has been cancelled
Deploy tiles / Deploy planetary tile proxy to Cloudflare Workers (push) Has been cancelled
Deploy collab / Deploy collaboration relay to Cloudflare Workers (push) Has been cancelled
CI / Dependency audit (push) Has been cancelled
CI / E2E smoke (Playwright) (push) Has been cancelled
CI / Validate CITATION.cff (push) Has been cancelled
CI / Build and test (push) Has been cancelled
This commit is contained in:
@@ -0,0 +1,57 @@
|
||||
# Spatial SQL
|
||||
|
||||
The [SQL Workspace](../user-guide/sql-workspace.md) lets you analyze data with DuckDB Spatial SQL and add the results to the map. It runs on DuckDB-WASM, so it works in the browser as well as the desktop app. Open it from **Processing → SQL Workspace**.
|
||||
|
||||
## 1. Query a loaded layer
|
||||
|
||||
Every loaded vector layer is a queryable table. Load the sample countries layer (see [Your First Map](first-map.md)), then run:
|
||||
|
||||
```sql
|
||||
SELECT NAME, CONTINENT, GDP_MD_EST
|
||||
FROM countries
|
||||
ORDER BY GDP_MD_EST DESC
|
||||
LIMIT 10;
|
||||
```
|
||||
|
||||
Click **Run** to see the ten countries with the highest estimated GDP.
|
||||
|
||||
!!! note "Sample dataset columns"
|
||||
`NAME`, `CONTINENT`, `POP_EST`, and `GDP_MD_EST` are Natural Earth field names in the sample `countries.parquet`, whose geometry column is `geom`. A different dataset will have its own column names. To discover them, run `DESCRIBE SELECT * FROM 'your-file-url'` first.
|
||||
|
||||
## 2. Query a remote file directly
|
||||
|
||||
You do not have to load a file first. The Workspace detects a bare URL in a `FROM` clause and wraps it in the right reader automatically, then streams the file over HTTP range requests so you do not download it in full. This bare-URL shorthand is a SQL Workspace convenience; in the standard DuckDB CLI you would write `read_parquet('https://...')` explicitly.
|
||||
|
||||
```sql
|
||||
SELECT COUNT(*) AS n
|
||||
FROM https://data.source.coop/giswqs/opengeos/countries.parquet;
|
||||
```
|
||||
|
||||
## 3. Use spatial functions
|
||||
|
||||
The spatial extension is loaded, so `ST_*` functions are available. For example, compute area and keep the `geom` column so the result can be mapped:
|
||||
|
||||
```sql
|
||||
-- area is in square degrees because the data is in EPSG:4326;
|
||||
-- the ranking is valid, but use ST_Area_Spheroid(geom) / 1e6 for km2.
|
||||
SELECT NAME, ST_Area(geom) AS area, geom
|
||||
FROM https://data.source.coop/giswqs/opengeos/countries.parquet
|
||||
WHERE CONTINENT = 'Africa'
|
||||
ORDER BY area DESC;
|
||||
```
|
||||
|
||||
## 4. Add the result to the map
|
||||
|
||||
When a query returns a geometry column, use **add to map** to create a new layer from the result, optionally naming it. The result layer supports [identify, selection, and the attribute table](../user-guide/attribute-table.md) like any vector layer, and you can add several result layers at once.
|
||||
|
||||
## 5. Export
|
||||
|
||||
Export the query result as **CSV** or **GeoParquet** straight from the workspace. See [SQL Workspace](../user-guide/sql-workspace.md).
|
||||
|
||||
!!! tip "Sample queries and history"
|
||||
Use the **Sample queries** menus to start from a working query, and the **history** to rerun a previous one.
|
||||
|
||||
## Next steps
|
||||
|
||||
- Do equivalent geometry operations with the menu-driven [Vector Analysis](vector-analysis.md) tools.
|
||||
- Convert results to cloud-native formats in [Cloud-Native Data](cloud-native-data.md).
|
||||
Reference in New Issue
Block a user