1.QGIS在Windows下的编译与打包
2.windows编译GDAL+GEO+PROJ4(傻瓜教程)
3.Cesium地形切片--CTB(cesium-terrain-builder)填坑指南
4.PostGIS入门篇 一 PostGIS安装
5.银河麒麟10下postgres14.5+postgis3.3.2+pgRouting3.4.2 源码安装
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阶段,sms管理源码进入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的socket源码在哪命令提示符,切换至指定路径,执行编译命令。
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库路径无空格,否则可能导致头文件无法识别。
Cesium地形切片--CTB(cesium-terrain-builder)填坑指南
面临全中国Cesium地形数据制作需求,原计划使用cesiumlab进行操作,但处理数千张DEM数据时,面临性能和数据管理问题,导致项目效率低下。
随后发现CTB(cesium-terrain-builder)工具,能有效提升处理速度,且不占用个人办公资源,便于数据处理与后期发布。然而,使用过程中遇到编译问题,GDAL环境部署后,CTB的cmake编译不通过,经排查后发现是GDAL版本与CTB需求不符,调整至GDAL-2.4.4后,问题解决。
在验证CTB使用效果时,发现cesium无法直接使用CTB输出的gzip压缩地形文件,为了解决瓦片压缩问题,通过修改CTB源代码,将CTBZFileOutputStream改为CTBFileOutputStream,完成对输出文件格式的调整,使cesium能直接利用输出结果进行数据展示。
对于多数据同时处理问题,采用Python脚本按顺序处理文件夹下数据,并结合GDAL生成虚拟数据集(vrt)的方法,以简化层.json文件的合并过程,提升工作效率。最终,通过此方案,不仅成功解决了技术难题,还有效提升了项目处理效率,实现自动化与标准化流程。
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的安装顺利完成。
银河麒麟下postgres.5+postgis3.3.2+pgRouting3.4.2 源码安装
本次安装基于银河麒麟Kylin-Server-V-SP3-General-Release--X_操作系统,采用postgres安装,不使用root用户,并将安装路径设置为/data/pgsql目录。安装流程分为多个步骤,具体如下: 一、准备 安装postgres依赖 创建用户和目录 授权安装文件 二、安装postgresql 注意环境变量设置 通过/home/postgres/.bashrc文件进行环境变量配置 初始化数据库 配置远程访问和端口 启动postgresql服务 三、安装postgis 不同包内容介绍:postgis、geos、proj、libxml、protobuf、protobuf-c、postgis_sfcga(用于支持2D和3D数据操作) 安装geos、sqlite、proj、gdal、json、libxml、protobuf-c等依赖库 安装sfcgal和pgrouting插件 使用root权限配置软连接过程 四、验证安装 安装后进行测试,确保所有组件正确安装并能协同工作 五、解决问题 解决libxml、cgal安装问题:通过配置环境变量,确保所有依赖库正确安装 解决扩展开启失败问题:检查并添加缺失的动态链接库,如libproj.so. 以上步骤确保了银河麒麟操作系统上postgres、postgis和pgRouting的稳定安装与使用。在实际部署过程中,根据环境和需求可能需要进行相应的调整和优化。