Summary
Let the delimited-text import path geocode a CSV that has addresses instead of coordinates, turning it into a point layer on load.
Why
Importing a CSV today requires longitude and latitude columns (or projected easting/northing with a source CRS, added in v2.3). A spreadsheet of street addresses — far and away the most common form of tabular data non-GIS users have — cannot become a map layer in one step.
The pieces are all present and shipped:
- A multi-provider geocoding abstraction with forward, batch, and reverse geocoding tools.
- CSV-without-coordinates already loads as a standalone attribute table (v2.0), so the data lands in the app; it just has nowhere to go from there.
So the user's path today is: import the CSV as a table, find the batch geocoding tool, run it against the table, then add the result. That is three steps and a tool nobody knows exists, for what should be a checkbox on the import dialog.
Proposal
In the delimited-text Add Data panel, alongside the existing "coordinate columns" and "projected easting/northing" modes, add an Addresses mode:
- Pick the address column, or pick several columns to concatenate (street / city / state / postal code) — a very common shape.
- Optional country hint to improve match rates.
- Provider picked from the existing geocoding provider abstraction, defaulting to the configured one.
- Progress with a running count while batch geocoding, and cancellation.
Results handling
- Write the match result back onto each feature:
geocode_score/confidence, matched address, and provider, so quality is inspectable in the attribute table.
- Rows that fail to match are kept, flagged, and reported in a short summary ("428 of 450 geocoded"). They should not be silently dropped — a missing row on a map is much worse than a visible failure.
- Offer to add the failures as a filtered view so they can be fixed and re-run.
Scope notes
- Respect provider rate limits and terms; batch geocoding a 50k-row CSV against a public endpoint should warn before starting.
- Cache results within a session so re-importing the same file does not re-query.
Effort
Small — connecting two shipped subsystems in the dialog that already has both halves.
Summary
Let the delimited-text import path geocode a CSV that has addresses instead of coordinates, turning it into a point layer on load.
Why
Importing a CSV today requires longitude and latitude columns (or projected easting/northing with a source CRS, added in v2.3). A spreadsheet of street addresses — far and away the most common form of tabular data non-GIS users have — cannot become a map layer in one step.
The pieces are all present and shipped:
So the user's path today is: import the CSV as a table, find the batch geocoding tool, run it against the table, then add the result. That is three steps and a tool nobody knows exists, for what should be a checkbox on the import dialog.
Proposal
In the delimited-text Add Data panel, alongside the existing "coordinate columns" and "projected easting/northing" modes, add an Addresses mode:
Results handling
geocode_score/confidence, matched address, and provider, so quality is inspectable in the attribute table.Scope notes
Effort
Small — connecting two shipped subsystems in the dialog that already has both halves.