安装¶
这些页面描述了如何在计算机上安装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-europe
, proj-datumgrid-north-america
, proj-datumgrid-oceania
和 proj-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”,然后检查是否匹配。
运行OSGeo4W安装程序。
选择“高级安装”,然后按下一步。
选择“从Internet安装”,然后按“下一步”。
选择安装目录。默认的建议在大多数情况下是可以的。按“下一步”。
选择“本地包目录”。默认的建议在大多数情况下是可以的。按“下一步”。
选择“Direct connection”(直接连接),然后按Next。
选择下载.osgeo.org服务器,然后按下一步。
在“Commandlineu Utilities”下找到“proj”,然后单击“New”列中的包,直到出现要安装的版本。
按“下一步”安装项目。
你现在应该有一个“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
。
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_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¶
到达一个
sqlite3
或sqlite3.exe
可执行的。
- SQLITE3_INCLUDE_DIR¶
包含目录的路径
sqlite3.h
头文件。
- SQLITE3_LIBRARY¶
共享或静态库文件的路径,例如
sqlite3.dll
,libsqlite3.so
,sqlite3.lib
或者其他名字。
- ENABLE_CURL=ON¶
启用卷曲支持,默认为启用。
- CURL_INCLUDE_DIR¶
包含目录的路径
curl
目录。
- CURL_LIBRARY¶
共享或静态库文件的路径,例如
libcurl.dll
,libcurl.so
,libcurl.lib
,或其他名称。
- ENABLE_TIFF=ON¶
启用TIFF支持以使用项目数据资源文件,默认为启用。
- TIFF_INCLUDE_DIR¶
包含目录的路径
tiff.h
头文件。
- TIFF_LIBRARY_RELEASE¶
共享或静态库文件的路径,例如
tiff.dll
,libtiff.so
,tiff.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