安装

这些页面描述了如何在计算机上安装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在您的计算机上安装了软件,则可能已经安装了PROJ。

  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上使用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 .

以下指南介绍如何使用Autotools和CMake构建系统编译和安装软件。

生成要求

  • C99编译器

  • C++ 11编译器

  • SQLite3>=3.11(头文件、库文件和可执行文件)

  • libtiff>=4.0(标题和库)

  • 可选(但推荐):卷曲>=7.29.0

  • GNU自动工具制造或CMake>=3.9

自动工具

FSF的配置程序用于简化项目系统的安装。

注解

自动工具生成系统仅在类UNIX系统上可用。如果您不使用类似UNIX的操作系统,请遵循CMake安装指南。

已安装文件的默认目标路径前缀为 /usr/local . 安装脚本的结果将放在子目录中 binincludelibman/man1 . 如果此默认路径前缀正确,则执行:

./configure

如果需要另一个路径前缀,则执行:

./configure --prefix=/my/path

无论哪种情况,前缀路径的目录都必须存在,并且安装程序可以写入该目录。

如果您是从git存储库构建,则必须首先运行:

./autogen.sh

它将生成一个可以如上所述使用的配置脚本。

数据文件就绪后,我们现在可以构建和安装PROJ::

make
make install

如果需要,安装目标将创建所有必需的子目录。

运行测试时使用:

make check

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

projsync --system-directory

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

注解

The use of projsync requires that network support is enabled (the default option). If the resource files are not installed using projsync PROJ will attempt to fetch them automatically when a transformation needs a specific data file. This requires that PROJ_NETWORK is set to ON.

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

自动工具配置选项

大多数POSIX系统可能不需要任何选项来 ./configure 如果满足所有项目要求,则安装到公共目录中,并且需要“默认”行为。

一些有影响的环境变量被 ./configure ,没有预期的默认值:

CC

C编译器命令。

CFLAGS

C编译器标志。

CXX

C++编译器命令。

CXXFLAGS

C++编译标志

./configure --help 对于所有选项,以下是一些关键选项:

--enable-lto

启用编译器的链接时间优化,默认禁用。

--disable-tiff

默认情况下,启用TIFF支持以使用项目数据资源文件,但如果需要,可以禁用该功能。

--with-curl=ARG

启用支持卷曲 (ARG=pathcurl-config

--without-mutex

禁用真正的互斥锁(缺少pthreads)。

CMake

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

cd proj-8.0.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公司 更多选项。

注解

The use of projsync requires that network support is enabled (the default option). If the resource files are not installed using projsync PROJ will attempt to fetch them automatically when a transformation needs a specific data file. This requires that PROJ_NETWORK is set to ON.

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

CMake配置选项

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

BUILD_CCT=ON

构建 有条件现金流 ,默认打开。

BUILD_CS2CS=ON

构建 CS2CS ,默认打开。

BUILD_GEOD=ON

构建 格奥德 ,默认打开。

BUILD_GIE=ON

构建 ,默认打开。

BUILD_PROJ=ON

构建 PROJ ,默认打开。

BUILD_PROJINFO=ON

构建 projinfo项目 ,默认打开。

BUILD_PROJSYNC=ON

构建 projsync公司 ,默认打开。

BUILD_SHARED_LIBS

生成共享的项目库。Windows的默认值是关闭的,只生成一个静态库。“所有其他项的默认值”处于启用状态。有关详细信息,请参见CMake文档 BUILD_SHARED_LIBS .

在 7.0 版更改: 更名为 BUILD_LIBPROJ_SHARED

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 也可以指定给类似的库以生成调试版本。

使用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