1.Linux下安装GDAL
2.opengl-01:源码编译
3.QGIS在Windows下的源码依赖编译与打包
4.windows编译GDAL+GEO+PROJ4(傻瓜教程)
5.DEM数字高程数据切片Cesium
6.PostGIS入门篇 一 PostGIS安装
Linux下安装GDAL
Linux环境下的GDAL安装教程
GDAL,全称为Geospatial Data Abstraction Library,源码依赖是源码依赖一个开源的栅格空间数据处理库,它支持多种文件格式的源码依赖转换,并提供了实用的源码依赖命令行工具。它就像是源码依赖ftplib源码一个数据转换神器,能将诸如DXF这类文件转换成GeoJson等格式,源码依赖广泛应用于地图制作等领域。源码依赖
安装GDAL在Linux系统上需要遵循特定步骤。源码依赖首先,源码依赖确认你的源码依赖系统版本,然后开始安装过程。源码依赖下载GDAL的源码依赖最新版本,比如gdal-3.2.0.tar.gz,源码依赖可以从官方或相关博客获取。源码依赖安装过程中,需要确保已安装了必要的依赖,如SQLITE3和PROJ,尤其是SQLITE3版本要高于3.。安装时可能遇到问题,如找不到sqlite3.h头文件,这可能是交叉编译工具需要额外配置的提示。
如果遇到configure失败,可能涉及依赖文件或gcc版本问题。这时可以尝试升级gcc,cpa网站源码下载或者解决.deps目录的依赖问题。如果源码安装遇到困难,可能需要安装GMP、MPFR和MPC等库。在某些情况下,可能需要彻底更换gcc编译器,但这个过程可能会比较复杂,需要细心排查。
对于在Docker容器内安装GDAL,可以参考相关博客,但需要注意,虽然Docker提供了一种隔离的安装环境,但如果你在本地安装失败,使用Docker的成功率也无法保证。最后,官方文档和GitHub上的dockerImages提供了GDAL的官方镜像和使用指南,但请务必根据自己的实际情况调整安装脚本。
总结,Linux下安装GDAL需要对系统环境有深入了解,并可能涉及多个步骤和一些特定问题的解决。在遇到困难时,官方文档和相关博客是重要的参考资源。祝你安装顺利!
opengl-:源码编译
1 源码编译 + cmake + vscode
系统环境:ubuntu ..6
编译环境: g++9.4 cmake3..3
编译工具:vscode
1.1 glfw源码编译
Release 3.3. · glfw/glfw 下载 glfw-3.3..zip
安装依赖
解压源码文件
cmake配置
编译工程 edgelee / vscode-opengl-tutorial -1-glfw
1.2 glad源码编译
glad.dav1d.de/ 选择配置内容(如图)
生成源文件 glad.zip
解压zip
cmake配置
一级CmakeList
二级CmakeList
编译工程 edgelee / vscode-opengl-tutorial -2-glad
1.3 imgui源码编译(依赖系统OpenGL)
imgui源码下载
github.com/ocornut/imgu...
ubuntu安装opengl
解压zip
cmake配置
一级CmakeList
二级CmakeList
根据makefile内容配置CmakeList(imgui-1..4/examples/example_glfw_opengl3/Makefile)
编译输出 edgelee / vscode-opengl-tutorial -3-imgui-(system-gl)
1.4 imgui源码编译(不依赖系统OpenGL)
imgui源码下载:同1.3
ubuntu安装opengl:不需要(即使安装,nginx读取文件源码不使用)
解压zip:同1.3
cmake配置
一级CmakeList:同1.3
二级CmakeList:去掉OpenGL依赖
编译错误
根据错误提示,修正
imgui-1..4/backends/imgui_impl_glfw.cpp文件的添加
编译结果 edgelee / vscode-opengl-tutorial -3-imgui-(no-system-gl)
2 实例2.1 旋转三角形 glfw +glad
源码文件:glfw-3.3./examples/simple.c(不采用glfw自带glad,修改到自编译glad)
一级CmakeList
二级CmakeList
生成效果 edgelee / vscode-opengl-tutorial -sample-glfw-glad
2.2 gui界面 glfw +imgui
源码文件:imgui-1..4/examples/example_glfw_opengl3/main.cpp
一级CmakeList
二级CmakeList
生成效果 edgelee / vscode-opengl-tutorial -sample-glfw-imgui
2.3 gui界面 glfw +glda +imgui(建议方式)
注:建议采用此方式,openGL api 统一使用 gdal api
源码文件:imgui-1..4/examples/example_glfw_opengl3/main.cpp(修改到 gdal api)
一级CmakeList
二级CmakeList
生成效果 edgelee / vscode-opengl-tutorial -sample-glfw-glad-imgui
QGIS在Windows下的编译与打包
在深入探讨QGIS在Windows下的编译与打包过程中,需要逐步构建一个完整的开发环境。首先,Linux编译环境的准备相对复杂,涉及到了CCmake等工具的使用,其中需要关注的细节主要包括OSGeo4W的依赖安装与配置。对于QGIS 3.这类版本,选择正确的OSGeo4W版本(v2)至关重要,并确保安装过程中不会遗漏qsci依赖。同时,确保C:\OSGeo4W\bin目录下的关键文件如o4w_env.bat、py3_env.bat和qt5_env.bat正常存在,以便后续的编译与打包过程顺利进行。
Visual Studio Studio的安装则是构建Windows环境的另一个关键步骤。选择适合的版本(如Visual Studio Community )并确保所有相关依赖都已就位,以便与OSGeo4W环境兼容。在安装完成后,需要调整C:\OSGeo4W\QGIS\ms-windows\osgeo4w\msvc-env.bat文件以适应QGIS项目的特定需求,包括添加gdal-dev-env.bat文件到指定路径。
使用CCmake构建MS工程分为三步:configure、generate和open project。啊狸子源码谁有在configure阶段,进入QGIS源码根目录并关闭某些不必要的选项,最后通过configure得到所需的编译参数。generate阶段,生成适当的项目文件,确保Debug配置下的项目构建为RelWithDebugInfo。在open project阶段,需要特别注意,由于OSGeo4W的release版本限制,Debug配置可能遇到编译错误或异常现象。
在编译过程中,关注严重性代码错误,如C错误,表明数超过对象文件格式限制,应使用/bigobj选项进行编译。处理这些细节后,进行QGIS工程的打包工作。然而,打包环境的准备是整个过程中最复杂和繁琐的部分,需要解决依赖环境与打包环境的兼容性问题。安装NSIS(Nullsoft Scriptable Install System)并确保所有依赖软件的正确安装是关键步骤。使用creatensis.pl脚本进行打包时,由于网络问题或依赖失效,可能需要寻找国内镜像源以解决安装问题。手机象棋巫师源码
打包时需注意QGIS安装包大小限制问题,NSIS不能打包超过2GB的文件,因此在打包前应从C:\OSGeo4W\QGIS\ms-windows\osgeo4w\unpacked-x_目录下移除示例数据,以确保打包操作的顺利进行。将QGIS安装程序文件复制到特定目录下,并执行打包脚本,最终得到可执行的QGIS安装包。
安装QGIS时,双击安装包即可完成安装过程。对于二次开发需求,QGIS提供了命令行界面,开发者可以根据项目需求进行深入定制与扩展。
windows编译GDAL+GEO+PROJ4(傻瓜教程)
一、编译GEOS库
编译GEOS库有nmake编译与cmake-gui编译两种方法。
nmake编译流程如下:
1. 解压源码到指定路径。
2. 修改nmake.opt文件,根据编译目标(位或位)、Debug或Release模式调整相关配置。
3. 打开VS的命令提示符,切换至指定路径,执行编译命令。
4. 编译完成后,会在特定目录生成geos相关的库文件。
cmake-gui编译流程如下:
1. 使用cmake-gui设置编译路径、输出目录。
2. 配置完成后,点击generate按钮。
3. 执行编译,编译完成的bin、include、lib文件将存储于设置的输出目录。
二、编译proj库
使用cmake-gui编译proj库,设置输出路径,确保生成动态库。
三、编译GDAL库
基于已编译的GEOS库,调整nmake.opt文件,配置GDAL_HOME路径与相关依赖。
针对debug版本,需在nmake.opt中添加特定配置。
设置Proj库相关参数,确保动态链接。
使用nmake命令执行编译、生成操作。
四、注意事项
在将geos库集成至GDAL时,确保geos库路径无空格,否则可能导致头文件无法识别。
DEM数字高程数据切片Cesium
在处理DEM数字高程数据切片时,首要解决的环境问题涉及基础环境配置、GDAL版本选择与错误处理。确保使用官方推荐的GDAL版本(2.2),遵循正确顺序安装依赖(sqlite3、tiff、proj),避免遇到如FlushCache override错误等问题。服务代理设置中,需注意GZIP压缩可能导致的RangError错误,推荐不修改源码,以保持性能稳定。
在Cesium场景中加载地形时,通过获取DEM数据、安装切片工具(CTB)并发布服务的流程实现。对于获取DEM数据,推荐使用地理空间数据云,提供国内米精度的数字高程信息。Cesium-terrain-builder作为切片工具,适配Cesium需求,支持加载切片成果至Cesium场景中。
对于小白用户,采用Docker容器安装Cesium-terrain-builder更为便捷,确保版本与仓库分支(master-quantized-mesh)匹配,支持Cesium两种地形格式。安装前,需确保基础环境(如Debian最小环境)与工具准备(版本选择为3.4.2,避免更新至3.8引发错误)。
源码安装时,下载最新源码后需切换至特定分支或应用PR以确保兼容性。编译正式切片服务时,配置响应头中GZIP以优化数据传输。同时,处理跨域访问问题,确保CORS设置,以实现服务的广泛可用性。
PostGIS入门篇 一 PostGIS安装
本文将引导你入门PostGIS的安装过程,首先从安装PostgreSQL 1.1.1版本开始,升级gcc是必要的步骤。
首先,下载并解压新的gcc压缩文件,然后安装gcc依赖,指定安装路径,并配置环境变量。确保已移除低版本的yum安装,以避免因库版本不匹配的错误。接着,为在数据库中使用uuid,可能需要安装相关库(PostgreSQL 版本之后自带uuid无需安装)。
继续进行用户创建,然后通过PG源码编译安装,注意设置文件权限。数据库安装完成后,尽管可以本地连接,但为了允许远程访问,需要调整$PGDATA中的pg_hba.conf和postgresql.conf中的参数,具体细节请参考其他相关资源。
接下来,我们将安装PostGIS 3.1,它依赖geos、proj、gdal、libxml、json-c、protobuf。若需三维功能,请安装sfcgal,路网分析则需pgrouting。先安装proj 6.3.2,确保其与高版本sqlite兼容。
随后依次安装gdal、jsonc、libxml2,以及protobuf和protobuf-c。sfcgal的三维功能需要cmake编译,同时预先编译boost和cgal,以避免编译时的库查找问题。编译sfcgal后,pgrouting可单独安装,后续会单独介绍。
在安装PostGIS前,别忘了配置ld.so.conf,然后进行postgis的安装。可能会遇到如lsqt3未找到的错误,这时需要解决。最后,安装验证通过,标志着PostGIS的安装顺利完成。
å¦ä½å¨ubuntuç³»ç»ä¸å®è£ gmt4.5软件
ä¸è½½
å®æ¹ftpï¼ftp://ftp.soest.hawaii.edu/gmt
éè¦ä¸è½½çå å æ¬ï¼
gmt-4.5.-src.tar.bz2
gshhg-gmt-2.3.4.tar.gz
注ï¼GMTä¸çtriangulateå½ä»¤æ两个ä¸åçæºç ï¼å ¶ä¸ä¸ä¸ªéµå¾ªGPLåè®®ï¼å¦ä¸ä¸ªä¸éµå¾ªGPLåè®®ãGMTçsrcå ä¸å å«äºåè ãè¥æç¹æ®éæ±ï¼éè¦ä½¿ç¨åè æºç çåè½ï¼å¯ä»¥ä¸è½½gmt-4.5.-non-gpl-src.tar.bz2ï¼å¹¶å°è§£ååçtriangulateæºç è¦çgmt-4.5.-src.tar.bz2ä¸çç¸åºæºç ã
ä¾èµå ³ç³»
åºç¡ä¾èµå
GMTç¼è¯è¿ç¨éè¦Cç¼è¯å¨ï¼ä»¥åä¸äºåºå±çåºæ件ã
对äºUbuntu/Debian:
sudo apt-get install gcc g++ make
sudo apt-get install libxt-dev libxaw7-dev libxmu-dev libSM-dev
对äºCentOS/RHEL/Fedora:
sudo yum install gcc gcc-c++ make
sudo yum install libXt-devel libXaw-devel libXmu-devel libSM-devel zlib-devel
软件ä¾èµå
GMT4主è¦ä¾èµäºnetCDF4ï¼å¯ä»¥ç´æ¥ä½¿ç¨Linuxåè¡çå®æ¹æºä¸æä¾çnetCDFå ãé¤äºnetcdfä¹å¤ï¼å»ºè®®è¿å®è£ gdalå ãè½ç¶GMTä¸ä¾èµäºgdalï¼ä½gdalå¯ä»¥è½»æ¾å°å°å ¶ä»æ°æ®æ ¼å¼è½¬æ¢ä¸ºGMTå¯è¯å«çæ ¼å¼ã
对äºUbuntu/Debian:
sudo apt-get install libnetcdf-dev libgdal1-dev
对äºRHEL/CentOS/Fedora:
sudo yum install netcdf netcdf-devel gdal gdal-devel
注æï¼
ä¸å®ä¸è¦è¯å¾èªå·±æå¨ç¼è¯netCDFãå¦æå¨é 读æ¬æä¹åæ¾ç»æå¨ç¼è¯è¿ï¼ä¸å®è¦å°åæ¥æå¨ç¼è¯çæçæ件å é¤å¹²åãé常å¯ä»¥ä½¿ç¨locate netcdfï¼æ¾å°/usr/localç®å½ä¸çä¸netCDFç¸å ³çæ件ï¼ç´æ¥å é¤å³å¯ã
CentOSåRHELçå®æ¹æºä¸æ²¡ænetCDFï¼éè¦é¦å æ·»å EPELæºåå®è£ netCDFï¼Fedoraå®æ¹æºä¸èªå¸¦netCDFï¼
å®è£ GMT
ç¼è¯GMTæºç
1
2
3
4
5
$ tar -jxvf gmt-4.5.-src.tar.bz2
$ cd gmt-4.5.
$ ./configure --prefix=/opt/GMT-4.5.
$ make
$ sudo make install-all
å ¶ä¸--prefixæå®äºGMTå®è£ è·¯å¾ï¼ä½ å¯ä»¥æå®ä¸ºå ¶ä»è·¯å¾ï¼ä½è¦æ³¨æåé¢å ¶ä»æ¥éª¤è¦ä¸è¿éçè·¯å¾ç»ä¸ã
å®è£ 海岸线æ°æ®
1
2
3
$ tar -zxvf gshhg-gmt-2.3.4.tar.gz
$ sudo mkdir /opt/GMT-4.5./share/coast
$ sudo cp -r gshhg-gmt-2.3.4/* /opt/GMT-4.5./share/coast/
ä¿®æ¹ç¯å¢åé
å~/.bashrcä¸å å ¥GMT4çç¯å¢åéï¼å¹¶ä½¿ç¯å¢åéçæï¼
1
2
3
4
$ echo 'export GMT4HOME=/opt/GMT-4.5.' >> ~/.bashrc
$ echo 'export PATH=${ GMT4HOME}/bin:$PATH' >> ~/.bashrc
$ echo 'export LD_LIBRARY_PATH=${ LD_LIBRARY_PATH}:${ GMT4HOME}/lib' >> ~/.bashrc
$ exec $SHELL -l
说æï¼
第ä¸ä¸ªå½ä»¤å~/.bashrcä¸æ·»å ç¯å¢åéGMT4HOMEï¼
第äºä¸ªå½ä»¤ä¿®æ¹~/.bashrcï¼å°GMT4çbinç®å½å å ¥å°PATHä¸ï¼
第ä¸ä¸ªå½ä»¤å°GMT4çlibç®å½å å ¥å°å¨æé¾æ¥åºè·¯å¾ä¸ï¼è¥ä¸ºä½ç³»ç»ï¼å为libï¼ä½ç³»ç»å为libï¼
第å个å½ä»¤æ¯éæ°è½½å ¥bashï¼ç¸å½äºsource ~/.bashrcã