关于项目
- DataProcess.FileProject 为 Smart里的拼接投影库。
- DataProcess.ProjectTool 为 拼接投影接口工具。
- DataProcess.Gdal 为 GDAL 使用 SWIG生成的 平台调用的源码
如果是新的跨平台项目,PIE.Meteo.Gdal项目可以直接拷贝,里面代码无需修改,也不要修改,如需封装,外加一层封装。
关于开发
关于安装
Linux以CentOS7为例
安装.NetCore环境
注册 Microsoft 密钥和源
1 2 3 4 5 6 7 8
| sudo rpm -Uvh https://packages.microsoft.com/config/centos/7/packages-microsoft-prod.rpm
获取https://packages.microsoft.com/config/centos/7/packages-microsoft-prod.rpm 准备中... 正在升级/安装... 1:packages-microsoft-prod-1.0-1
|
安装 .NET Core 运行时
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| sudo yum install dotnet-runtime-3.1
======================================================================================= Package 架构 版本 源 大小 ======================================================================================= 正在安装: dotnet-runtime-3.1 x86_64 3.1.3-1 packages-microsoft-com-prod 29 M 为依赖而安装: dotnet-host x86_64 3.1.3-1 packages-microsoft-com-prod 39 k dotnet-hostfxr-3.1 x86_64 3.1.3-1 packages-microsoft-com-prod 148 k dotnet-runtime-deps-3.1 x86_64 3.1.3-1 packages-microsoft-com-prod 2.8 k
事务概要 ======================================================================================= 安装 1 软件包 (+3 依赖软件包)
|
Linux上安装GDAL2.4.0
前期准备,将GDAL安装源码传送并解压到Linux环境中,并安装依赖项
1
| sudo yum install gcc gcc-c++ gcc-gfortran.x86_64 byacc.x86_64 flex.x86_64 libjpeg-turbo-devel.x86_64 zlib-devel.x86_64
|
编译安装 proj-4.9.3
1 2 3 4 5
| cd proj-4.9.3 ./configure --prefix=/usr/local make -j4 make install cd ..
|
编译安装 geos-3.7.1
1 2 3 4 5
| cd proj-4.9.3 ./configure --prefix=/usr/local make -j4 make install cd ..
|
编译安装 hdf-4.2.14
1 2 3 4 5
| cd hdf-4.2.14 ./configure --prefix=/usr/local --enable-shared --disable-fortran make -j4 make install cd ..
|
编译安装 hdf5-1.8.11
1 2 3 4 5
| cd hdf5-1.8.11 ./configure --prefix=/usr/local make -j4 make install cd ..
|
编译安装 gdal-2.4.0
1 2 3 4 5
| cd gdal-2.4.0 ./configure --prefix=/usr/local make -j4 make install cd ..
|
配置linux系统的动态库查找目录
1 2
| echo '/usr/local/lib' >> /etc/ld.so.conf ldconfig
|
Windows上安装GDAL2.4.0
将已经编译好的GDAL解压到Windows64位的电脑上
Path加入以下变量
./gdal/bin
./geos/bin
./hdf4/bin
./hdf5/bin
./jpeg/bin
./proj/bin
./proj/share
./szip/bin
./zlib/bin
加入环境变量GDAL_DATA
./gdal/data
安装处理程序
将生成的程序传送到Linux环境下
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
| ls
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Config Data Debug64 DebugWin64 Release64 ReleaseWin64 <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
cd Debug64/netcoreapp3.1 ls
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Config PIE.Meteo.HsdReader.dll en-US PIE.Meteo.ProjectTool.deps.json HDF.PInvoke.dll PIE.Meteo.ProjectTool.dll libgdalconst_warp.so PIE.Meteo.ProjectTool.dll.config libgdal_warp.so PIE.Meteo.ProjectTool.exe libogr_warp.so PIE.Meteo.ProjectTool.pdb libosr_warp.so PIE.Meteo.ProjectTool.runtimeconfig.dev.json PIE.Meteo.FileProject.dll PIE.Meteo.ProjectTool.runtimeconfig.json PIE.Meteo.FileProject.dll.config prjChche PIE.Meteo.FileProject.pdb ProjectionSetting.xml PIE.Meteo.Gdal.dll Temp PIE.Meteo.Gdal.pdb zh-Hans <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
|
运行测试程序
1
| dotnet PIE.Meteo.ProjectTool.dll FY3D_Project_test.xml
|
关于调试
通过Visual Studio 使用 SSH 附加到进程 的 方式进行远程调试。
- 通过宏开关在Debug版本的Program开头加入以下代码
1 2 3 4 5
| #if DEBUG Console.WriteLine("Please press any Key to continue........"); Console.ReadKey(); #endif
|
- 将Debug版本的输出目录全部复制到Linux远程机器上。
- 在Linux机器上运行Debug下的主文件,会自动进入等待输入。
- 打开Windows上的VS,依次展开[调试]->[附加到进程]。
- 连接类型选择SSH,并加入目标机器。
- 下侧会出现可用的进程,选择dotnet进程并确定,此时已附加进程成功。
- 转回到Linux按下任意键,VS将会自动进入断点。
---------------------------------待补充--------------------------------------