**需求:项目涉及到从地图上的坐标点生成DXF文件并导出功能,涉及到cad和地理坐标的知识java项目资料比较少,多方了解选用了geotools+gdal实现此功能,而gdal需要自己手动编译dll,os文件, 闲话少说,方便自己项目迁移部署留档和小伙伴们参考。
**
因为是liunx系统,直接去官网下载二进制源文件 编译
一,说明:
1.gdal 官网:https://gdal.org/download.html
建造要求
要构建GDAL 3或更高版本,您至少需要C ++ 11兼容的编译器以及 PROJ 6或更高版本。这只会给您一个最少的构建,它将缺少很多驱动程序。有关其他可选依赖项,请查阅Raster驱动程序和Vector驱动程序页面。
2.PROJ 官网:https://proj.org/index.html
建造要求
C99编译器
C ++ 11编译器
SQLite3> = 3.11(标头,库和可执行文件)
libtiff> = 4.0(标题和库)
可选(但推荐):curl> = 7.29.0
GNU make for autotools build或CMake> = 3.9
3.sqlite 官网:https://www.sqlite.org/index.html
二,安装
从官方给出的构建要求,安装
gcc和g++ :这个如果没有去装一个就好了
SQLite3:PROJ需要的环境 下载地址:https://www.sqlite.org/download.html
PROJ:gdal需要的环境 下载地址:https://proj.org/download.html
注:gadl3.0以上需要proj6以上
GDAL:**下载地址 :https://gdal.org/download.html
SQLite3:解压,配置 并编译 SQLite3:
tar -zxvf sqlite-autoconf-3330000.tar.gz
cd sqlite-autoconf-3330000/
./configure
make
make install
PROJ: 解压、配置 并编译 PROJ
tar -zxvf proj-6.3.0.tar.gz
cd proj-6.3.0/
./configure
make
make install
GDAL:解压,配置 并编译 GDAL
tar -zxvf gdal-3.2.0.tar.gz
cd gdal-3.2.0/
./configure
make
make install
不配置./configure编译路径 默认在/usr/local/lib下
修改配置文件
vi /etc/profile
新增:export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib
source /etc/profile
检测gdal是否编译成功
gdalinfo -version
三,gdal编译java 进入
编辑 vi gdal-3.2.0/swig/java/java.opt 配置 JAVA_HOME 路径:
#Java Stuff
#JAVA_HOME = "C:\Program Files\Java\jdk1.6.0_16"
#JAVA_HOME = /usr/lib/jvm/java-6-openjdk/
#JAVA_HOME = /usr/lib/jvm/java-7-openjdk-amd64/
JAVADOC=$(JAVA_HOME)/bin/javadoc
JAVAC=$(JAVA_HOME)/bin/javac
JAVA=$(JAVA_HOME)/bin/java
JAR=$(JAVA_HOME)/bin/jar
JAVA_INCLUDE=-I$(JAVA_HOME)/include -I$(JAVA_HOME)/include/linux
编译:
cd gdal-3.2.0/swig/java/
make
路径下会生成jar包,把jar包copy到自己项目的lib下
> <dependency>
> <groupId>org.gdal</groupId>
> <artifactId>gdal</artifactId>
> <version>3.2.0</version>
> <scope>system</scope>
> <systemPath>${project.basedir}/lib/linux/gdal.jar</systemPath>
> </dependency>
测试生成dxf文件,服务器环境安装搭建完成!!