将shapefile文件加工为FBX文件、glb文件、gltf文件

一、文件和软件

文件类型:shapefile(我用的shp为房屋图斑;shp文件里有房屋高度的字段,且高度字段名为英文,这样生成的模型才有高度)
软件:qgis3.21.1或arcgis10.8、blender2.93.6

二、arcgis(或qgis)将shp文件的坐标系转换为3857(已经是3857坐标系就不用转了)

1、arcgis步骤如下(如果数据量大的话需要多等一会儿,转换成功后右下角会弹出提示);
在这里插入图片描述
2、qgis步骤如下
在这里插入图片描述在这里插入图片描述

三、blender启用blenderGIS功能

编辑——>偏好设置——>插件——>安装——>安装 BlenderGIS-master.zip 插件——>勾选 3D view BlenderGIS——>blender会出现GIS按钮
在这里插入图片描述
在这里插入图片描述

四、blender将shp生成模型(如果打开模型或者生成模型中出现了闪退,就把最初始的shp文件先用1、1、arcgis转换为4326坐标系,再用qgis转换为3857坐标系,再用blender加载模型)

选择arcgis或qgis生成的3857坐标系的shp文件
在这里插入图片描述
在这里插入图片描述
2、选则拉伸字段
在这里插入图片描述
3、结果展示
在这里插入图片描述

五、将加载的模型导出为fbx、glb、gltf

1、导出类型的选择
在这里插入图片描述
2、选择导出gltf后,可以在这里选择是导出glb还是gltf
在这里插入图片描述

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
要将Shapefile格式文件换为DWG格式,你可以使用GDAL库中的OGR(OpenGIS Simple Features Reference Implementation)功能。下面是使用GDAL进行换的基本步骤: 1. 引用GDAL和OGR库:在C#项目中,首先需要引用GDAL和OGR库。你可以在代码文件中添加以下引用: ```csharp using OSGeo.GDAL; using OSGeo.OGR; ``` 2. 初始化GDAL:在程序的入口点或初始化代码中,调用GDAL的初始化方法: ```csharp Gdal.AllRegister(); ``` 3. 打开Shapefile数据源:使用OGR打开Shapefile数据源: ```csharp DataSource sourceDS = Ogr.Open("path/to/your/shapefile", 0); ``` 4. 创建DWG文件数据源:使用OGR创建DWG文件数据源: ```csharp Driver dwgDriver = Ogr.GetDriverByName("DWG"); DataSource targetDS = dwgDriver.CreateDataSource("path/to/your/dwgfile", null); ``` 5. 复制图层:遍历Shapefile数据源中的图层,并将其复制到DWG数据源中: ```csharp for (int i = 0; i < sourceDS.GetLayerCount(); i++) { Layer sourceLayer = sourceDS.GetLayerByIndex(i); Layer targetLayer = targetDS.CreateLayer(sourceLayer.GetName(), sourceLayer.GetSpatialRef(), sourceLayer.GetGeomType(), null); FeatureDefn featureDefn = sourceLayer.GetLayerDefn(); for (int j = 0; j < featureDefn.GetFieldCount(); j++) { FieldDefn fieldDefn = featureDefn.GetFieldDefn(j); targetLayer.CreateField(fieldDefn, 1); } sourceLayer.ResetReading(); Feature feature; while ((feature = sourceLayer.GetNextFeature()) != null) { Feature targetFeature = new Feature(featureDefn); targetFeature.SetFrom(feature); targetLayer.CreateFeature(targetFeature); feature.Dispose(); targetFeature.Dispose(); } sourceLayer.Dispose(); targetLayer.Dispose(); } ``` 6. 关闭数据源:在使用完数据后,需要关闭数据源以释放资源: ```csharp sourceDS.Dispose(); targetDS.Dispose(); ``` 以上是使用GDAL库将Shapefile格式文件换为DWG格式的基本步骤。请注意,换过程中可能需要进行投影换或其他额外的操作,具体取决于你的数据和需求。你可以根据需要进行进一步的处理和优化。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值