文章目录
- Cesium
-
- Cesium 3d tiles
- 航拍测绘
- 高程
-
- dem
- ctb工具高程tif转地形服务
- gdal
- 待整理
- 3dtiles转换
- Raster processing using Python Tools
-
- conda的安装与使用
- docker 安装miniconda
- QGIS
- 瞰景
google earth等GIS平台 高德地图3D arcgis3D地图调用 cesiumJs 资源: https://services.arcgisonline.com/ArcGIS/rest/services/World_Imagery/MapServer
Cesium
Cesium 3d tiles
obj转3dtiles:
admin/admin
全局安装转换工具
npm install -g obj23dtiles
在obj文件所在目录下新建customTilesetOptions.json文件
{
"longitude": 2.0951930024893487633345172365509, // 中心点经度的弧度值。
"latitude": 0.52876478642792071439744170351935, // 中心点纬度的弧度值。
"transHeight": 0.0, // 单位为米。
"gltfUpAxis": "Z", // 模型朝向
"region": true, // 使用 region 作为外包体。
"box": false, // 使用 box 作为外包体。
"sphere": false // 使用 sphere 作为外包体。
}
*经纬度转弧度计算公式: 度数/360 = 弧度/2π 中心点根据tif文件的最大最小经纬度的平均值计算(实际根据后台提供的经纬度)
不太清楚这个配置文件还有没有别的属性 在obj所在目录下执行
obj23dtiles -i odm_textured_model_geo.obj –tileset -p customTilesetOptions.json
cesium加载gltf glTF使用json格式进行描述,也可以编译成二进制的内容:bglTF
航拍测绘
开源工具ODM版:https://www.opendronemap.org/odm/ 测试图片:https://www.opendronemap.org/odm/datasets/
# place your JPGs in a folder named “images” (for example /data/drone/odm_data_aukerman/images) , then simply run:
docker run -ti –rm -v /data/drone/odm_data_aukerman:/datasets/code opendronemap/odm –project-path /datasets
# 查看都有哪些镜像:
docker images
# 查看都有哪些容器:
docker ps -a
# 再次运行:
docker run -ti –rm -v /data/drone/odm_data_aukerman:/datasets/code 481112dec249 –project-path /datasets –dsm
# –dsm 生成高程tif数据
# –fast-orthophoto
高程
dem
DEM 数据下载 可通过几种途径下载:
对应数据官网,可直接访问下载,可能会比较慢 中科院镜像,速度会好点 地理空间数据云,有提供免费数据下载 各种地图下载器,比如图新地图等
ctb工具高程tif转地形服务
ctb工具:Cesium Terrain Server https://github.com/geo-data/cesium-terrain-server/tree/master/docker https://segmentfault.com/a/1190000009124524
docker运行ctb报错,修改docker存储类型: docker vi /etc/sysconfig/docker-storage
#DOCKER_STORAGE_OPTIONS="–storage-driver overlay2 "
DOCKER_STORAGE_OPTIONS="–storage-driver devicemapper "
重做存储后,镜像要重新下载
# ctb-tile工具
docker pull homme/cesium-terrain-builder
# 切片
docker run -v /data/ctb:/data homme/cesium-terrain-builder \\
ctb-tile –output-dir /data/ctb/tilesets/terrain /data/ctb/rasters/dsm.original.tif
docker run -v /data/ctb:/data 65b2ae07eefa ctb-tile –output-dir /data/tilesets/terrain/test /data/rasters/dsm.original.tif
# 发布地形服务
docker run -p 8888:8000 -v /data/ctb/tilesets/terrain:/data/tilesets/terrain \\
geodata/cesium-terrain-server
docker run -p 8888:8000 -v /data/ctb/tilesets/terrain:/data/tilesets/terrain 417b66fcb988
访问地址:http://ip:8888/tilesets/test
其中layer.json和level0 x0 y0的瓦片,服务自动生成
http://ip:8888/tilesets/test/layer.json
http://ip:8888/tilesets/test/15/54621/21899.terrain
gdal
文档:https://gdal.org/programs/gdal_pansharpen.html centos7 安装gdal
yum install cmake cmake-gui
yum install cairo-devel libcurl-devel
# yum localinstall http://mirror.logol.ru/epel/7/x86_64/e/epel-release-7-2.noarch.rpm
yum localinstall http://centos.ustc.edu.cn/epel/epel-release-latest-7.noarch.rpm
yum install gdal-devel geos-devel openssl-devel libpqxx-devel proj-devel gtk3-devel wxGTK3-devel yum install libcanberra-gtk3
yum install gdal
https://huangwang.github.io/2018/06/13/Cesium%E5%8D%AB%E6%98%9F%E5%9C%B0%E5%9B%BE%E5%92%8C%E9%AB%98%E7%A8%8B%E6%95%B0%E6%8D%AE%E5%88%87%E7%89%87%E7%BB%8F%E9%AA%8C%E6%80%BB%E7%BB%93/: 下载地形数据。可以从地理空间数据云下载地形数据。注册登录后,在首页选择“DEM 数字高程数据”,在选择“GDEMV2 30M 分辨率数字高程数据”。
合并地形数据。使用GDAL下的gdal_merge.py工具将下载的地形数据合并成一个Tif文件。 gdal_merge.py -o out.tif input1.tif input2.tif
切割地形数据。使用牛人制作的gdal2srtmtiles.py脚本分割地形数据。编辑gdal2srtmtiles.py,在最后设置高程文件和输出目录。参考链接工具gdal2srtmtiles的安装使用。
发布地形服务。把terrain_tiles直接放到与 Cesium同端口的Tomcat或IIS站点。 下(不能跨域),即可发布服务。 需要在Web Server中增加配置 .terrain文件的 Content-Type设为 application/octet-stream,同时拷贝“覆盖至生成tiles结果”目录中的 layer.json文件和0文件夹至生成结果目录下,比如我当前是 terrain_tiles目录下。
# 使用gdal坐标系转换,转换成4326:
gdalwarp -t_srs EPSG:4326 -of GTiff /data/drone/20201117/odm_dem/dsm.original.tif /data/drone/20201117/odm_dem/dsm.original.4326.tif
# 查看坐标系已经转换:
gdalinfo /data/drone/20201117/odm_dem/dsm.original.4326.tif
待整理
nohup "$_RUNJAVA" $JAVA_OPTS $MARLIN_ENABLER -DGEOSERVER_DATA_DIR="$GEOSERVER_DATA_DIR" -Djava.awt.headless=true -DSTOP.PORT=8079 -DSTOP.KEY=geoserver -jar start.jar 1>/dev/null 2>/data/geoserver/logs/geoserver.log
echo -e '\\n(/data/geoserver/bin/startup.sh &)' >> /etc/rc.local
跨域问题解决,选择方案一 https://www.cnblogs.com/yangzhengier/p/12072743.html
Could not list layers for this store, an error occurred retrieving them: Failed to create reader from file:///data/drone/20201117/odm_dem/dsm.original.tif and hints Hints: EXECUTOR_SERVICE = java.util.concurrent.ThreadPoolExecutor@31ed1aca[Running, pool size = 0, active threads = 0, queued tasks = 0, completed tasks = 0] REPOSITORY = org.geoserver.catalog.CatalogRepository@48f1c4d7 System defaults: FORCE_AXIS_ORDER_HONORING = http LENIENT_DATUM_SHIFT = true COMPARISON_TOLERANCE = 1.0E-8 FEATURE_FACTORY = org.geotools.feature.LenientFeatureFactoryImpl@1b065145 STYLE_FACTORY = StyleFactoryImpl GRID_COVERAGE_FACTORY = GridCoverageFactory TILE_ENCODING = null FORCE_LONGITUDE_FIRST_AXIS_ORDER = true FILTER_FACTORY = FilterFactoryImpl
只支持地理坐标系,如果是投影坐标系会出现这个问题,需要格式转换 通过gdal_translate 2026-01-24czkqm33eouh.tif /data/drone/20201117/odm_dem/dsm.original.out.tif
gdalwarp -t_srs EPSG:4326 -of GTiff /data/drone/20201117/odm_dem/dsm.original.tif /data/drone/20201117/odm_dem/dsm.original.4326.tif
obj23dtiles -i odm_textured_model_geo.obj
obj转b3dm: https://blog.csdn.net/weixin_30780221/article/details/99835451?utm_medium=distribute.pc_relevant.none-task-blog-OPENSEARCH-8.control&depth_1-utm_source=distribute.pc_relevant.none-task-blog-OPENSEARCH-8.control
3dtiles转换
https://github.com/PrincessGod/objTo3d-tiles npm install -g obj23dtiles
Raster processing using Python Tools
https://geohackweek.github.io/raster/
conda的安装与使用
https://docs.conda.io/en/latest/miniconda.html#windows-installers
历史版本下载: https://repo.anaconda.com/miniconda/
.condarc 重启后生效
channels:
– http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
– http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/
– http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/msys2/
show_channel_urls: true
WARNING: pip is configured with locations that require TLS/SSL, however the ssl module in Python is not available.
C:\\Users\\y\\pip下新建pip.ini
[global]
index-url = http://mirrors.aliyun.com/pypi/simple/
[install]
trusted-host = mirrors.aliyun.com
使用 conda config –show-sources 查看配置文件位置
D:\\Python\\miniconda3\\condabin\\activate.bat
conda env create -f environment.yml
source activate rasterenv
D:\\Python\\miniconda3\\condabin\\deactivate.bat
conda env update -f environment.yml
docker 安装miniconda
docker pull continuumio/miniconda3
docker run -i -t continuumio/miniconda3 /bin/bash
docker 内安装vim
apt-get install vim
conda config –show-sources
conda config –add channels http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
demo.py 运行报错:PROJ: proj_create_from_database: Cannot find proj.db,demo.py添加环境变量:
import os
import sys
os.environ['PROJ_LIB'] = os.path.dirname(sys.argv[0])
demo.py 运行报错:TypeError: unsupported operand type(s) for -: ‘NoneType’ and ‘NoneType’
http://ip:8081/geoserver/drone/ows?service=WFS&version=1.0.0&request=GetFeature&typeName=drone:shape.1117-1202.4326&maxFeatures=50&outputFormat=application%2Fjson
http://ip:8081/geoserver/drone/ows?service=WFS&version=1.0.0&request=GetFeature&typeName=drone:shape.1117-1202.4326&maxFeatures=50&cql_filter=Value=3&outputFormat=application%2Fjson
QGIS
https://qgis.org/en/site/ https://datacarpentry.org/organization-geospatial/ https://geohackweek.github.io/nDarrays/
瞰景
瞰景Smart3D 2019 1126版更新点:
(1)增加s3m格式的支持(正式版)
(2)资源管理器中全工程下修改路径同步
(3)Engine打开任务路径时给出提示,避免长时间等待一个不可访问的路径
(4)修复点云重建失败的问题
(5)修复个别excel导入失败的问题
(6)解决已完成的瓦片图形加载不正确问题
(7)像控点流程优化,添加控制点时右键提示说明
(8)修复了一些其他的Bug
软件资源:
(1)软件安装包下载链接:https://pan.baidu.com/s/1fZ6cNr4aguWkUp7U8MobeA
提取码:pc8x
(2)软件版本更新须知:先卸载老版本Smart3d 2019软件,再安装新版本软件,试用期内无需重新授权,直接安装使用。
(3)手册参考bbs.smart3d.cn
(4)操作视频链接:https://pan.baidu.com/s/1Qv-ZPfHfhdfrkCS7wPKkbQ 提取码:dbxs
(5)软件试用流程参考http://bbs.smart3d.cn/forum.php?mod=viewthread&tid=102




