PROJSYNC(1) PROJ PROJSYNC(1)

# [NAME](#NAME)

projsync - Downloading tool of resource files

# [SYNOPSIS](#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](#DESCRIPTION)

*projsync* is a program that downloads remote resource files into a local directory. This is an alternative to downloading a proj-data-X.Y.Z archive file, or using the on-demand *networking capabilities* of PROJ.

The following control parameters can appear in any order:

[**--endpoint URL**](#endpoint)

Defines the URL where to download the master **files.geojson** file and then the resource files. Defaults to the value set in *proj.ini*

[**--local-geojson-file FILENAME**](#local)

Defines the filename for the master GeoJSON files that references resources. Defaults to **${endpoint}/files.geojson**

[**--user-writable-directory**](#user)

Specifies that resource files must be downloaded in the *user writable directory*. This is the default.

[**--system-directory**](#system)

Specifies that resource files must be downloaded in the ${installation\_prefix}/share/proj directory. The user launching projsync should make sure it has writing rights in that directory.

[**--target-dir DIRNAME**](#target)

Directory into which resource files must be downloaded.

[**--bbox west\_long,south\_lat,east\_long,north\_lat**](#bbox)

Specify an area of interest to restrict the resources to download. The area of interest is specified as a bounding box with geographic coordinates, expressed in degrees in a unspecified geographic CRS. *west\_long* and *east\_long* should be in the \[-180,180] range, and *south\_lat* and *north\_lat* in the \[-90,90]. *west\_long* is generally lower than *east\_long*, except in the case where the area of interest crosses the antimeridian.

[**--spatial-test contains|intersects**](#spatial)

Specify how the extent of the resource files are compared to the area of use specified explicitly with *--bbox*. By default, any resource files whose extent intersects the value specified by *--bbox* will be selected. If using the **contains** strategy, only resource files whose extent is contained in the value specified by *--bbox* will be selected.

[**--source-id ID**](#source)

Restrict resource files to be downloaded to those whose source\_id property contains the ID value. Specifying **?** as ID will list all possible values.

[**--area-of-use NAME**](#area)

Restrict resource files to be downloaded to those whose area\_of\_use property contains the NAME value. Specifying **?** as NAME will list all possible values.

[**--file NAME**](#file)

Restrict resource files to be downloaded to those whose name property contains the NAME value. Specifying **?** as NAME will list all possible values.

[**--all**](#all)

Ask to download all files.

[**--exclude-world-coverage**](#exclude)

Exclude files which have world coverage.

[**-q / --quiet**](#q)

Quiet mode

[**--verbose**](#verbose)

Added in version 8.1.

Verbose mode (more than default)

[**--dry-run**](#dry)

Simulate the behavior of the tool without downloading resource files.

[**--list-files**](#list)

List file names, with the source\_id and area\_of\_use properties.

[**--no-version-filtering**](#no)

Added in version 8.1.

By default, projsync only downloads files that are compatible of the PROJ\_DATA.VERSION metadata of **proj.db**, taking into account the **version\_added** and **version\_removed** properties of entries in **files.geojson**. When specifying this switch, all files referenced in **files.geojson** will be candidate (combined with other filters).

At least one of *--list-files*, *--file*, *--source-id*, *--area-of-use*, *--bbox* or *--all* must be specified.

Options *--file*, *--source-id*, *--area-of-use* and *--bbox* are combined with a AND logic.

# [EXAMPLES](#EXAMPLES)

1\.

Download all resource files

```
projsync --all
```

2\.

Download resource files covering specified point and attributed to an agency

```
projsync --source-id fr_ign --bbox 2,49,2,49
```

# [SEE ALSO](#SEE_ALSO)

[**cs2cs(1)**](/man/os/proj/cs2cs.1), [**cct(1)**](/man/os/proj/cct.1), [**geod(1)**](/man/os/proj/geod.1), [**gie(1)**](/man/os/proj/gie.1), [**proj(1)**](/man/os/proj/proj.1), [**projinfo(1)**](/man/os/proj/projinfo.1)

# [BUGS](#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*

# [HOME PAGE](#HOME_PAGE)

*https://proj.org/*

# [AUTHOR](#AUTHOR)

Even Rouault

# [COPYRIGHT](#COPYRIGHT)

1983-2026, PROJ contributors

15 Sep 2026 9.9

---

Document: projsync(1) from proj 9.9.0-r0 (Chainguard OS)
Source: https://github.com/OSGeo/PROJ
