PROJSYNC(1)
π PROJSYNC(1) β like, the manual, but make it make sense
okay so this is projsync from the PROJ manual set β yes, lowercase proj, the whole family, and honestly she's iconic. sit down, grab a strawberry drink π, and let me walk you through it.
β¨ NAME β¨
projsync β the downloading tool of resource files. that's it, that's the vibe. she fetches files for you π«Ά
π SYNOPSIS π
projsync
[--endpoint URL]
[--local-geojson-file FILENAME]
([--user-writable-directory] | [--system-directory] | [--target-dir DIRNAME])
[--bbox west_long,south_lat,east_long,north_lat]
[--spatial-test contains|intersects]
[--source-id ID] [--area-of-use NAME]
[--file NAME]
[--all] [--exclude-world-coverage]
[--quiet | --verbose] [--dry-run] [--list-files]
[--no-version-filtering]
π¦ DESCRIPTION π¦
so projsync is literally a program that downloads remote resource files into a local directory. no cap. it's the alternative to two other things: grabbing a whole proj-data-X.Y.Z archive file, or using the on-demand networking capabilities of PROJ. so like, instead of the whole archive or the live-in-the-moment network thing, you get to pick and choose. main character energy honestly π
the following control parameters can appear in any order β any order bestie, she's flexible:
--endpoint URLβ sets the URL where she downloads the masterfiles.geojsonfile, and then the resource files themselves. defaults to whatever value is set inproj.ini. iykyk β¨--local-geojson-file FILENAMEβ sets the filename for the master GeoJSON files that references resources. defaults to${endpoint}/files.geojson. π--user-writable-directoryβ says the resource files must be downloaded into the user writable directory. and yes, this is the default, so she already gets it π--system-directoryβ says the resource files must be downloaded into the${installation_prefix}/share/projdirectory. β οΈ caveat incoming: the user launchingprojsyncshould make sure it has writing rights in that directory. like, actually make sure. don't just assume.--target-dir DIRNAMEβ the directory into which resource files must be downloaded. simple, cute, does what it says π«Ά--bbox west_long,south_lat,east_long,north_latβ specifies an area of interest to restrict which resources get downloaded. the area of interest is a bounding box with geographic coordinates, expressed in degrees in a unspecified geographic CRS. and here's the fine print, don't skip it:west_longandeast_longshould be in the[-180,180]range, andsouth_latandnorth_latin the[-90,90]. alsowest_longis generally lower thaneast_long, except in the case where the area of interest crosses the antimeridian β yes, that one edge case, she's special π--spatial-test contains|intersectsβ specifies how the extent of the resource files is compared to the area of use specified explicitly with--bbox. by default, any resource files whose extent intersects the value specified by--bboxwill be selected. if you use thecontainsstrategy, only resource files whose extent is contained in the value specified by--bboxwill be selected. intersects = vibes, contains = strict queen π--source-id IDβ restricts the resource files to be downloaded to those whosesource_idproperty contains the ID value. and ooh, fun trick: specifying?as ID will list all possible values. lowkey obsessed with that π₯--area-of-use NAMEβ restricts the resource files to be downloaded to those whosearea_of_useproperty contains the NAME value. specifying?as NAME will list all possible values. same trick, different property, slay β¨--file NAMEβ restricts the resource files to be downloaded to those whosenameproperty contains the NAME value. specifying?as NAME will list all possible values. okay yes that's three for three on the?thing, it's consistent, we love consistency π--allβ ask to download all files. all of them. every single one. go off π--exclude-world-coverageβ excludes files which have world coverage. bye bye globals πβοΈ-q/--quietβ quiet mode. shhh π€«--verboseβ added in version 8.1. verbose mode (more than default). she's chatty π¬--dry-runβ simulates the behavior of the tool without downloading resource files. like a rehearsal, no actual files harmed π--list-filesβ lists file names, with thesource_idandarea_of_useproperties. so you can window-shop before you commit ποΈ--no-version-filteringβ added in version 8.1. here's the deal: by default,projsynconly downloads files that are compatible of thePROJ_DATA.VERSIONmetadata ofproj.db, taking into account theversion_addedandversion_removedproperties of entries infiles.geojson. when you specify this switch, all files referenced infiles.geojsonwill be candidate (combined with other filters). so like, the version gate goes bye-bye πͺ
π¨ important, bestie, read this twice: at least one of--list-files,--file,--source-id,--area-of-use,--bboxor--allmust be specified. she's not gonna guess what you want, she's not a mind reader π
π‘ also: options--file,--source-id,--area-of-useand--bboxare combined with a AND logic. AND. not OR. everybody has to match. periodt.
πΈ EXAMPLES πΈ
- Download all resource files
projsync --all
- Download resource files covering specified point and attributed to an agency
projsync --source-id fr_ign --bbox 2,49,2,49
see, 2,49,2,49 β a whole degenerate point as a bbox, she ate that π
π§ SEE ALSO π§
cs2cs(1), cct(1), geod(1), gie(1), proj(1), projinfo(1) β the whole friend group, go say hi π
π BUGS π
a list of known bugs can be found at β
https://github.com/OSGeo/PROJ/issues
where new bug reports can be submitted to. bugs specific to resource files should be submitted to β
https://github.com/OSGeo/PROJ-data/issues
so like, know which repo you're filing in, ok? it's giving considerate π«Ά
π HOME PAGE π
https://proj.org/
π AUTHOR π
Even Rouault
π COPYRIGHT π
1983-2026, PROJ contributors
okay that's the whole page, mwah π
β and for the record, this is PROJSYNC(1) from the PROJ manual, version 9.9, dated 15 Sep 2026. drink some water, download some resource files, and remember: at least one filter. always. bye bestie π¦β¨
π¦ where this page comes from
- arch rolling: proj 9.9.0-1 Β· MIT
- nixpkgs unstable: proj 9.9.0
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms