GRASS GIS 储存库
说明
GRASS GIS(https://grass.osgeo.org/)是一个地理信息系统,用于地理空间数据管理和分析、图像处理、图形/地图制作、空间建模和可视化。
如何获得这里的写入权限
一般来说:你并不需要真正的写权限,因为你可以简单地打开一个 拉取请求 来为 GRASS GIS 做贡献。更多详情请参见 CONTRIBUTING 文件。
想成为核心开发者?请看 获取 Git 写入权限的步骤
如何编译 GRASS
请看 INSTALL 文件。
是的,你真的应该阅读 INSTALL。此外,在 Wiki 中有详细的 编译说明。
Docker
使用下载的源代码构建一个 docker 映像(在包含源代码的目录下运行)。
docker build -t grassgis79 .
测试运行(假设你有现有的 GRASS GIS 测试位置,它可以从 这里 下载)。
#情况 1:在存放位置的 grassdata 目录下启动 docker run -it --rm --user=$(id -u):$(id -g) --volume $(pwd):/data \ --env HOME=/data/ grassgis79 grass --text nc_basic_spm_grass7/user1 \ --exec g.region -p # 情况 2:在任何地方启动 docker run -it --rm --user=$(id -u):$(id -g) \ --volume /your/test/grassdata/:/data --env HOME=/data/ grassgis79 \ grass /data/nc_basic_spm_grass7/PERMANENT --exec g.region -p
请注意,第一个 grassgis79 是映像的名称,而第二个 grass 是可执行文件的名称。
要运行这些测试(同样假设在本地)
docker run -it --rm --user=$(id -u):$(id -g) \ --volume /your/test/grassdata/:/data --env HOME=/data/ -w /code/grass \ grassgis79 grass /data/nc_basic_spm_grass7/PERMANENT --exec \ python -m grass.gunittest.main \ --location nc_basic_spm_grass7 --location-type nc
注意:如果你在构建 Docker 映像之前进行了本地编译,你可能会遇到问题,因为本地配置和本地编译文件会被复制到 Docker 映像中并被使用。为了确保你没有这个问题,请清理源代码中的所有编译文件。
make distclean
如何生成"程序员手册"
你可以在本地生成 《GRASS GIS 程序员手册》。
这需要 doxygen(http://www.doxygen.org)和可选的 Graphviz(http://www.research.att.com/sw/tools/graphviz/)
要构建 GRASS 程序员文档,请运行
make htmldocs
或以单个 html 文件的形式生成文档(建议简单阅读)
make htmldocs-single
这里。这需要相当长的时间。结果是在 lib/html/index.html 中,它引用了更多的文档库,在
lib/vector/html/index.html lib/db/html/index.html lib/gis/html/index.html
主文件是:./grasslib.dox,所有的子文件都要链接到这里。
要生成 PDF 格式的文件,运行
make pdfdocs