安装

这些页面描述了如何在计算机上安装PROJ而不必自己编译。下面是在Windows、Linux和Mac OS X上安装的指南。如果这是您第一次使用PROJ,那么这是一个很好的入门地方。更高级的用户可能希望自己编译软件。

从包管理系统安装

跨平台

PROJ也可以通过跨平台包管理器获得。

康达

conda包管理器包括几个PROJ包。我们建议从 conda-forge 频道:

conda install -c conda-forge proj

使用 conda 您还可以安装PROJ数据包。下面是如何安装 proj-data 包裹::

conda install -c conda-forge proj-data

还提供了遗留软件包 proj-datumgrid-europeproj-datumgrid-north-americaproj-datumgrid-oceaniaproj-datumgrid-world .

小技巧

阅读更多关于各种可用的datumgrid包的信息 here .

码头工人

A Docker 只有PROJ二进制文件和grid shift文件的完整补充的图像在 DockerHub . 获取包含以下内容的包:

docker pull osgeo/proj

Windows

在Windows上安装PROJ最简单的方法是使用 OSGeo4W 软件分发。OSGeo4W提供了对许多流行的开源地理空间软件包的轻松访问。安装后,您可以从OSGeo4W shell使用PROJ。要安装项目,请执行以下操作:

备注

如果您已经通过OSGeo4W在您的计算机上安装了软件,或者如果您已经在您的计算机上安装了QGIS,则很可能已经安装了Proj。在开始菜单中输入“OSGeo4W Shell”,然后检查是否匹配。

  1. 下载 32 bit64 bit 安装程序。

  2. 运行OSGeo4W安装程序。

  3. 选择“高级安装”,然后按下一步。

  4. 选择“从Internet安装”,然后按“下一步”。

  5. 选择安装目录。默认的建议在大多数情况下是可以的。按“下一步”。

  6. 选择“本地包目录”。默认的建议在大多数情况下是可以的。按“下一步”。

  7. 选择“Direct connection”(直接连接),然后按Next。

  8. 选择下载.osgeo.org服务器,然后按下一步。

  9. 在“Commandlineu Utilities”下找到“proj”,然后单击“New”列中的包,直到出现要安装的版本。

  10. 按“下一步”安装项目。

你现在应该有一个“OSGeo”菜单在你的开始菜单。在该菜单中,您可以找到“osgeo4wshell”,在这里您可以访问所有OSGeo4W应用程序,包括proj。

对于那些更倾向于使用命令行的人,可以通过执行以下命令来完成上面的步骤2到10:

C:\temp\osgeo4w-setup-x86-64.exe -q -k -r -A -s https://download.osgeo.org/osgeo4w/ -a x86_64 -P proj

Linux系统

如何在Linux上安装PROJ取决于您使用的是哪个发行版。下面是一些更常见的Linux发行版的示例:

德比

在Debian和类似系统(如Ubuntu)上,使用APT软件包管理器:

sudo apt-get install proj-bin

费多拉

关于Fedora the dnf 使用包管理器::

sudo dnf install proj

红帽子

在基于Red Hat的系统上,程序包随一起安装 yum ::

sudo yum install proj

Mac OS X

在OS X上,PROJ可以通过自制软件包管理器安装:

brew install proj

项目也可从MacPorts系统获得:

sudo ports install proj

从源代码编译和安装

安装PROJ的经典方法是通过源代码分发。最新版本可从 download page .

以下指南显示了如何使用CMake编译和安装软件。

备注

对AutoTools的支持一直维持到项目8.2(请参见 项目RFC 7:丢弃自动工具,维护CMake )。Proj9.0及更高版本仅支持使用CMake的构建。

生成要求

  • C99编译器

  • C++ 11编译器

  • CMake>=3.9

  • Sqlite3>=3.11:用于目标架构的头和库,以及用于构建架构的sqlite3可执行文件。

  • Libtiff>=4.0(可选,但建议使用)

  • CURL>=7.29.0(可选,但建议使用)

构建步骤

