地理空间数据云获取dem
地理空间数据云是一个提供多种地理信息数据的平台,包括DEM(数字高程模型)数据。以下是通过地理空间数据云获取DEM数据的步骤:
访问平台:首先,需要访问地理空间数据云的官方网站。
注册/登录账号:如果尚未注册,需要创建一个新账号。已有账号的用户可以直接登录。
选择数据集:登录后,进入数据检索页面。选择高级检索功能,并在数据集选项中选择DEM数据集。根据需要,可以选择SRTM DEM 90M等不同分辨率的数据。
-
定义研究区域:在获取DEM数据之前,需要确定研究区域的范围。地理空间数据云提供了多种定义研究区范围的方法,包括:
- 行政区划选择:通过选择特定的行政区域来定义研究区。
- 经纬度范围:通过输入研究区的经纬度坐标来定义范围。
- 行列号:使用特定的行列号来定位研究区。
- 地图选择:直接在地图上绘制一个范围来定义研究区。
- 上传.shp文件:上传一个包含研究区范围的矢量文件(.shp),系统会自动读取文件中的范围。
检索数据:根据选定的范围,点击搜索按钮。系统会返回覆盖该区域的DEM数据瓦片。如果研究区范围较大,可能需要下载多个瓦片。
下载数据:获取到DEM瓦片后,可以进行下载。如果下载的瓦片较多,可能需要在GIS软件中进行进一步的拼接和处理。
数据拼接:如果下载了多个DEM瓦片,需要使用GIS软件(如ArcGIS)进行拼接,以形成一个连续的DEM数据集。
后续处理:下载并拼接好的DEM数据可以用于多种应用,如地形分析、水文模拟、三维可视化等。
请注意,获取DEM数据的具体步骤可能会随着地理空间数据云平台的更新而有所变化,因此在操作时应参考平台提供的最新指南和帮助文档。
地形切片
1.CesiumLab切片
有坑
CesiumLab切片成果为4326投影,据TileLayer | 🌍maptalks study (glicon.design),MapTalks默认采用3857投影,此处如果将Map空间参考设置为4326,则同一GroupGLLayer | MapTalks Doc 中无法加载3857的在线瓦片。
2. dem2terrain工具切片
FreeGIS/dem2terrain: 根据dem数据生成地形切片的工具 (github.com)
公瑾出品,前序gdal环境随qgis装好了,安装即用。
渲染图制作
在QGIS中使用hillshade工具制作地形图是一种常用方法,它可以增加地图的立体感,更好地展示地形起伏。以下是使用hillshade工具制作地形图的步骤:
准备DEM数据:首先,确保你有一个DEM(数字高程模型)数据集。如果没有,可以通过各种渠道获取,例如地理空间数据云等。
导入DEM数据:打开QGIS软件,通过“图层”菜单中的“添加图层”选项导入你的DEM数据。
使用hillshade工具:在QGIS中,hillshade工具可以在“栅格”菜单下找到。点击“栅格” -> “分析” -> “hillshade”。
-
设置hillshade参数:
- 输入栅格:选择你的DEM图层作为输入栅格。
- 输出文件:指定hillshade图层的输出路径和文件名。
- 方位角:设置光源的方向,例如,如果你想要模拟上午的阳光,可以将方位角设置为东边。
- 高度角:设置光源的高度角,较低的值会使阴影更长,较高的值会使阴影更短。
- 缩放:可以调整阴影的密度,较高的值会使阴影更加细腻。
运行hillshade工具:设置好参数后,点击“运行”按钮。QGIS将根据DEM数据和设置的参数生成hillshade图层。
查看和调整hillshade图层:生成的hillshade图层将自动添加到图层面板中。你可以通过右键点击图层并选择“属性”来调整图层的样式,例如改变颜色或透明度。
添加其他图层:为了让地形图更加完整,可以添加其他图层,如等高线、行政边界、水系等。这些图层可以通过“添加图层”功能导入。
保存和输出:完成地形图的编辑后,可以通过“项目”菜单中的“保存”选项保存QGIS项目。如果需要将地形图输出为图片或其他格式,可以通过“制作打印布局”功能创建一个新的布局,并使用“导出为”功能将布局保存为所需的格式。
通过以上步骤,你可以在QGIS中使用hillshade工具制作出具有立体感的地形图。这些地图可以用于各种应用,如地理研究、城市规划、环境评估等。
示例代码
const hillshadeLayer = new maptalks.TileLayer("hillshade", {
urlTemplate: "./hillshade/{z}/{x}/{y}.png",
minZoom: 5,
maxAvailableZoom: 15,
});
const worldTerrain = new maptalks.TileLayer("base", {
urlTemplate:
"https://server.arcgisonline.com/arcgis/rest/services/World_Imagery/MapServer/tile/{z}/{y}/{x}",
maxAvailableZoom: 10,
});
const map = new maptalks.Map("map", {
center: [121.0521, 23.847, 1469],
zoom: 11,
pitch: 60,
zoomControl: true, // add zoom control
scaleControl: true, // add scale control
// overviewControl: true, // add overview control
lights: {
directional: {
direction: [0.5, 0, -1],
color: [1, 1, 1],
},
},
// baseLayer: worldTerrain,
});
/**start**/
const terrain = {
maxAvailableZoom: 14,
type: "mapbox",
tileSize: 256,
urlTemplate: `./output/{z}/{x}/{y}.png`,
shader: "lit",
material: {
baseColorFactor: [1, 1, 1, 1],
outputSRGB: 1,
roughnessFactor: 0.69,
metallicFactor: 0,
},
};
const group = new maptalks.GroupGLLayer(
"group",
[worldTerrain, hillshadeLayer],
{
terrain,
sceneConfig: {
environment: {
enable: true,
mode: 1,
level: 0,
brightness: 0.489,
},
},
}
);
group.addTo(map);