imobile_for_reactnative
Version:
iMobile for ReactNative,是SuperMap iMobile推出的一款基于React-Native框架的移动应用开发工具。基于该开发工具,用户可以使用JavaScript开发语言,开发出在Android和IOS操作系统下运行的原生移动GIS应用,入门门槛低,一次开发,处处运行。
75 lines (69 loc) • 2.44 kB
text/typescript
/**
* 设施网络分析类,主要用于进行各类连通性分析和追踪分析
* Author: ysl
*/
import {
NativeModules,
} from 'react-native'
import { Point2D, TEngineType } from '../data/SData'
import { LayerInfo } from '../mapping/SMap'
import { AnalystSetting } from './SAnalystType'
const Analyst = NativeModules.SFacilityAnalyst
/**
* 加载设施网络分析模型
* @param datasourceInfo 目标数据源
* @param setting 设施分析配置对象
* @returns 加载成功返回true,否则返回false
*/
export function load (datasourceInfo: {alias: string, server: string, engineType: TEngineType}, setting: AnalystSetting): Promise<{
result: boolean,
layerInfo: LayerInfo,
} | null> {
return Analyst.load(datasourceInfo, setting)
}
/**
* 传入节点ID数组,查找与节点相连通的弧段ID数组
* @param ids 节点ID数组
* @returns 与节点相连通的弧段ID数组
*/
export function findConnectedEdgesFromNodes (ids: number[] = []): Promise<number[]> {
return Analyst.findConnectedEdgesFromNodes(ids)
}
/**
* 设施网络路径分析,即根据给定的起始和终止结点ID,查找其间耗费最小的路径,返回该路径包含的弧段、结点及耗费。
* @param startNodeID 起点ID
* @param endNodeID 终点ID
* @param weightName 权重名称
* @param isUncertainDirectionValid 指定不确定流向是否有效
* @returns 该路径包含的弧段、结点及耗费
*/
export function findPathFromNodes (startNodeID = -1, endNodeID = -1, weightName = 'Length', isUncertainDirectionValid = true): Promise<{
coast: number,
edges: number[],
nodes: number[],
} | null> {
return Analyst.findPathFromNodes(startNodeID, endNodeID, weightName, isUncertainDirectionValid)
}
/**
* 设置网络路径分析起点
* @param point 网络路径分析起点
* @returns 起点ID
*/
export function setStartPoint (point: Point2D): Promise<number> {
return Analyst.setStartPoint(point)
}
/**
* 设置网络路径分析起点
* @param point 网络路径分析终点
* @returns 终点ID
*/
export function setEndPoint (point: Point2D): Promise<number> {
return Analyst.setEndPoint(point)
}
/**
* 清除跟踪层上的起始点和结果路径
* @returns 清除成功返回true,否则返回false
*/
export function clear (): Promise<boolean> {
return Analyst.clear()
}