Command reference
Every command of the free program and of gridpin-pro, with its arguments and flags, as the programs print them with --help (gridpin 0.9.0). Examples are in the documentation; this page is the complete list.
gridpin query
Single forward query
$ gridpin query [OPTIONS] <INDEX> <Q>
| Option | What it does |
|---|---|
-k <K> | [default: 10] |
--near <LAT,LON> | optional WGS84 focus; widens cityless homonyms and breaks equal-quality ties |
--poi <POI> | optional POI layer (second .bin): cascades when the address result is weak |
--also <ALSO> | a sheet of one's own places (`gridpin build --places`), asked before the address sheet |
--also-after <ALSO_AFTER> | a sheet of places asked only when the address sheet has no answer or only a weak town (the world sheet of towns: `prep/overture_world_places.py`) |
--aliases <ALIASES> | your own names for places: a CSV with the columns name,address, read before the sheet |
--with <FIELDS> | extra answer fields: h3[:res], geohash[:len], placekey, codes, street_point, links, provenance, place[:level], verdict, postal[:cc], crs:EPSG:<code>, exists, area, unit |
--strict | keep only answers that match the query as written (no fuzzy street, interpolation or neighbour) |
--lenient | let a street name of 9-11 letters be two edits away instead of one |
--abbrev <TSV> | your own abbreviations, written out before the query: a TSV of short form and full form |
Examples and when to use it: documentation.
gridpin reverse
Reverse geocoding: coordinates -> nearest indexed addresses (approximate; see precision/distance_m)
$ gridpin reverse [OPTIONS] <INDEX> <LAT> <LON>
| Option | What it does |
|---|---|
-k <K> | [default: 3] |
--with <FIELDS> | extra answer fields: h3[:res], geohash[:len], placekey, codes, street_point, links, provenance, place[:level], verdict, postal[:cc], crs:EPSG:<code>, exists, area, unit |
Examples and when to use it: documentation.
gridpin batch
Batch mode: JSONL {"q": ...} in -> JSONL {"results": [...]} out, or a CSV/TSV file in -> the same file with gp_* answer columns out; order preserved
$ gridpin batch [OPTIONS] <INDEX> <INPUT> <OUTPUT>
| Option | What it does |
|---|---|
-k <K> | candidates per query (default 10 for JSONL, 1 for CSV/TSV) |
--format <FORMAT> | input format: jsonl, csv or tsv (default: from the extension; .csv, .tsv/.tab, anything else jsonl); a .geojson or .geojsonl file is read as GeoJSON features |
--output-format <OUTPUT_FORMAT> | output format for a CSV/TSV input: csv or tsv (default: the input format) |
--column <COLUMN> | CSV/TSV: the address column, or several joined with ", " ("street,city,postcode"); default: the one column named address, query or q |
--columns <COLUMNS> | CSV/TSV: the address already split into fields, sent to the engine as such: street=Street,number=No,city=Town,region=State,postcode=ZIP (street required, the rest optional) |
--reverse | CSV/TSV: each row is a point, answered by its nearest address; adds gp_distance_m |
--lat-column <LAT_COLUMN> | with --reverse: the latitude column (default: lat or latitude) |
--lon-column <LON_COLUMN> | with --reverse: the longitude column (default: lon, lng or longitude) |
--aliases <ALIASES> | your own names for places: a CSV with the columns name,address, read before the sheet |
--delimiter <DELIMITER> | CSV/TSV: field delimiter of the input (one character or `tab`; default , for CSV and tab for TSV) |
--dump | dump candidate features (rank training) |
--diagnose | observe address parsing and candidate stages without changing results |
--poi <POI> | optional POI layer (second .bin): cascades when the address result is weak |
--also <ALSO> | a sheet of one's own places (`gridpin build --places`), asked before the address sheet |
--also-after <ALSO_AFTER> | a sheet of places asked only when the address sheet has no answer or only a weak town (the world sheet of towns: `prep/overture_world_places.py`) |
--with <FIELDS> | extra answer fields: h3[:res], geohash[:len], placekey, codes, street_point, links, provenance, place[:level], verdict, postal[:cc], crs:EPSG:<code>, exists, area, unit |
--strict | keep only answers that match the query as written (no fuzzy street, interpolation or neighbour) |
--lenient | let a street name of 9-11 letters be two edits away instead of one |
--abbrev <TSV> | your own abbreviations, written out before the query: a TSV of short form and full form |
--aggregate <CELLS> | write counts by cell instead of rows, no point anywhere: h3:<level>, geohash:<length> or zones.geojson |
--min-count <MIN_COUNT> | with --aggregate: cells with fewer rows go into the line "other" [default: 5] |
--mask <SPEC> | move every point at random in a ring, metres: donut:200-500, and optionally k:5 (at least 5 addresses of the sheet within the move); street and number are left out |
--seed <SEED> | with --mask: the seed of the draw, so a run can be repeated (default: from the clock, printed) |
--lines | read one address per line on stdin and write one line per address on stdout, flushed at once: the top answer as JSON or an empty line (TabSeparated escapes); input and output are `-`. For a ClickHouse executable function or any pipe |
--receipt | write OUTPUT.receipt.json beside the output: engine version, SHA-256 of the sheet, the input and the output, the command line and the time — the method of the step, in a form one can check |
--replace-geometry | GeoJSON input: put the answer's point in place of each Feature's geometry |
--resume | JSONL input: continue a run that was cut off — keep the rows in OUTPUT.partial (or in OUTPUT) and answer the rest |
--quiet | no progress line on stderr |
Examples and when to use it: documentation.
gridpin serve
Serve one sheet over local HTTP: /v1/geocode, /v1/reverse and Nominatim-compatible /search, /reverse, /status. Prints `listening on http://HOST:PORT` first
$ gridpin serve [OPTIONS] [INDEX]
| Option | What it does |
|---|---|
--poi <POI> | optional POI layer (second .bin): cascades when the address result is weak |
--also <ALSO> | a sheet of one's own places (`gridpin build --places`), asked before the address sheet |
--also-after <ALSO_AFTER> | a sheet of places asked only when the address sheet has no answer or only a weak town (the world sheet of towns: `prep/overture_world_places.py`) |
--sheets <SHEETS> | more country sheets in the same server: a query is asked of the sheet `country=` names, or of the one whose country closes the query (a shared table of country names and ISO codes), otherwise of the first sheet; answers carry `country_<cc>` |
--host <HOST> | address to listen on; 127.0.0.1 keeps the server on this machine [default: 127.0.0.1] |
--port <PORT> | port; 0 picks a free one (printed on the first line) [default: 8080] |
--threads <THREADS> | connections handled at once (default: cores minus two, at least 1) |
--aliases <ALIASES> | your own names for places: a CSV with the columns name,address, read before the sheet |
--probe <PROBE> | only GET this http:// URL and exit 0 on status 200 (container health checks) |
Examples and when to use it: documentation.
gridpin parse
How the engine reads an address line: first-hypothesis words, postcode, house number, top answer
$ gridpin parse [OPTIONS] <INDEX> <Q>
| Option | What it does |
|---|---|
--poi <POI> | optional POI layer (second .bin): cascades when the address result is weak |
Examples and when to use it: documentation.
gridpin same
Do two address lines name the same house, street or commune? (`--pairs`: a JSONL file of {"a","b"})
$ gridpin same [OPTIONS] <INDEX> [LINES] [LINES]...
| Argument | What it does |
|---|---|
<INDEX> | [LINES] [LINES]... the two lines; or with --pairs, the input and output JSONL files |
| Option | What it does |
|---|---|
--pairs | treat the two arguments as an input file of {"a": ..., "b": ...} lines and an output file |
--poi <POI> | optional POI layer (second .bin): cascades when the address result is weak |
Examples and when to use it: documentation.
gridpin exists
Does the address exist in the sheet: yes, maybe or no, and why
$ gridpin exists <INDEX> <Q>
Examples and when to use it: documentation.
gridpin explain
Why the engine answered as it did: the reading, the verdicts, the candidates and what they lost on
$ gridpin explain [OPTIONS] <INDEX> <Q>
| Option | What it does |
|---|---|
--format <FORMAT> | text (default) or json [default: text] |
Examples and when to use it: documentation.
gridpin extract
Addresses in free text (a letter, a delivery note, an answer of a model), each confirmed by the sheet
$ gridpin extract [OPTIONS] <INDEX>
| Option | What it does |
|---|---|
--text <TEXT> | the text file to read (`-`: standard input) |
--input <INPUT> | a CSV whose column --column holds one text per row |
--column <COLUMN> | — |
--verify | also report the addresses with a number the sheet does not have, with a reason |
Examples and when to use it: documentation.
gridpin format
The top answer laid out as the post of the sheet's country writes an address
$ gridpin format [OPTIONS] <INDEX> <Q>
| Option | What it does |
|---|---|
--layout <LAYOUT> | the postal layout: a country code of `postal_formats.tsv` (de, fr, us, br, ...), `default` (street, number, postcode, town) or `sheet`: the layout of the sheet's country [default: sheet] |
--out <OUT> | what to print: `postal` (the layout above) or `iso20022` (the ISO 20022 `PstlAdr` as JSON: mode structured, hybrid or none, the elements, the checks and whether the address exists) [default: postal] |
--xml | with `--out iso20022`: the `<PstlAdr>` element as XML instead of JSON |
Examples and when to use it: documentation.
gridpin list
Addresses of a street, a postcode, a circle, a box or a polygon, as a table
$ gridpin list [OPTIONS] <INDEX>
| Option | What it does |
|---|---|
--street <STREET> | a street as you would write it; needs --city or --postcode |
--city <CITY> | a commune by name |
--postcode <POSTCODE> | — |
--near <LAT,LON,METERS> | a circle: LAT,LON,METERS |
--bbox <MINLON,MINLAT,MAXLON,MAXLAT> | a box: MINLON,MINLAT,MAXLON,MAXLAT |
--polygon <FILE> | a GeoJSON file with a Polygon or MultiPolygon |
--region <REGION> | a region by name, from the polygon file <sheet>_admin.bin beside the sheet |
--format <FORMAT> | csv, jsonl, geojsonl, geojson or gpx (default: from the -o extension, else csv) |
--limit <LIMIT> | stop after this many addresses |
-o, --output <OUTPUT> | output file (default: standard output) |
Examples and when to use it: documentation.
gridpin export
Copy addresses of a region, a box, a polygon or the whole sheet to a file, with the sheet's licence. For Parquet: DuckDB reads the CSV (see the documentation)
$ gridpin export [OPTIONS] --output <OUTPUT> <INDEX>
| Option | What it does |
|---|---|
--street <STREET> | a street as you would write it; needs --city or --postcode |
--city <CITY> | a commune by name |
--postcode <POSTCODE> | — |
--near <LAT,LON,METERS> | a circle: LAT,LON,METERS |
--bbox <MINLON,MINLAT,MAXLON,MAXLAT> | a box: MINLON,MINLAT,MAXLON,MAXLAT |
--polygon <FILE> | a GeoJSON file with a Polygon or MultiPolygon |
--region <REGION> | a region by name, from the polygon file <sheet>_admin.bin beside the sheet |
--all | the whole sheet |
--format <FORMAT> | csv, jsonl, geojsonl, geojson or gpx (default: from the -o extension, else csv) |
-o, --output <OUTPUT> | — |
Examples and when to use it: documentation.
gridpin sample
A random sample of real addresses, for test data; the same --seed gives the same addresses
$ gridpin sample [OPTIONS] <INDEX>
| Option | What it does |
|---|---|
--street <STREET> | a street as you would write it; needs --city or --postcode |
--city <CITY> | a commune by name |
--postcode <POSTCODE> | — |
--near <LAT,LON,METERS> | a circle: LAT,LON,METERS |
--bbox <MINLON,MINLAT,MAXLON,MAXLAT> | a box: MINLON,MINLAT,MAXLON,MAXLAT |
--polygon <FILE> | a GeoJSON file with a Polygon or MultiPolygon |
--region <REGION> | a region by name, from the polygon file <sheet>_admin.bin beside the sheet |
--n <N> | how many addresses [default: 1000] |
--seed <SEED> | default: the clock |
--format <FORMAT> | csv, jsonl, geojsonl, geojson or gpx (default: from the -o extension, else csv) |
-o, --output <OUTPUT> | output file (default: standard output) |
Examples and when to use it: documentation.
gridpin stats
How many addresses each grid cell of 0.01 degree holds: where a sheet is dense, thin or empty
$ gridpin stats [OPTIONS] <INDEX>
| Option | What it does |
|---|---|
--street <STREET> | a street as you would write it; needs --city or --postcode |
--city <CITY> | a commune by name |
--postcode <POSTCODE> | — |
--near <LAT,LON,METERS> | a circle: LAT,LON,METERS |
--bbox <MINLON,MINLAT,MAXLON,MAXLAT> | a box: MINLON,MINLAT,MAXLON,MAXLAT |
--polygon <FILE> | a GeoJSON file with a Polygon or MultiPolygon |
--region <REGION> | a region by name, from the polygon file <sheet>_admin.bin beside the sheet |
--format <FORMAT> | csv or geojson (default: from the -o extension, else csv) |
-o, --output <OUTPUT> | output file (default: standard output) |
Examples and when to use it: documentation.
gridpin nearest
For each row of the first file, the nearest rows of the second by straight-line distance. A file with lat and lon columns is read as points; other files are geocoded on --sheet
$ gridpin nearest [OPTIONS] <ROWS> <LIST>
| Option | What it does |
|---|---|
--sheet <SHEET> | the sheet to geocode addresses on, when a file has no coordinates |
--k <K> | [default: 1] |
--max-km <MAX_KM> | leave out anything farther than this |
--id-column <ID_COLUMN> | the column of the second file that names a row (default: id, else its line number) |
--rows-column <ROWS_COLUMN> | the address column of the first file |
--list-column <LIST_COLUMN> | the address column of the second file |
-o, --output <OUTPUT> | output file (default: standard output) |
Examples and when to use it: documentation.
gridpin join
Give each row the properties of the zone it falls in, from a GeoJSON file of polygons. A file with lat and lon columns is read as points; another is geocoded on --sheet
$ gridpin join [OPTIONS] <ROWS> <ZONES>
| Option | What it does |
|---|---|
--sheet <SHEET> | the sheet to geocode addresses on, when the file has no coordinates |
--column <COLUMN> | the address column |
--property <PROPERTY> | a property to copy; repeat for several (default: every property) |
-o, --output <OUTPUT> | output file (default: standard output) |
Examples and when to use it: documentation.
gridpin cluster
Delivery zones and rounds: k-means of the points of a CSV (lat, lon columns), sizes kept under --max-size
$ gridpin cluster [OPTIONS] --k <K> --out <OUT> <INPUT>
| Option | What it does |
|---|---|
--k <K> | — |
--max-size <MAX_SIZE> | — |
--seed <SEED> | [default: 1] |
-o, --out <OUT> | — |
--geojson <GEOJSON> | also the convex hull of each zone (GeoJSON) |
Examples and when to use it: documentation.
gridpin postcodes
An outline of each postcode, drawn from the houses' H3 cells (GeoJSON)
$ gridpin postcodes [OPTIONS] --out <OUT> <INDEX>
| Option | What it does |
|---|---|
--res <RES> | H3 resolution of the cells (9: about 0.1 km²) [default: 9] |
-o, --out <OUT> | — |
Examples and when to use it: documentation.
gridpin bench
How close the answers come to points you know: a CSV with an address and lat, lon of the truth. Prints rows, hits within 150 m, median, p95 and the match rate as JSON
$ gridpin bench [OPTIONS] <INDEX> <INPUT>
| Option | What it does |
|---|---|
--column <COLUMN> | the address column, or several joined with ", " (default: the one named address, query or q) |
--lat-column <LAT_COLUMN> | the latitude column of the truth (default: lat or latitude) |
--lon-column <LON_COLUMN> | the longitude column of the truth (default: lon, lng or longitude) |
--min-match-rate <MIN_MATCH_RATE> | fail (exit 1) when fewer rows than this share are matched at an address (e.g. 0.85) |
-o, --output <OUTPUT> | also write each row with its answer and its distance to the truth (CSV) |
Examples and when to use it: documentation.
gridpin cite
A citation of the sheet a study geocoded with: release, data date, licence, SHA-256, engine version
$ gridpin cite [OPTIONS] <SHEET>
| Option | What it does |
|---|---|
--format <FORMAT> | bibtex, apa or cff (CITATION.cff) [default: bibtex] |
Examples and when to use it: documentation.
gridpin sheets
Country sheets of this release: list, where they are kept, verify, download
$ gridpin sheets <COMMAND>
gridpin sheets list
Every sheet of the release: code, country, size, and whether it is downloaded
$ gridpin sheets list [OPTIONS]
| Option | What it does |
|---|---|
--json | one JSON array, with file, SHA-256, address and local path |
gridpin sheets where
The folder of downloaded sheets, or with a country the path of its sheet
$ gridpin sheets where [COUNTRY]
gridpin sheets verify
Check size and SHA-256 against the signed release (no argument: every downloaded sheet)
$ gridpin sheets verify [TARGETS]...
gridpin sheets fetch
Download a sheet with the system curl and check it before it is used
$ gridpin sheets fetch [OPTIONS] <COUNTRY>
| Option | What it does |
|---|---|
--offline | never use the network (also GRIDPIN_OFFLINE=1): print the command to run elsewhere |
Examples and when to use it: documentation.
gridpin meta
Print the provenance/identity record of a sheet (SEC_META, v6+)
$ gridpin meta [OPTIONS] <INDEX>
| Option | What it does |
|---|---|
--json | machine-readable JSON object (safe against values with embedded newlines) |
Examples and when to use it: documentation.
gridpin build
Build an index from a sorted CSV stream (prep/export_build.py)
$ gridpin build [OPTIONS] <INPUT> <OUT>
| Option | What it does |
|---|---|
--model <MODEL> | optional parser model (ml/parser_v0.bin) |
--rank <RANK> | optional ranking weights (ml/rank_v0.bin) |
--rules <RULES> | optional rules-in-data directory (TSV files) |
--mark <MARK> | optional watermark string to embed in the index (no-op without the watermark feature) new in 0.9.0 |
--meta <META> | build manifest (JSON): provenance + country/layer identity -> SEC_META (v6+). Distributed sheets MUST carry one; omitting it prints a loud warning |
--places | the input is a table of one's own places (name, lat, lon[, group][, code][, aliases]), not the builder's CSV; the sheet answers as `--also` (before the country's sheet) or as `--poi` |
--license <LICENSE> | with --places: the license line the sheet carries (default "the owner's own data") |
--first-wins | with --places: a name already taken in its group is left out (counted) instead of refused |
Examples and when to use it: documentation.
gridpin repack
Replace SEC_META in a current-format sheet without rebuilding data sections. Older v5/v6 sheets must be rebuilt because v7 changes house_blocks
$ gridpin repack --meta <META> <INPUT> <OUTPUT>
| Option | What it does |
|---|---|
--meta <META> | build manifest (JSON): provenance + country/layer identity |
Examples and when to use it: documentation.
gridpin slice
A smaller sheet cut from a sheet by a box, a region, a postcode or a polygon (the source is not changed)
$ gridpin slice [OPTIONS] --out <OUT> <INDEX>
| Option | What it does |
|---|---|
--street <STREET> | a street as you would write it; needs --city or --postcode |
--city <CITY> | a commune by name |
--postcode <POSTCODE> | — |
--near <LAT,LON,METERS> | a circle: LAT,LON,METERS |
--bbox <MINLON,MINLAT,MAXLON,MAXLAT> | a box: MINLON,MINLAT,MAXLON,MAXLAT |
--polygon <FILE> | a GeoJSON file with a Polygon or MultiPolygon |
--region <REGION> | a region by name, from the polygon file <sheet>_admin.bin beside the sheet |
-o, --out <OUT> | — |
Examples and when to use it: documentation.
gridpin grammar
The address grammar the sheet's rules declare, in the open schema docs-public/address-grammar.schema.json
$ gridpin grammar <INDEX>
Examples and when to use it: documentation.
gridpin-pro
The commands of gridpin-pro, the build that comes with a Starter or Pro subscription: what each is for, with examples. Every command of gridpin above works in it too.
gridpin-pro dedupe
Group the rows of a CSV that name one address, however they write it
$ gridpin-pro dedupe [OPTIONS] --output <OUTPUT> <SHEET> <INPUT>
| Argument | What it does |
|---|---|
<SHEET> | the country sheet (.bin) |
<INPUT> | — |
| Option | What it does |
|---|---|
-o, --output <OUTPUT> | — |
--column <COLUMN> | the address column, or several joined with ", " (default: the one named address, query or q) |
--license <FILE> | the licence file (default: GRIDPIN_PRO_LICENSE, gridpin-pro.lic next to the program, ~/.config/gridpin/pro.lic) |
--level <LEVEL> | house: same house, neither answer weak. street: same street [default: house] |
Examples: gridpin-pro documentation.
gridpin-pro compare
What changed between two answered CSV files (outputs of `gridpin batch`)
$ gridpin-pro compare [OPTIONS] --output <OUTPUT> <A> <B>
| Option | What it does |
|---|---|
-o, --output <OUTPUT> | — |
--key <KEY> | match rows by this column instead of by their order |
--license <FILE> | the licence file (default: GRIDPIN_PRO_LICENSE, gridpin-pro.lic next to the program, ~/.config/gridpin/pro.lic) |
--threshold-m <THRESHOLD_M> | a point moved farther than this counts as changed [default: 150] |
Examples: gridpin-pro documentation.
gridpin-pro batch
`gridpin batch` for a CSV, with data layers or verdicts appended to each row, and a report page
$ gridpin-pro batch [OPTIONS] <SHEET> <INPUT> <OUTPUT>
| Option | What it does |
|---|---|
--append <APPEND> | the layer to append; `census`: United States tract, voting district, school district; `id`: the address id (`gp_address_id`, the same across releases while the address keeps its name) |
--layers <LAYERS> | the folder with the layer files (us_tract.bin, us_vtd.bin, us_school.bin), or a registry layers.json for `--append regions:nuts,lau`, `building`, `admin` and `--near` |
--license <FILE> | the licence file (default: GRIDPIN_PRO_LICENSE, gridpin-pro.lic next to the program, ~/.config/gridpin/pro.lic) |
--near <NEAR> | the nearest object of each category within a radius: `hospital:1000,school:500` (needs --layers json) |
--prove <PROVE> | does the address written in a document name the declared house? `text=<column>,declared=<column>`; appends gp_prove (same, different, not_found_in_text, declared_unresolved), gp_prove_text_address, gp_prove_m |
--risk | the chance the point is wrong: gp_risk (0..1), gp_risk_reason, gp_ask (what to ask the customer) |
--risk-table <RISK_TABLE> | with --risk: bins from this file (JSON of `risk-calibrate`) instead of the built-in ones |
--verdict | judge each row: verdict per field and the action ACCEPT, CONFIRM or UNMATCHED |
--report <REPORT> | also write a report page (HTML that opens without a network); implies --verdict |
--review <REVIEW> | also write a review page: the rows to check, up to five candidates each, decisions exported as CSV for `apply-review`; implies --verdict |
--column <COLUMN> | the address column, or several joined with ", " (default: the one named address, query or q) |
Examples: gridpin-pro documentation.
gridpin-pro audit
A page about the health of an address base: duplicates, rows without an answer and why, field verdicts
$ gridpin-pro audit [OPTIONS] --output <OUTPUT> <SHEET> <INPUT>
| Option | What it does |
|---|---|
-o, --output <OUTPUT> | — |
--column <COLUMN> | the address column, or several joined with ", " (default: the one named address, query or q) |
--license <FILE> | the licence file (default: GRIDPIN_PRO_LICENSE, gridpin-pro.lic next to the program, ~/.config/gridpin/pro.lic) |
Examples: gridpin-pro documentation.
gridpin-pro iso20022-check
The postal addresses of an ISO 20022 message (pain.001, pacs.008) checked against the sheet; --rewrite writes a copy where unstructured and hybrid addresses the sheet can make better are structured
$ gridpin-pro iso20022-check [OPTIONS] <SHEET> <MESSAGE>
| Option | What it does |
|---|---|
--csv <CSV> | one row per PstlAdr: party, form as written, the line asked, mode, checks, exists, action |
--license <FILE> | the licence file (default: GRIDPIN_PRO_LICENSE, gridpin-pro.lic next to the program, ~/.config/gridpin/pro.lic) |
--rewrite <REWRITE> | the message with the better addresses written in; every other byte stays |
gridpin-pro learn-grammar
The address grammar of a country counted over its sheet (the open schema of `gridpin grammar`, measured)
$ gridpin-pro learn-grammar [OPTIONS] <SHEET>
| Option | What it does |
|---|---|
--limit <LIMIT> | count about this many houses, taken evenly over the whole sheet (0: every house) [default: 0] |
--license <FILE> | the licence file (default: GRIDPIN_PRO_LICENSE, gridpin-pro.lic next to the program, ~/.config/gridpin/pro.lic) |
-o, --out <OUT> | write the grammar here instead of printing it |
Examples: gridpin-pro documentation.
gridpin-pro registry-audit
Defects of the address registry a sheet holds: duplicates, gaps in numbering, two forms of a name, many postcodes on a street, houses far from their street
$ gridpin-pro registry-audit [OPTIONS] <SHEET>
| Option | What it does |
|---|---|
-o, --out <OUT> | the summary (JSON); default: printed |
--license <FILE> | the licence file (default: GRIDPIN_PRO_LICENSE, gridpin-pro.lic next to the program, ~/.config/gridpin/pro.lic) |
--page <PAGE> | also a page (HTML that opens without a network) |
Examples: gridpin-pro documentation.
gridpin-pro propose-number
A house number for a new building at a point, from the houses of its street (axis, side, parity)
$ gridpin-pro propose-number [OPTIONS] --street <STREET> --city <CITY> --lat <LAT> --lon <LON> <SHEET>
| Option | What it does |
|---|---|
--street <STREET> | — |
--city <CITY> | — |
--license <FILE> | the licence file (default: GRIDPIN_PRO_LICENSE, gridpin-pro.lic next to the program, ~/.config/gridpin/pro.lic) |
--lat <LAT> | — |
--lon <LON> | — |
Examples: gridpin-pro documentation.
gridpin-pro noise-profile
How people of a country write addresses: shares of the messy forms in query sets, as a `gridpin.messy` profile
$ gridpin-pro noise-profile [OPTIONS] --sets <SETS> <COUNTRY>
| Argument | What it does |
|---|---|
<COUNTRY> | the country code written in the profile |
| Option | What it does |
|---|---|
--sets <SETS> | query sets (JSON lines with "q" or "query"), comma-separated |
--license <FILE> | the licence file (default: GRIDPIN_PRO_LICENSE, gridpin-pro.lic next to the program, ~/.config/gridpin/pro.lic) |
Examples: gridpin-pro documentation.
gridpin-pro negatives
Plausible addresses that do not exist (each checked by the engine): past the street's numbers, in another commune, under another postcode
$ gridpin-pro negatives [OPTIONS] --out <OUT> <SHEET>
| Option | What it does |
|---|---|
-n <N> | [default: 1000] |
--license <FILE> | the licence file (default: GRIDPIN_PRO_LICENSE, gridpin-pro.lic next to the program, ~/.config/gridpin/pro.lic) |
--seed <SEED> | [default: 1] |
-o, --out <OUT> | — |
Examples: gridpin-pro documentation.
gridpin-pro risk-calibrate
Bins of `batch --risk` measured on your own file: a `delivered` column (1/0) or truth `lat`,`lon`
$ gridpin-pro risk-calibrate [OPTIONS] <SHEET> <INPUT>
| Option | What it does |
|---|---|
--column <COLUMN> | the address column, or several joined with ", " (default: the one named address, query or q) |
--license <FILE> | the licence file (default: GRIDPIN_PRO_LICENSE, gridpin-pro.lic next to the program, ~/.config/gridpin/pro.lic) |
Examples: gridpin-pro documentation.
gridpin-pro synth
Synthetic households on real addresses (no names, no personal data): a base for transport and epidemic models
$ gridpin-pro synth [OPTIONS] --out <OUT> <SHEET>
| Option | What it does |
|---|---|
--households <HOUSEHOLDS> | [default: 10000] |
--license <FILE> | the licence file (default: GRIDPIN_PRO_LICENSE, gridpin-pro.lic next to the program, ~/.config/gridpin/pro.lic) |
--seed <SEED> | [default: 1] |
--weights <WEIGHTS> | CSV area,weight (area = a commune): households spread over communes in proportion |
-o, --out <OUT> | — |
Examples: gridpin-pro documentation.
gridpin-pro id-map
Address ids of two releases: same, moved, removed, added
$ gridpin-pro id-map [OPTIONS] --out <OUT> <OLD> <NEW>
| Option | What it does |
|---|---|
-o, --out <OUT> | — |
--license <FILE> | the licence file (default: GRIDPIN_PRO_LICENSE, gridpin-pro.lic next to the program, ~/.config/gridpin/pro.lic) |
Examples: gridpin-pro documentation.
gridpin-pro lifecycle
When each address appeared and disappeared across releases (in version order)
$ gridpin-pro lifecycle [OPTIONS] --out <OUT> [SHEETS]...
| Option | What it does |
|---|---|
-o, --out <OUT> | — |
--license <FILE> | the licence file (default: GRIDPIN_PRO_LICENSE, gridpin-pro.lic next to the program, ~/.config/gridpin/pro.lic) |
Examples: gridpin-pro documentation.
gridpin-pro match-keys
Keys of the rows of a CSV that two companies can compare without showing an address: HMAC(secret, id)
$ gridpin-pro match-keys [OPTIONS] --secret <SECRET> --out <OUT> <SHEET> <INPUT>
| Option | What it does |
|---|---|
--secret <SECRET> | at least 32 hex digits, held by both sides |
--column <COLUMN> | — |
--license <FILE> | the licence file (default: GRIDPIN_PRO_LICENSE, gridpin-pro.lic next to the program, ~/.config/gridpin/pro.lic) |
-o, --out <OUT> | — |
Examples: gridpin-pro documentation.
gridpin-pro match-intersect
The keys two files of match-keys share
$ gridpin-pro match-intersect [OPTIONS] --out <OUT> <A> <B>
| Option | What it does |
|---|---|
-o, --out <OUT> | — |
--license <FILE> | the licence file (default: GRIDPIN_PRO_LICENSE, gridpin-pro.lic next to the program, ~/.config/gridpin/pro.lic) |
Examples: gridpin-pro documentation.
gridpin-pro verify-chain
Check the chain of `gridpin batch --receipt` receipts of a folder and every output's hash
$ gridpin-pro verify-chain [OPTIONS] <DIR>
| Option | What it does |
|---|---|
--license <FILE> | the licence file (default: GRIDPIN_PRO_LICENSE, gridpin-pro.lic next to the program, ~/.config/gridpin/pro.lic) |
Examples: gridpin-pro documentation.
gridpin-pro categories
The categories of a POI layer's table (name,lat,lon,category CSV, gzip or not), with their counts
$ gridpin-pro categories [OPTIONS] <TABLE>
| Option | What it does |
|---|---|
--license <FILE> | the licence file (default: GRIDPIN_PRO_LICENSE, gridpin-pro.lic next to the program, ~/.config/gridpin/pro.lic) |
Examples: gridpin-pro documentation.
gridpin-pro apply-review
Put the candidates chosen on a review page (decisions.csv) into the rows
$ gridpin-pro apply-review [OPTIONS] --output <OUTPUT> <SHEET> <DECISIONS> <INPUT>
| Option | What it does |
|---|---|
-o, --output <OUTPUT> | — |
--column <COLUMN> | — |
--license <FILE> | the licence file (default: GRIDPIN_PRO_LICENSE, gridpin-pro.lic next to the program, ~/.config/gridpin/pro.lic) |
Examples: gridpin-pro documentation.
gridpin-pro second-opinion
Another geocoder's answers (a file you have) against ours, offline: agree, disagree, we only, they only
$ gridpin-pro second-opinion [OPTIONS] --out <OUT> <SHEET> <THEIR>
| Option | What it does |
|---|---|
--format <FORMAT> | google, mapbox, here or generic: which columns hold the address and the point [default: generic] |
--column <COLUMN> | the address column, when it is not the format's own |
--license <FILE> | the licence file (default: GRIDPIN_PRO_LICENSE, gridpin-pro.lic next to the program, ~/.config/gridpin/pro.lic) |
-o, --out <OUT> | the page (HTML that opens without a network) |
--disagreements <DISAGREEMENTS> | also every row that does not agree (CSV) |
Examples: gridpin-pro documentation.
gridpin-pro serve
The open server with keys, daily limits, /metrics, a request log and batch jobs
$ gridpin-pro serve [OPTIONS] --keys <KEYS> <SHEET>
| Option | What it does |
|---|---|
--keys <KEYS> | key,name,daily_limit (0: no limit); requests carry Authorization: Bearer <key> |
--license <FILE> | the licence file (default: GRIDPIN_PRO_LICENSE, gridpin-pro.lic next to the program, ~/.config/gridpin/pro.lic) |
--log <LOG> | one JSON line per request (no query text unless --log-queries) |
--log-queries | also log the query text: only the `q` parameter of GET requests (POST bodies, structured fields, Google's `address` and /v1/extract are not logged) |
--jobs-dir <JOBS_DIR> | a folder for batch jobs (POST /v1/jobs); without it there are no jobs |
--max-job-mb <MAX_JOB_MB> | [default: 200] |
--host <HOST> | [default: 127.0.0.1] |
--port <PORT> | [default: 8080] |
--threads <THREADS> | [default: 4] |
Examples: gridpin-pro documentation.
gridpin-pro sheet-diff
What changed between two releases of one country's sheet: added, removed, moved, new postcode
$ gridpin-pro sheet-diff [OPTIONS] --output <OUTPUT> <OLD> <NEW>
| Option | What it does |
|---|---|
-o, --output <OUTPUT> | the changes, one row each (CSV) |
--license <FILE> | the licence file (default: GRIDPIN_PRO_LICENSE, gridpin-pro.lic next to the program, ~/.config/gridpin/pro.lic) |
--summary <SUMMARY> | the summary (JSON, the fields of tools/sheet_diff.py --json); default: printed |
--bbox <BBOX> | only addresses in this box: MINLON,MINLAT,MAXLON,MAXLAT |
--zone <ZONE> | only addresses inside these polygons (GeoJSON) |
--threshold <THRESHOLD> | a move further than this is a change, metres [default: 50] |
--top <TOP> | communes in the lists of outflow and inflow [default: 10] |
--feed <FEED> | the change feed of the zone (Markdown), for whoever holds it |
Examples: gridpin-pro documentation.