API接口
该产品提供API接口如下:
命名空间 | 命名空间说明 | 类名 | 类说明 | 接口 | 参数 | 作用 |
SuperMapSDK | SuperMap SDK 命名空间,包含数据加载、三维分析等功能 | RealspaceView | 接口主类 | SceneControl:get | SceneControl | 获取场景控制类 |
IsSelected:get/set | bool | 是否支持选中 | ||||
IsOperateCamera:get/set | bool | 是否进行镜头控制操作 | ||||
IsCollision:get/set | bool | 是否添加碰撞体 | ||||
WorldOrigin:get | Vector3d | 返回渲染的中心点 | ||||
MultiViewportMode:get/set | MultiViewportMode | 获取/设置 分屏模式 | ||||
void SetMainCamera(ref Camera camera) | Camera:场景相机 | 设置主相机 | ||||
bool Initialize() | 初始化,第一帧渲染之前调用 | |||||
void Render() | 每一帧调用 Render渲染更新 | |||||
void PreRender() | 在主场景渲染之前执行的事件 | |||||
void OnDestroy() | 销毁所有的对象 | |||||
public void SetGeoreferenceOrigin(double dLongitude, double dLatitude, double dAltitude) | dLongitude:经度 dLatitude:纬度 dAltitude:高度 |
设置地理原点 | ||||
GeoreferenceComponent | 地理参考组件类 | Longitude:get/set | double | 关联物体的经度 | ||
Latitude:get/set | double | 关联物体的纬度 | ||||
Altitude:get/set | double | 关联物体的高度 | ||||
ECEF:get | Vector3d | 关联物体的ECEF坐标 | ||||
GameObject:set | GameObject | 关联物体 | ||||
void Start() | 在脚本的start方法中调用 | |||||
void Update() | 在脚本的Update方法中调用 | |||||
SceneEditorWnd | 场景操作统一管理类 | enum PixelToGlobeMode { TerrainAndModel = 0, Sphere = 1 } |
TerrainAndModel 地形和模型都参与求交点 Sphere 只与地表求交点 |
求交类型 | ||
enum Action3D { Null = 0, Pan = 1, PointSelect = 10, RectSelect = 11, MeasureDistance = 31, MeasureArea = 32, MeasureHeight = 33, MeasureHorizontalDistance = 39, PanSelect = 105, }; |
Null 没有操作 Pan 平移 PointSelect 点选 RectSelect 框选 MeasureDistance 量算距离 MeasureArea 量算面积 MeasureHeight 量算高度 MeasureHorizontalDistance 水平量算 PanSelect 平移选择 |
Action枚举 | ||||
Analyst3D | 分析基类(纯虚基类) | num AnalyzeMode { Sightline = 1, ViewShed = 2, Skyline = 3, ProjectionImage = 4, ShadowVisibilityQuery = 5, Cluster = 6, ViewDome = 7, Facade = 8 } |
Sightline 通视分析 ViewShed 可视域分析 Skyline 天际线 ProjectionImage 视频投放 ShadowVisibilityQuery 日照分析 Cluster 点聚合 ViewDome 开敞度分析 Facade 立面图分析 |
分析类型 | ||
enum AnalysisQuality { Low = 0, Medium = 1, High = 2 } |
Low 低 Medium 中 High 高 |
分析质量 | ||||
AnalyzeMode:get | AnalyzeMode | 获取分析类型 | ||||
void Build() | 执行分析 | |||||
void Clear() | 清除分析 | |||||
AssetStyle | 资源风格类 | enum AssetType { Prefab = 0, Material = 1 } |
Prefab 预设体 Material 材质 |
资源类型 | ||
AssetType:get/set | AssetType | 资源类型 | ||||
AssetField:get/set | string | 设置/获取风格字段 | ||||
Conditions:get/set | SerializableDictionary<string, string> | 根据字段的不同属性值设置对应的资产或材质 | ||||
AssetPath:get/set | string | 资产路径 | ||||
Atmosphere | 大气类 | IsVisible:get/set | bool | 大气是否可见 | ||
AttributeField | 属性字段信息 | Name:get | string | 获取属性字段名称 | ||
CameraState | 相机俯仰角类 | CameraState(Camera camera) | 构造函数 | |||
CameraState(double lon, double lat, double altitude, double tilt, double heading, double roll) | lon:经度 lat:纬度 altitude:高度 tilt:俯仰角 heading:方位角 roll:翻滚角 |
相机状态 | ||||
Camera:get/set | Camera | 关联相机 | ||||
Tilt:get/set | double | 获取设置俯仰角 | ||||
Heading:get/set | double | 获取设置水平角 | ||||
Roll:get/set | double | 获取设置翻滚角 | ||||
Altitude:get/set | double | 获取设置高度 | ||||
Latitude:get/set | double | 获取设置纬度 | ||||
Longitude:get/set | double | 获取设置经度 | ||||
ClipModeType | 场景裁剪类型枚举 | enum ClipModeType { ClipNothing = 0, ClipInner = 1, ClipOuter = 2 } |
ClipNothing:不进行裁剪 ClipInner:内裁,保留裁剪区域内部数据 ClipOuter :外裁,保留裁剪区域外部数据 |
场景裁剪类型 | ||
FlyManager | 飞行路线类 | enum FlyTurningMode { Smoothly = 0, Directly = 1 } |
Smoothly :平滑拐弯 Directly :直角拐弯 |
飞行拐弯类型 | ||
enum FlyStatus { Stop, Pause, Play } |
Stop:当前飞行状态为已经停止 Pause:当前飞行状态为暂停 Play:当前飞行状态为正在飞行中,可以在暂停后设置飞行状态类型为Play继续飞行 |
飞行状态 | ||||
Duration:get/set | double | 获取或设置本次飞行(即当前整个路线)需要的总时间,单位为秒。 | ||||
PlayRate:get/set | double | 获取或设置播放速率。该属性值的范围为0-100,当大于1.0时,则沿飞行路径快速飞行,小于1.0时,表示沿飞行路径慢速飞行。 | ||||
TurningMode:get/set | FlyTurningMode | 获取或设置飞行拐弯方式。支持直角拐弯和平滑拐弯。 | ||||
Routes:get | Routes | 获取路线集合 | ||||
Status:get | FlyStatus | 获取当前的飞行状态(停止,暂停,飞行中) | ||||
CurrentStopIndex:get/set | int | 获取或设置当前飞行所到的站点 | ||||
void Play() | 按照返回的路线集合(Routes)指定的路线开始飞行,或继续进行中断的飞行 | |||||
void Stop() | 停止当前飞行 | |||||
void Pause() | 暂停当前飞行 | |||||
void Update() | 更新飞行管理的内部计算 | |||||
GlobalImage | 地表类 | IsVisible:get/set | bool | 设置/获取地表透明 | ||
Int32 AddExcavationRegion(Geometry geometry, string tag) | geometry:三维面 tag:名字 returns 索引 |
添加开挖面 | ||||
void ClearExcavationRegions() | 清除所有开挖面 | |||||
Geometry GetExcavationRegion(int index) | index:索引 | 根据索引获取开挖面 | ||||
string GetExcavationRegionTag(int index) | index:索引 returns:标签名 |
获取开挖面标签 | ||||
int IndexOfExcavationRegion(string tag) | tag:标签名 returns 索引 |
获取指定标签的开挖面索引 | ||||
bool RemoveExcavationRegion(int index) | index:索引 returns 是否删除成功 |
删除指定索引的开挖面 | ||||
bool SetExcavationRegionTag(int index, string tag | index:索引 tag:标签名 returns:是否设置成功 |
设置指定索引开挖面的名字 | ||||
HeatMapInfo | 热力图类 | PointPixel:get/set | Int32 | 像素大小 | ||
Intension:get/set | double | 最大强度值 | ||||
HypsometricSetting | 分层设色类 | enum DisplayMode { NONE = 0, Face = 1, Line = 2, Face_And_Line = 3, } |
NONE 无 Face 填充纹理 Line 等值线 Face_And_Line 混合模式 |
显示模式枚举 | ||
enum AnalysisMode { AM_CONTOUR_MAP = 0, AM_GUIDES = 2, } |
AM_CONTOUR_MAP 等值线分析 AM_GUIDES 参考线 |
分析模式枚举 | ||||
DisplayMode:get/set | DisplayMode | 显示模式 | ||||
AnalysisMode:get/set | AnalysisMode | 分析模式 | ||||
LinesInterval:get/set | double | 设置间距 | ||||
LineColor:get/set | Color | 设置线颜色 | ||||
MaxVisibleValue:get/set | double | 最大可见值 | ||||
MinVisibleValue:get/set | double | 最小可见值 | ||||
Texture:get/set | Texture2D | 颜色表 | ||||
ColorTableMaxKey:get/set | double | 对照表最大值 | ||||
ColorTableMinKey:get/set | double | 对照表最小值 | ||||
Opacity:get/set | double | 透明度 | ||||
Layer3D | 三维图层类。该类提供了三维图层显示控制等便于三维地图管理的一系列属性。 | Name:get | string | 获取图层名 | ||
DataName:get | string | 获取图层数据名 | ||||
IsVisible:get/set | bool | 设置/获取图层可见性 | ||||
Type:get | Layer3DType | 返回图层类型 | ||||
OriginalPosition:get/set | Vector3 | 设置图层插入点 | ||||
Bounds:get | Rectangle2D | 获取图层bound | ||||
BoundingBoxUGC:get | Bounds | 获取UGC坐标系下包围盒 | ||||
Selection:get/set | Selection3D | 获取/设置选择集 | ||||
ClipLineColor:get/set | Color | 裁剪线颜色 | ||||
SelectedColor:get/set | Color | 选中颜色 | ||||
CullMode:get/set | CullMode | 获取/设置图层渲染模式 | ||||
Style:get/set | Style3D | 图层风格 | ||||
MinObjectVisibleDistance:get/set | double | 获取或设置该三维图层模型对象的最小可见距离值,单位为米。 | ||||
MaxObjectVisibleDistance:get/set | double | 获取或设置该三维图层模型对象的最大可见距离值,单位为米。 | ||||
MaxVisibleAltitude:get/set | double | 获取或设置三维图层的最大可见高度 | ||||
MinVisibleAltitude:get/set | double | 获取或设置三维图层的最小可见高度 | ||||
bool GetVisibleInViewport(short viewport) | viewport:视口 | 获取图层在指定视口的可见性 | ||||
void SetVisibleInViewport(short viewport, bool isVisible) | viewport:视口 isVisible:是否可见 |
设置图层在指定视口的可见性 | ||||
void SetCustomClipPlane(Vector3d firstPoint, Vector3d secondPoint, Vector3d thirdPoint) | firstPoint 第一个点 secondPoint 第二个点 thirdPoint 第三个点 |
设置自定义裁剪面 | ||||
void ClipByBox(GeoBox geo, ClipModeType mode) | geo:box对象 mode:裁剪模式 |
box裁剪 | ||||
void ClearCustomClipPlane() | 清除裁剪面 | |||||
GeoBox GetClipBox(); | 获取用来裁剪的盒子 | |||||
ClipModeType GetClipModeType(); | 获取Box裁剪的模式 | |||||
void UpdateData() | 刷新图层 | |||||
Layer3DDatasetVector | 矢量图层基类 | Theme3D:get/set | Theme3D | |||
Layer3DImageFile | 影像文件图层类 | 影像类 | ||||
FieldInfo | 数据集字段信息类。存储字段的名称、类型、等信息。 | Type:get | FieldType | 属性字段数值类型 | ||
Name:get | String | 属性字段类 | ||||
Layer3Ds | 三维图层集合类。该类对一个三维场景中的所有三维图层进行管理。 | Count:get | Int | 获得图层数目 | ||
this[Int32 index]:get | Layer3D index:指定图层的索引 |
返回指定索引的图层 | ||||
this[string name]:get | Layer3D name:指定图层的名称 |
返回指定名称的图层 | ||||
Layer3D Add(string strDataName,Layer3DType layerType,bool bAddToHead,string layerName) | strDataName:配置文件全路径[in] layerType:图层类型[in] bAddToHead:是否添加到队列最前面[in] string layerName:图层名 |
添加本地图层 | ||||
Layer3D Add(string strDataName, string layerName, Layer3DSetting layerSetting) | strDataName配置文件全路径 layerName图层名 layerSetting数据集属性基类 |
打开点/线/面/模型 数据集 | ||||
Layer3D Add(string strServerRootUrl, string layerName) | strServerRootUrl:URL地址 layerName:图层名 |
加载其它rest服务 | ||||
Layer3D Add(string strStdLayerName, Layer3DType layerType, string strStdUserName, string strStdPassWord) | strStdLayerName:图层名 layerType:图层类型 strStdUserName:账号 strStdPassWord:密码 |
在线OpenStreetMap、BingMaps等地图 | ||||
Layer3D Add(string iserverURL, string layerName, string dataName, float fDPI, ImageFormatType imageType, bool addToHead) | iserverURL:在线地址[in] layerName:图层名 dataName:数据名称 fDPI:设备分辨率 imageType:图片类型 addToHead:是否添加到队列最前面 |
添加天地图 | ||||
Layer3D Add(string strURL, Layer3DType layerType,string layerName,bool addToHead) | strURL:URL地址[in] layerType:图层类型[in] layerName:图层名字[in] bAddToHead:是否添加到队列最前面[in] |
添加在线图层 | ||||
bool Remove(string strLayerName) | strLayerName:图层名称 | 移除指定图层 | ||||
Layer3DS3MFile | 瓦片图层类 | enum S3MType { ObliquePhotogrammetry3DModel = 0, NormalCacheFile = 1, PointCloud = 11, } |
ObliquePhotogrammetry3DModel 倾斜摄影模型 NormalCacheFile 普通OSGB瓦片 PointCloud 点云 |
数据类型 | ||
enum LoadingPriorityEnum { Root_Priority = 0, Child_Priority = 1, UsePagedLodInfo = 2, Child_Priority_NonLinear = 3 } |
Root_Priority 深度优先 Child_Priority 广度优先 UsePagedLodInfo 索引优先 Child_Priority_NonLinear 深度优先非线性切换 |
加载S3M调度模式 | ||||
LODRangeScale:get/set | float | 设置图层LOD层级 | ||||
MaxDataValue:get | double | 获取数据的最大高度值或最大强度值 | ||||
MinDataValue:get | double | 获取数据的最小高度值或最小强度值 | ||||
ClampVector:set | 设置是否贴地 | |||||
HypsometricSetting:get | HypsometricSetting | 分层设色 | ||||
DataType:get | S3MType | 获取S3M类型 | ||||
List<string> GetAllFieldValue(int nID) | nID:ID值 | 获取当前ID对象的所有属性值 | ||||
List<AttributeField> GetAttributeFields() | 获取当前图层的所有属性字段 | |||||
Int32 AddFlattenRegion(GeoRegion3D geometry, string tag) | geometry:多边形 tag:多边形名字 |
添加一个压平对象,指定对象标签 | ||||
void StopProcess() | 停止更新 | |||||
void StartProcess() | 开始更新 | |||||
void ClearFlattenRegions() | 清空压平对象 | |||||
GeoRegion3D GetFlattenRegion(Int32 index) | index:新增region的索引 | 获得该索引的压平对象Geometry | ||||
string GetFlattenRegionTag(Int32 index) | 获得该索引的压平对象标签 | |||||
Int32 IndexOfFlattenRegion(string tag) | tag:压平对象标签 | 获得该标签的压平对象索引 | ||||
bool RemoveFlattenRegion(Int32 index) | index:压平对象索引 | 移除该索引的压平对象 | ||||
bool SetFlattenRegionTag(Int32 index, string tag) | index:压平对象索引 tag:新标签 |
设置该索引的压平对象标签 | ||||
void SetCustomClipPlane(Vector3d firstPoint, Vector3d secondPoint, Vector3d thirdPoint) | firstPoint:第一个点 secondPoint:第二个点 thirdPoint:第三个点 |
设置自定义裁剪面 | ||||
void ClearCustomClipPlane() | 清除裁剪面 | |||||
void SetObjectsVisible(List<Int32> ids, bool visible) | 设置ID对象可见性 | |||||
void SetObjectsTranslate(List<Int32> ids, Vector3d translate) | ids:对象ID数组 translate:XYZ偏移的距离 |
设置ID对象偏移 | ||||
void SetObjectsMaterial(List<Int32> ids, string MaterialPath) | 设置ID对象Unity材质 | |||||
Layer3DType | 三维图层类型枚举类 | enum Layer3DType { ImageFile = 1, KML = 2, OSGB = 15, BingMaps = 22, OpenStreetMaps = 24, ArcgisMaps = 34, Dataset = 3, WMS = 11, WMTS = 12 Map = 9 } |
ImageFile 影像图层 KML KML图层 OSGB 模型瓦片图层 BingMaps 在线BingMaps数据 OpenStreetMaps 在线OpenStreetMaps数据 Dataset 数据集图层 WMS WMS服务 WMTS WMTS服务 Map Map服务 |
图层类型 | ||
enum ImageFormatType { none = 0, BMP = 121, JPG = 122, JPG_PNG = 147 } |
BMP:BMP格式 JPG:JPG格式 JPG_PNG:JPG_PNG格式 |
影像类型 | ||||
enum TerrainLayerType { STK = 2, TIANDITU = 3, } |
STK :STK地形 TIANDITU:天地形 |
地形类型 | ||||
MaterialsEditor | 用于图层材质编辑的类 | bool SetMaterialAsset(Layer3DDatasetModel layer, string gameObjectName, string strNewMaterialPath) | layer目标图层 gameObjectName修改的子对象名 strNewMaterialPath:新材质名(仅存在于Resources目录下的带子路径的材质名) |
更改材质 | ||
Routes | 飞行路线集合 | Count:get | int | |||
CurrentRouteIndex:get/set | int | 获取或设置当前的路线,默认没有Route时为-1 | ||||
this[int index]:get | Route | |||||
int IndexOf(string RouteName) | RouteName:路线名称 | 返回指定名称的路线的序号。 | ||||
Route Create(string RouteName) | RouteName:路线名称 | 新建飞行路线 | ||||
bool FromFile(string file) | file:飞行路线文件 | 从指定的文件中导入路线集合对象 | ||||
bool ToFile(string file) | file:飞行路线文件 | 将路线集合导出本地文件 | ||||
bool Remove(int nIndex) | nIndex:路线索引 | 删除指定索引的路线 | ||||
Route | 飞行路线类 | this[int nIndex]:get | RouteStop | 获取路线站点 | ||
Count:get | int | 路线站点个数 | ||||
Name:get/set | string | 获取路线名称 | ||||
IsFlyingLoop:get/set | bool | 是否循环飞行 | ||||
int IndexOf(string StopName) | StopName:站点名称 | 获取站点索引 | ||||
bool Insert(RouteStop stop, int nIndex) | stop:站点 nIndex:站点索引 |
插入站点 | ||||
bool Contains(string StopName) | StopName:站点名称 | 判断站点集合中是否包含指定名称 | ||||
bool Add(RouteStop stop) | stop:站点 | 新增站点 | ||||
bool Remove(int nIndex) | nIndex:指定的站点索引 | 删除指定站点 | ||||
RouteStop | 飞行站点类 | Name:get/set | string | 站点名称 | ||
Duration:get/set | double | 获取或设置从站点出发到下一站点飞行的持续时间。默认值为0,单位为秒。 | ||||
void SetCamera(CameraState state) | state:相机状态 | 设置站点的相机姿态 | ||||
CameraState GetCameraState() | 获取站点的相机姿态 | |||||
Scene | 三维场景类。三维数据会依据地理空间参考信息,填加到三维场景中。 | enum MultiViewportMode { None = 0, Horizontal = 1 } |
None:还原分屏 orizontal:左右分屏 |
分屏模式切换 | ||
Layers:get | Layer3Ds | 返回3D图层集合 | ||||
TerrainLayers:get | TerrainLayers | 返回地形图层集合 | ||||
TrackingLayer:get | TrackingLayer | 返回跟踪图层 | ||||
SceneType:get/set | SceneType | 场景类型 | ||||
Sky:get | Sky | 场景天空对象 | ||||
IsStarVisible:get/set | bool | 是否显示星空 | ||||
Atmosphere:get | Atmosphere | 获取大气 | ||||
Sun:get | Sun | 返回太阳对象 | ||||
GlobalImage:get | GlobalImage | 返回全球底图对象 | ||||
IsCreateSkirt:get/set | bool | 是否开启裙边 | ||||
SkirtHeight:set | float | 设置裙边高度 | ||||
FlyManager:get | FlyManager | |||||
TerrainExaggeration:get/set | Double | 地形夸张 | ||||
Scene() | 构造函数 | |||||
bool Open(string url, string name) | url 在线场景URL name 场景名称 |
打开在线场景 | ||||
bool Open(string name) | name 场景名称 | 打开场景 | ||||
void Close() | 关闭场景 | |||||
void Refresh() | 刷新场景 | |||||
double GetScale() | 获取比例尺 | |||||
Vector3d PixelToCartesian(Vector3 point) | point:屏幕坐标 | 获取像素转Unity空间下的笛卡尔坐标 | ||||
Vector3d PixelToGlobe(Vector3 point) | point:屏幕坐标 | 获取像素对应的真实地理位置 | ||||
Vector3d PixelToGlobe(Vector3 point, PixelToGlobeMode mode) | point 屏幕坐标 mode 计算模式 |
获取像素对应的真实地理位置 | ||||
void LongitudeLatitudeToUnity(double dLon, double dLat, double dHeight, out Quaternion Rotation, out Vector3 Position) | dLon:经度值 dLat:纬度值 dHeight:高度值 Rotation:旋转四元数 Position:笛卡尔坐标 |
经纬度转Unity坐标 | ||||
double GetHeight(double dLon, double dLat) | 指定地理坐标获取海拔高度 | |||||
Vector3d CartesianToLonLat(Vector3d vtCartesian) | vtCartesian:笛卡尔坐标 | 笛卡尔坐标转经纬度 | ||||
void EnsureVisible(Vector3 position) | position:插入点 | 快速定位指定图层 | ||||
void EnsureVisible(TerrainLayer layer) | 定位到地形图层 | |||||
void EnsureVisible(Layer3D layer) | 定位到图层 | |||||
void Fly(Vector3 position, int seconds) | position:指定位置 seconds:飞行时间 |
飞行到指定图层 | ||||
void Fly(CameraState cameraState, int milliseconds) | 飞到指定相机姿态 | |||||
void Fly(Bounds GlobeBoundingBox, int milliseconds) | 飞到包围盒 | |||||
string ToXML() | 导出信息到XML文件中 | |||||
bool FromXML(string xml) | 导入XML文件中的信息 | |||||
bool ToJson(string strJsonFilePath) | strJsonFilePath:json文件 | 导出信息到json文件中 | ||||
bool FromJson(string strJsonFilePath) | strJsonFilePath:json文件 | 导入json文件中的信息 | ||||
bool GetSelectedInfo(Vector3 point, ref SelectInfo Info) | point屏幕坐标 layer返回子对象信息 |
获取当前屏幕坐标的子对象信息,需要开启碰撞检测 | ||||
SceneControl | 三维场景控件类 | Scene:get | 获取场景对象 | |||
TerrainPosition:get/set | Vector3 | 设置地形影像的插入点 | ||||
Action:get/set | Action3D | 设置场景操作状态 | ||||
SceneType | 场景类型枚举类 | enum SceneType { Flat = 0, Ellipsoid_WGS84 = 6 } |
flat:平面 Ellipsoid_WGS84:椭球 |
场景类型枚举 | ||
Selection3D | 三维选择集类,该类用于处理三维场景中上被选中的对象。 | Layer:get | Layer3D | 获取关联的图层 | ||
this[Int32 index]:get | Int32 | 根据选中对象索引获取对象ID | ||||
LastSelectID:get | Int32 | 获取最后选中的对象ID | ||||
Count:get | Int32 | 选中对象数目 | ||||
SelectedMaterial:get/set | string | 设置选择集的材质,如果图层中对象替换了Unity材质,则必须设置选择集的材质 | ||||
TerrainLayer | 地形图层类。该类包含了地形图层对象的相关属性信息 | Name:get | string | 图层名称 | ||
MinHeight:get | float | 最小高度 | ||||
MaxHeight:get | float | 最大高度 | ||||
IsVisible:get/set | bool | 设置可见性 | ||||
IsShowGlobe:get/set | bool | 是否显示无效值 | ||||
LODRangeScale:get/set | float | 设置图层LOD层级 | ||||
Bounds:get | Rectangle2D | 获取Bounds | ||||
TerrainLayers | 地形图层集合类。通过设置该类添加、移除地形图层。 | Count:get | Int | 获得图层数目 | ||
this[Int32 index]:get | TerrainLayer index:图层索引 |
返回指定索引的图层 | ||||
this[string name]:get | TerrainLayer name:图层名字 |
返回指定名称的图层 | ||||
HypsometricSetting:get | HypsometricSetting | 分层设色 | ||||
SlopeSetting:get | SlopeSetting | 坡度坡向 | ||||
TerrainLayer Add(string iserverURL, string strLayerName) |
iserverURL:在线地址[in] strLayerName:图层名[in] |
添加在线地形 | ||||
TerrainLayer Add(string strFile, bool addToHead) |
strFile:地形配置文件路径[in] addToHead:是否添加到图层前面[in] |
添加本地地形 | ||||
public TerrainLayer Add(string strURL, string strLayerName, TerrainLayerType eLayerType) | strURL:URL地址[in] strLayerName:图层名 eLayerType:图层类型 |
添加公共地形图层 | ||||
bool Remove(int Index) | 移除地形 | |||||
TrackingLayer | 跟踪图层类 | Count:get | int | 图层中对象的个数 | ||
int Add(Geometry geometry, string tag) | geometry几何体 tag标签名称,不能重复 |
在图层中添加一个新的几何对象 | ||||
Int32 Add(List<Geometry3D> geoList,Style3D geoStyle3D, HeatMapInfo info, string tag) | geoList点数据 info热力图 tag标签名 |
添加热力图 | ||||
bool Remove(int index) | index指定序号 | 移除图层中指定序号的对象 | ||||
Geometry Get(int index) | index指定序号 | 返回图层中指定序号的几何体 | ||||
string GetTag(int index) | index指定序号 | 获取指定序号对象的标签名 | ||||
bool SetTag(int index, string tag) | index 指定序号 tag 标签名 |
设置图层中指定序号的对象的标签名 | ||||
void Clear() | 清除图层中所有对象 | |||||
int IndexOf(string tag) | tag 标签名 | 返回指定标签名对象的序号 | ||||
Sky | 天空盒 | Sky() | 构造函数 | |||
IsVisible:get/set | bool | 天空是否可见 | ||||
SlopeSetting | 坡度坡向分析类 | enum DisplayMode { NONE = 0, FACE = 1, ARROW = 2, FACE_AND_ARROW = 3, } |
NONE = 0:不使用显示模式 FACE = 1:显示填充 ARROW = 2:显示轮廓线 FACE_AND_ARROW = 3:显示填充和轮廓 |
显示模式 | ||
DisplayStyle:get/set | DisplayStyle | 显示模式 | ||||
ColorDictTable:get/set | Texture2D | 颜色表 | ||||
ArrowTexture:get/set | Texture2D | 箭头纹理 | ||||
MaxVisibleValue:get/set | double | 最大可见值 | ||||
MinVisibleValue:get/set | double | 最小可见值 | ||||
ArrowMove:get/set | bool | 坡向箭头是否移动 | ||||
ColorTableMaxKey:get/set | double | 对照表最大值 | ||||
ColorTableMinKey:get/set | double | 对照表最小值 | ||||
Opacity:get/set | double | 不透明度 | ||||
Style3D | 风格类 | enum AltitudeMode { Absolute = 2, ClampToObject = 6, ClampToGround = 0 } |
Absolute 绝对高度 ClampToObject 贴对象 ClampToGround 贴地 |
风格的高度模式 | ||
enum FillMode3D { Fill = 1, Line = 2, LineAndFill = 3 } |
Fill 填充 Line 轮廓 LineAndFill 填充与轮廓 |
填充模式 | ||||
FillColor:get/set | Color | 填充颜色 | ||||
AltitudeMode:get/set | AltitudeMode | 高度模式 | ||||
BottomAltitude:get/set | double | 底部高程 | ||||
ExtendHeight:get/set | double | 拉伸高度 | ||||
FillMode:get/set | FillMode3D | 填充模式 | ||||
LineColor:get/set | Color | 线填充颜色 | ||||
LineWidth:get/set | double | 底部高程 | ||||
TilingU:get/set | double | 侧面纹理U方向重复次数 | ||||
TilingV:get/set | double | 侧面纹理v方向重复次数 | ||||
TopTilingU:get/set | double | 顶面纹理U方向重复次数 | ||||
TopTilingV:get/set | double | 顶面纹理v方向重复次数 | ||||
TopTextureFile:get/set | string | 顶部纹理文件 | ||||
SideTextureFiles:get/set | string | 侧面纹理文件 | ||||
Marker3DTranslation:get/set | Vector3d | 图层整体平移 | ||||
Style3D() | 构造函数 | |||||
Cluster | 点聚合类 | pixelRange:get/set | int | 聚类像素范围 | ||
minimumClusterSize:get/set | int | 最小可聚类数 | ||||
Enable:get/set | bool | 是否进行聚类 | ||||
ClusterPoints:get/set | List<Vector3d> | 设置聚类的地理坐标点集 | ||||
Façade | 立面图类 | bool OutputStreetFacade(string strOutputPath, GeoLine3D geoLine3D, double dResolution, double dMinHeight , double dMaxHeight, double dFarDist) |
geoLine3D 观察路径 strOutputPath 输出路径 dResolution 出图的分辨率 dMinHeight 可见的最小高度 dMaxHeight 可见的最大高度 dFarDist 可见的最远距离 |
立面图出图 | ||
ProjectionImage | 视频投放类 | ProjectionImage(Scene scene) | 构造函数 | |||
Position:get/set | Vector3d | 视点位置 | ||||
Heading:get/set | double | 水平朝向角 | ||||
Pitch:get/set | double | 俯仰角 | ||||
IsHomonymyPoints:get/set | bool | 是否进行同名点配准 | ||||
HintLineVisible:get/set | bool | 是否显示轮廓线 | ||||
IsVisible:get/set | bool | 视频投放是否可见 | ||||
bool ProjectionToXML(string strXmlPath) | 保存到xml | |||||
bool ProjectionFromXML(string strXmlPath) | 从XML读取投影信息 | |||||
void SetImage(ref Texture2D image) | 设置图片 | |||||
ShadowQueryPoints | 用于日照分析的类 | Spacing:get/set | double | 间距 值要大于0.001 否则抛出异常 | ||
QueryRegion:get/set | GeoRegion3D | 分析区域 | ||||
StartTime:get/set | DateTime | 分析的开始时间 | ||||
EndTime:get/set | DateTime | 分析的结束时间 | ||||
TimeInterval:get/set | TimeSpan | 时间间隔 | ||||
ColorDictTable:get/set | Texture2D | 颜色对照表 | ||||
double GetShadowRatio(Vector3d vtLatLon) | vtLatLon地理位置 | 获取指定地理位置的阴影率 | ||||
Sightline | 通视分析类 | TargetPoint:get | Vector3 | 获取目标点位置 | ||
BarrierPoint:get | Vector3 | 获取障碍点位置 | ||||
Visible:get | bool | 是否通视,通视返回true | ||||
Sightline(Scene scene) | scene:场景 | 构造函数 | ||||
ViewPosition:get/set | Vector3 | 视点 | ||||
VisibleColor:get/set | Color | 可见颜色 | ||||
HiddenColor:get/set | Color | 不可见颜色 | ||||
int AddTargetPoint(Vector3 point) | point:目标点位置 int:返回新增目标点索引 |
添加目标点 | ||||
Vector3 GetTargetPoint(int index) | int:目标点索引 Vector3:目标点 |
获取指定索引的目标点 | ||||
void SetTargetPoint(int index, Vector3 point) | index:目标点索引 point:目标点坐标 |
设置指定索引的目标点 | ||||
void RemoveTargetPoint(int index) | index:目标点索引 | 移除指定索引目标点 | ||||
void RemoveAllTargetPoints() | 移除所有目标点 | |||||
int GetTargetPointCount() | 获取目标点数目 | |||||
SightlineResult GetSightlineResult(int index) | index:目标点索引 | 获取通视分析结果 | ||||
Skyline | 天际线分析类 | Skyline(Scene scene) | 构造函数 | |||
ViewPosition:get/set | Vector3 | 视点 | ||||
Direction:get/set | double | 水平朝向角 | ||||
Pitch:get/set | double | 俯仰角 | ||||
LineColor:get/set | Color | 天际线颜色 | ||||
GeoLine3D GetSkyline() | 获取天际线 | |||||
GeoLine GetSkyline2D() | 二维天际线 | |||||
ViewDome | 开敞度分析类 | enum ViewDomeType { VISIBLEDOME, HIDDENDOME } |
VISIBLEDOME, 可视部分开敞度 HIDDENDOME 不可视部分开敞度 |
开敞度类型 | ||
ViewDomeColor:get/set | Color | 设置/获取开敞度可见、不可见球面颜色 | ||||
ViewerPosition:get/set | Vector3d | 观察者位置 | ||||
Distance:get/set | double | 可视距离 | ||||
DomeType:get/set | ViewDomeType | 开敞度结果类型 | ||||
GeoModel3D GetViewDomeBody (ViewDomeType domeType) | domeType 体类型 | 获取开敞度体 | ||||
ViewShed | 可视域分析类 | ViewShed(Scene scene) | 构造函数 | |||
void SetDistDirByPoint(Vector3 point) | point:目标点位置 | 设置目标点,并自动计算视点姿态 | ||||
ViewerPosition:get/set | Vector3 | 视点。平面位笛卡尔坐标,球面为经、纬、高 | ||||
Direction:get/set | float | 分析相机的水平方向,度 | ||||
Pitch:get/set | float | 分析相机的俯仰角,水平为0,向下为负,向上为正,度 | ||||
VisibleAreaColor:get/set | Color | 可见区域颜色 | ||||
HiddenAreaColor:get/set | Color | 不可见区域颜色 | ||||
HorizontalFov:get/set | float | 相机水平张角 | ||||
VerticalFov:get/set | float | 相机垂直张角 | ||||
Distance:get/set | float | 最远分析距离 | ||||
VisibleBody:get | GeoModel3D | 返回可视域分析的可见几何体 | ||||
HiddenBody:get | GeoModel3D | 返回可视域分析的不可见几何体 | ||||
BarrierPoints:get | List<Vector3d> | 返回可视域分析的障碍点 | ||||
Quality:get/set | AnalysisQuality | 获取或设置分析的质量级别 | ||||
Dataset | 数据集类 | Name:get | string | 获取数据集名称 | ||
IsOpened:get | bool | 获取True或者false,代表是否已经打开 | ||||
Type:get | DatasetType | 获取数据集类型 | ||||
Datasource:get | Datasource | 获取数据源 | ||||
Bounds:get | Rect | 获取数据集Bounds值 | ||||
void GetFieldInfos(ref List<FieldInfo> arrFieldInfo) | 获取数据集信息 | |||||
List<string> QueryField(string strFieldName) | 根据字段名获取值 | |||||
List<string> QueryAttributeById(long nId) | nID:ID值 | 根据ID查询数据集属性信息 | ||||
bool Open() | 打开数据集,是否正确打开 | |||||
void Close() | 关闭数据集 | |||||
DatasetType | 数据集类型 | public enum DatasetType { Unknown = -1, Model = 203, Point = 1, PointZ = 101, } |
Unknown 图层类型未知 Model 模型图层 Point 二维点图层 PointZ 三维点图层 |
数据集类型 | ||
Datasource | 数据源类 | Connect:get/set | string | 数据源文件路径 | ||
Count:get | Int32 | 数据集数目 | ||||
this[Int32 index]:get | Dataset | 返回指定下标的图层 | ||||
this[string name]:get | Dataset | 返回指定名称的图层 | ||||
IsOpened:get | bool | 是否已经打开 | ||||
bool Open() | 打开数据源 | |||||
void Close() | 关闭数据源 | |||||
Datasources | 数据源集合类 | Count:get | int | 获取数据集列表数量 | ||
this[Int32 index]:get | 通过索引得到数据集 | |||||
bool SetAt(string strDataSourceAlias, ref Datasource datasource) | 通过底层给m_pUGDataSources填值 | |||||
public bool ReleaseAt(string strDataSourceAlias) | 释放DataSource | |||||
FieldInfo | 字段数值类型 | public enum FieldType { FT_UnKnown = 0, FT_Boolean = 1, FT_Byte = 2, FT_INT16 = 3, FT_INT32 = 4, FT_INT64 = 16, FT_Float = 6, FT_Double = 7, FT_Date = 8, FT_Binary = 9, FT_Text = 10, FT_LongBinary = 11, FT_Char = 18, FT_Time = 22, FT_TimeStamp = 23, FT_NText = 127, FT_Geometry = 128, FT_JsonB = 129 } |
FT_UnKnown 无效的字段类型。 FT_Boolean 布尔值,单字节,TRUE,FALSE。 FT_Byte 无符号单字李,0-255。 FT_INT16 短整型,2字节。 FT_INT32 长整型,4字节。 FT_INT64 长整型,8字节。 FT_Float 单精度浮点型,4字节。 FT_Double 双精度浮点型,8字节。 FT_Date 日期型,年、月、日,不带时间。 FT_Binary 固定长度二进制型,需指定长度。 FT_Text 不定长字符串型。 FT_LongBinary 不定长二进制类型。 FT_Char 定长字符串型,需指定长度。 FT_Time 时间型,小时、分、秒,不带日期。 FT_TimeStamp 时间戳型,年、月、日、小时、分、秒。 FT_NText 宽字节不定长字符串类型。 FT_Geometry 几何数据类型。 FT_JsonB 用作Pg中的Jsonb字段类型 |
字段数值类型 | ||
Name:get/set | string | 属性字段名 | ||||
Type:get/set | FieldType | 属性字段数值类型 | ||||
GeoBox | 长方体几何对象类。继承于Geometry3D类,用于在三维图层上绘制长方体几何对象 | GeoBox(); | 构建一个新的GeoBox对象 | |||
GeoBox(GeoBox geoBox); | [in]geoBox:GeoBox对象 | 根据给定的GeoBox对象构造一个与其完全相同的新对象 | ||||
GeoBox(Vector3 position,Vector2 bottomSize,float height); | [in]position:长方体几何对象位置 [in]bottomSize:长方体几何对象地面 [in]height:长方体几何对象高度 |
根据指定的参数来构建一个GeoBox的新对象 | ||||
Vector2 BottomSize:get/set | BottomSize:长方体底面大小 | 获取或设置长方体底面大小 | ||||
float Height:get/set | Height:长方体几何对象的高度 | 获取或设置长方体几何对象的高度 | ||||
Color Color:get/set | Color:长方体几何对象的颜色 | 获取或设置长方体几何对象的颜色 | ||||
Vector3 Center:get/set | Center:长方体几何对象的中心点 | 获取或设置长方体几何对象的中心点 | ||||
GeoLine | 二维线类 | GeoLine() | 构造函数 | |||
GeoLine(GeoLine geoLine) | geoBox">待拷贝对象 | 拷贝构造函数 | ||||
this[Int32 index]:get/set | Vector2d[] | 获取子线段顶点 | ||||
PartCount:get | int | 获取子对象的个数 | ||||
IsEmpty:get | bool | 是否含有子对象 | ||||
int AddPart(Vector2d[] points) | points | 追加顶点数组 | ||||
Vector2d[] GetPart(int nIndex) | 获取一个子对象 | |||||
bool RemovePart(int nIndex) | 删除三维几何线对象中指定索引号的子对象 | |||||
void release() | 删除m_pUGCGeoLine | |||||
Geoline3D | 三维线类 | public GeoLine3D() | 构建一个新的GeoLine3D对象 | |||
GeoLine3D(GeoLine3D geoLine) | geoLine:geoLine对象 | 根据给定的GeoLine3D对象构造一个与其完全相同的新对象 | ||||
this[Int32 index]:get/set | Vector3[] | 获取子线段顶点 | ||||
PartCount:get | int | 获取子对象的个数 | ||||
IsEmpty:get | bool | 是否还有自短信 | ||||
int AddPart(Vector3[] points) | 追加顶点数组 | |||||
Vector3[] GetPart(int nIndex) | 获取一个子对象 | |||||
bool RemovePart(int nIndex) | 删除三维几何线对象中指定索引号的子对象 | |||||
Geometry | 几何体类 | Type:get | 类型 | |||
Bounds:get | 获取几何bound | |||||
InnerPoint:get | 获取内部中心点 | |||||
Style:get/set | Style3D | |||||
Geometry3D | 三维几何体基类 | Position:get/set | Vector3d | 顶点位置 | ||
RotationX:get/set | double | 旋转变量X | ||||
RotationY:get/set | double | 旋转变量Y | ||||
RotationZ:get/set | double | 旋转变量Z | ||||
ScaleX:get/set | double | 缩放X | ||||
ScaleY:get/set | double | 缩放Y | ||||
ScaleZ:get/set | double | 缩放Z | ||||
GeometryType | 几何体类型 | public enum GeometryType { GeoRegion3D = 105, GeoBox = 1205, GeoLine = 3, GeoLine3D = 103, GeoPoint3D = 101, GeoPoint = 1, GeoModel3D = 1218, } |
GeoRegion3D:三维面对象 GeoBox :Box盒子 GeoLine :二维线 GeoLine3D :三维线 GeoPoint3D :三维点 GeoPoint:二维点 GeoModel3D :3D模型 |
几何对象类型 | ||
GeoModel3D | GeoModel3D() | 构造函数 | ||||
GeoModel3D(GeoModel3D geoModel) | 拷贝构造函数 | |||||
IsLonLat:get | bool | 是否是经纬度数据 | ||||
Area:get | double | 获取表面积 | ||||
MinZ:get | double | 获取模型最小高度 | ||||
MaxZ:get | double | 获取模型最大高度 | ||||
GeoPoint3D | 三维点类 | GeoPoint3D() | 构建一个新的GeoPoint3D对象 | |||
GeoPoint3D(GeoPoint3D geoPoint) | 根据给定的GeoPoint3D对象构造一个与其完全相同的新对象 | |||||
X:get/set | double | X坐标 | ||||
Y:get/set | double | Y坐标 | ||||
Z:get/set | double | Z坐标 | ||||
GeoRegion3D | 三维面类 | GeoRegion3D() | 构建一个新的GeoRegion3D对象 | |||
GeoRegion3D(GeoRegion3D geoRegion3D) | 拷贝构造函数 | |||||
GeoRegion3D(List<Vector3> points) | 构造函数,设置点串 | |||||
Area:get | double | 获取面积 | ||||
PartCount:get | int | 子对象个数 | ||||
this[Int32 index]:get | List<Vector3d> | 按照索引获取点集 | ||||
IsEmpty:get | bool | 是否为空 | ||||
Int32 Add(Vector3 pt) | 添加顶点 | |||||
JsonFile | json类 | |||||
Rectangle2D | double类型的Bound值类 | public Rectangle2D(double left, double right, double top, double bottom) | 构造函数 | |||
Center:get | Vector2d | 获取中心点 | ||||
LeftBottom:get | Vector2d | 获取左下角点 | ||||
RightTop:get | Vector2d | 获取右上角点 | ||||
MeasureAction | 量算类,定义了场景窗口中的量算操作 | enum MeasureAction { MeasureDistance = 0, MeasureHorizontalDistance = 1, MeasureArea = 2, MeasureHeight = 3, } |
MeasureDistance 空间距离 MeasureHorizontalDistance 水平距离 MeasureArea 面积 MeasureHeight 高度 |
距离量算类型 | ||
MeasureHandler(Scene scene) | 构造函数 | |||||
MeasureHandlerColor:get/set | Color | 网格的颜色 | ||||
int AddTargetPoint(Vector3 point) | point:目标点位置 | 添加目标点 | ||||
void SetTargetPoint(int nIndex, Vector3 vPoint) | nIndex:索引编号 vPoint:目标点位置 |
设置指定索引的目标点 | ||||
Vector3d GetTargetPoint(int index) | index:目标点索引 | 获取指定索引的目标点 | ||||
void RemoveTargetPoints(int nIndex) | nIndex:索引编号 | 移除目标点 | ||||
int GetTargetPointCount() | 获取目标点个数 | |||||
MeasureAction:get/set | MeasureAction | 设置量算类型 | ||||
double GetCurLength(Vector3 beginpoint, Vector3 endpoint) | beginpoint:起始位置 endpoint:终点位置 |
距离 | ||||
double GetArea() | 面积 | |||||
double GetHeight() | 高度 | |||||
DataAsset | 用于导入类数据的基类 | DataSet:get/set | Dataset | |||
Type:get/set | ImportDataType | |||||
DataExportModel | 模型导出类 | void SaveMaterials(DataAssetModel assetModel) | 将数据集内部资源保存成本地资源 | |||
void SavePBRToDataset(Dataset dataset, List<Material> mtls) | dataset 原数据集 mtls 需要保存得材质对象 |
保存材质到原数据集 | ||||
DataImport | 数据导入基类 | DataAssets:get | Dictionary<string, DataAsset> | |||
Count:get | int | 获取数据类对象个数 | ||||
DataAsset GetDataAsset(string dataSetName) | dataSetName 数据集名 | 根据根节点获取对应数据基类对象 | ||||
DataImportManager | 导入数据对象管理类 | DataImportObject:get | Dictionary<string, DataImport> | |||
Instance:get | DataImportManager | 获取单例对象 | ||||
DataImport Add(ImportSetting setting) | setting 导入数据集合 | 导入数据接口 | ||||
void ToXML() | ||||||
void FromXML() | ||||||
ImportSetting | 模型导入参数类 | DataSet:get/set | Dataset | 上述属性的封装 | ||
DataType:get | ImportDataType | |||||
JsonFilePath:get/set | string |