你可以在CMAJ平台上编译更多或更少的proke。在将源分发存档解包到源目录树中之后:

cd proj-9.1.0

创建生成目录并单步执行:

mkdir build
cd build

现在可以从build目录配置CMake,生成并安装二进制文件:

cmake ..
cmake --build .
cmake --build . --target install

在Windows上,可能需要指定生成器:

cmake -G "Visual Studio 15 2017" ..

如果SQLite3依赖项安装在自定义位置,请指定包含目录和库的路径:

cmake -DSQLITE3_INCLUDE_DIR=/opt/SQLite/include -DSQLITE3_LIBRARY=/opt/SQLite/lib/libsqlite3.so ..

或者,可以指定SQLite3的自定义前缀:

cmake -DCMAKE_PREFIX_PATH=/opt/SQLite ..

运行测试时使用:

ctest

随着PROJ的成功安装,我们现在可以使用 projsync 实用工具:

projsync --system-directory

它将下载当前可用于项目的所有资源文件。如果需要的资源文件少于整个集合,则调用 projsync 可根据用户需要进行修改。看到了吗 projsync公司 更多选项。

备注

使用 projsync 要求启用网络支持(默认选项)。如果资源文件不是使用 projsync 当转换需要特定的数据文件时,Proj将尝试自动获取它们。这就要求 PROJ_NETWORK 设置为 ON

作为禁用网络访问的系统上的一种替代方法 proj-data 包可以下载并添加到 PROJ_LIB 目录。

CMake配置选项

配置CMake的选项使用 -D<var>=<value> . 所有缓存项都可以使用 cmake -LAH 从生成目录。

BUILD_APPS=ON

构建项目应用程序。默认设置为启用。控制Build_CCT、Build_CS2CS、Build_GeoD、Build_gie、Build_Proj、Build_PROJINFO和Build_PROJSYNC的默认值。请注意,在配置一次之后更改其值不会更改单个BUILD_CCT的值,...选择。

在 8.2 版更改.

BUILD_CCT=ON

建房 有条件现金流 ,则默认为BUILD_APPS的值。

BUILD_CS2CS=ON

建房 CS2CS ,则默认为BUILD_APPS的值。

BUILD_GEOD=ON

建房 格奥德 ,则默认为BUILD_APPS的值。

BUILD_GIE=ON

建房 ,则默认为BUILD_APPS的值。

BUILD_PROJ=ON

建房 PROJ ,则默认为BUILD_APPS的值。

BUILD_PROJINFO=ON

建房 projinfo项目 ,则默认为BUILD_APPS的值。

BUILD_PROJSYNC=ON

建房 projsync公司 ,则默认为BUILD_APPS的值。

BUILD_SHARED_LIBS

构建共享项目库。默认设置为启用。另请参阅的CMake文档 BUILD_SHARED_LIBS

在 7.0 版更改: 更名为 BUILD_LIBPROJ_SHARED

备注

在Proj 9.0之前,Windows版本的默认设置为关闭。

BUILD_TESTING=ON

CTest选项来构建测试树,它还可以下载和安装Googletest。默认设置为启用,但如果不需要测试,则可以禁用。

在 7.0 版更改: 更名为 PROJ_TESTS

CMAKE_BUILD_TYPE

选择构建类型,选项有:None(默认)、Debug、Release、RelWithDebInfo或MinSizeRel。有关详细信息,请参见CMake文档 CMAKE_BUILD_TYPE .

备注

如果不指定 -DCMAKE_BUILD_TYPE=Release (或类似的)在配置过程中,或通过指定 --config Release 使用CMake多配置构建工具(参见下面的示例)。

CMAKE_C_COMPILER

C编译器。对于某些生成器(如VisualStudio)忽略。

CMAKE_C_FLAGS

C编译器在所有生成类型期间使用的标志。这是由 CFLAGS 环境变量。

CMAKE_CXX_COMPILER

C++编译器。对于某些生成器(如VisualStudio)忽略。

CMAKE_CXX_FLAGS

