package com.se.simu.service.Impl;
|
|
import com.se.simu.service.SemFilesSimuService;
|
import lombok.extern.slf4j.Slf4j;
|
import org.springframework.stereotype.Service;
|
|
import java.util.HashMap;
|
|
@Slf4j
|
@Service
|
public class SemFilesSimuServiceImpl implements SemFilesSimuService {
|
|
|
/**
|
* 获取 INTRODUCE
|
*
|
* @return {@link Object}
|
*/
|
@Override
|
public Object getIntroduce() {
|
HashMap<String, Object> introduceMap = new HashMap<>();
|
String introduce = "SEM定义城市空间对象(如建筑物、构筑物等)类型和相互关系的存储结构,支持为空间实体对象挂接非结构化的数据,如人工模型、点云模型、视频文件等。SEM可存储城市空间对象的元数据(Metadata)、实体对象(Entity)、链接对象(LinkObject)、属性(Attribute)、材质(Material)、纹理(Texture)、纹理顶点(TextureVertice)、图片数据(Image)、几何模板(Template)以及扩展内容(ExtensionSchema)等";
|
introduceMap.put("introduce", introduce);
|
introduceMap.put("10张表", "SEM包含元数据表、实体对象表、链接对象表、属性表、材质表、纹理表、纹理顶点表、图片数据表、几何模板表和扩展表");
|
introduceMap.put("Metadata(元数据表)", "用于存储 SEM 基础信息");
|
introduceMap.put("Entity(实体对象表)", "用于存储空间实体对象的几何数据");
|
introduceMap.put("LinkObject(链接对象表)", "用于存储空间实体对象的挂接对象信息");
|
introduceMap.put("Attribute(属性表)", "用于存储空间实体对象的属性");
|
introduceMap.put("Material(材质表)", "用于存储空间实体对象的材质信息");
|
introduceMap.put("Texture(纹理表)", "用于存储空间实体对象的纹理信息");
|
introduceMap.put("TextureVertice(纹理顶点表)", "记录空间实体对象的纹理顶点坐标值");
|
introduceMap.put("Image(图片数据表)", "存储空间实体对象的纹理或挂接的人工模型所应用的图片数据");
|
introduceMap.put("Template(几何模板表)", "存储空间实体对象的几何模板");
|
introduceMap.put("ExtensionSchema(扩展表)", "描述领域本体的扩展属性和扩展信息");
|
// 新增表
|
String dynzamizers = "1、动态数据存储在DYNZAMIZERS表中,其中:" + "url:数据url" + "data:zarr数据,使用的是zarr的压缩存储格式。详见zarr的zipstore。" + "gmlId:与实体对象相关联字段(使用ENTITY表(实体表)中的UUID相关联)" +
|
"" + "zarr数据结构示例:" + "Grid相关的zarr:" + "/" + "|——depth (n,height,width) " + "|——time(n)" + "" + "time存储时间序列" + "depth存储水深相关信息,三维数组,第一维为时间 与time相对应" +
|
"数组长度n代表时间切片的个数" + "height,width代表栅格的长和宽" + "降雨量相关zarr:" + "/" + "|——rainfall(n)" + "|——time(n)" + "" + "time存储时间序列" + "rainfall 存储降雨量相关信息,一维数组,与time相对应" +
|
"数组长度n代表时间切片的个数" + "" + "" + "2、terrain的存储方式:" + "类型为”+Terrain“" +
|
"Entity中几何存储地形的外包框,使用纹理贴图存储地形tif转出的png图片。";
|
introduceMap.put("DYNZAMIZERS(新增:动态数据存储)", dynzamizers);
|
//return dynzamizers.getBytes(StandardCharsets.UTF_8);
|
return introduceMap;
|
}
|
|
|
}
|