在所有编译类型中,C++编译器使用的标志。这是由 CXXFLAGS 环境变量。

CMAKE_INSTALL_PREFIX

Windows的默认值基于环境变量 OSGEO4W_ROOT (设置),否则 c:/OSGeo4W . 类Unix的默认值是 /usr/local/ .

ENABLE_IPO=OFF

使用编译器的 interprocedural optimization (IPO),如果可用,则默认关闭。

在 7.0 版更改: 更名为 ENABLE_LTO .

EXE_SQLITE3

到达一个 sqlite3sqlite3.exe 可执行的。

SQLITE3_INCLUDE_DIR

包含目录的路径 sqlite3.h 头文件。

SQLITE3_LIBRARY

共享或静态库文件的路径,例如 sqlite3.dlllibsqlite3.sosqlite3.lib 或者其他名字。

ENABLE_CURL=ON

启用卷曲支持,默认为启用。

CURL_INCLUDE_DIR

包含目录的路径 curl 目录。

CURL_LIBRARY

共享或静态库文件的路径,例如 libcurl.dlllibcurl.solibcurl.lib ,或其他名称。

ENABLE_TIFF=ON

启用TIFF支持以使用项目数据资源文件,默认为启用。

TIFF_INCLUDE_DIR

包含目录的路径 tiff.h 头文件。

TIFF_LIBRARY_RELEASE

共享或静态库文件的路径,例如 tiff.dlllibtiff.sotiff.lib ,或其他名称。类似的变量 TIFF_LIBRARY_DEBUG 也可以指定给类似的库以生成调试版本。

USE_CCACHE=OFF

配置CMake以使用 ccache (或 clcache 用于MSVC)来构建C/C++对象。

使用vcpkg和Visual Studio 2017或2019在Windows上构建

此方法是生成调试和发布版本的首选方法。

安装GIT

安装 git

安装Vcpkg

假设有一个c:\dev目录

cd c:\dev
git clone https://github.com/Microsoft/vcpkg.git

cd vcpkg
.\bootstrap-vcpkg.bat

安装项目依赖项

vcpkg.exe install sqlite3[core,tool]:x86-windows tiff:x86-windows curl:x86-windows
vcpkg.exe install sqlite3[core,tool]:x64-windows tiff:x64-windows curl:x64-windows

备注

仅在PROJ 7.0之后才需要tiff和curl依赖项

签出项目源

cd c:\dev
git clone https://github.com/OSGeo/PROJ.git

构建项目

cd c:\dev\PROJ
mkdir build_vs2019
cd build_vs2019
cmake -DCMAKE_TOOLCHAIN_FILE=C:\dev\vcpkg\scripts\buildsystems\vcpkg.cmake ..
cmake --build . --config Debug -j 8

运行项目测试

cd c:\dev\PROJ\build_vs2019
ctest -V --build-config Debug

在具有Conda依赖项和Visual Studio 2017或2019的Windows上构建

上述方法的变体,但对SQLite3、TIFF和CURL依赖项使用Conda。与基于vcpkg的方法相比,它不太适合于PROJ的调试构建。

安装GIT

安装 git

安装miniconda

安装 miniconda

安装项目依赖项

启动一个启用Conda的控制台,并假设有一个c:\dev目录

cd c:\dev
conda create --name proj
conda activate proj
conda install sqlite libtiff curl cmake

备注

libtiff和curl依赖项仅在PROJ 7.0之后才需要

签出项目源

cd c:\dev
git clone https://github.com/OSGeo/PROJ.git

构建项目

从支持Conda的控制台

conda activate proj
cd c:\dev\PROJ
call "C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvars64.bat"
cmake -S . -B _build.vs2019 -DCMAKE_LIBRARY_PATH:FILEPATH="%CONDA_PREFIX%/Library/lib" -DCMAKE_INCLUDE_PATH:FILEPATH="%CONDA_PREFIX%/Library/include"
cmake --build _build.vs2019 --config Release -j 8

运行项目测试

cd c:\dev\PROJ
cd _build.vs2019
ctest -V --build-config Release