跳到主要内容

Gis

Ploy3D • Docs


Ploy3D / Gis

Class: Gis

GIS系统。

Constructors​

new Gis()​

new Gis(_global): Gis

构造函数。

Parameters​

• _global: Ploy3D

引擎实例。

Returns​

Gis

Accessors​

centerMC​

get centerMC(): number[]

当前中心墨卡托坐标。

Returns​

number[]


centerPos​

get centerPos(): number[]

当前中心世界坐标。

Returns​

number[]


diameter​

get diameter(): number

地球直径。

Returns​

number


districts​

get districts(): Gis_districts

GIS行政区管理。

Returns​

Gis_districts


enable​

get enable(): boolean

是否启用GIS系统。

set enable(b): void

Parameters​

• b: boolean

Returns​

boolean


enable_terrain​

get enable_terrain(): boolean

当前是否显示地形。

Returns​

boolean


force_terrain​

get force_terrain(): boolean

地形数据可用时,强制开启地形。

set force_terrain(enable): void

Parameters​

• enable: boolean

Returns​

boolean


lat​

get lat(): number

当前中心纬度。

Returns​

number


level​

get level(): number

当前中心显示级别([9, 16]显示地形,[17, ~]显示3D)。

Returns​

number


lng​

get lng(): number

当前中心经度。

Returns​

number


lock​

get lock(): boolean

当前是否锁定GIS状态。

set lock(lock): void

当前是否锁定GIS状态。

Parameters​

• lock: boolean

Returns​

boolean


materials​

get materials(): object[]

GIS各层级材质数组。

Returns​

object[]


perimeter​

get perimeter(): number

地球周长。

Returns​

number


perimeter_half​

get perimeter_half(): number

地球半周长。

Returns​

number


radius​

get radius(): number

地球半径。

Returns​

number


servers​

get servers(): object

瓦片服务信息(可自己扩展添加)。

Returns​

object

arcgisonline_img_w​

arcgisonline_img_w: object

arcgisonline_img_w.count​

count: number

arcgisonline_img_w.label​

label: string

arcgisonline_img_w.max_level​

max_level: number

arcgisonline_img_w.min_level​

min_level: number

arcgisonline_img_w.projection​

projection: Gis_projection

arcgisonline_img_w.tile_size​

tile_size: number

arcgisonline_img_w.url​

url: string

earthol_img_w​

earthol_img_w: object

earthol_img_w.count​

count: number

earthol_img_w.label​

label: string

earthol_img_w.max_level​

max_level: number

earthol_img_w.min_level​

min_level: number

earthol_img_w.projection​

projection: Gis_projection

earthol_img_w.tile_size​

tile_size: number

earthol_img_w.url​

url: string

tianditu_dem_c​

tianditu_dem_c: object

tianditu_dem_c.count​

count: number

tianditu_dem_c.label​

label: string

tianditu_dem_c.max_level​

max_level: number

tianditu_dem_c.min_level​

min_level: number

tianditu_dem_c.projection​

projection: Gis_projection

tianditu_dem_c.tile_size​

tile_size: number

tianditu_dem_c.url​

url: string

tianditu_img_c​

tianditu_img_c: object

tianditu_img_c.count​

count: number

tianditu_img_c.label​

label: string

tianditu_img_c.max_level​

max_level: number

tianditu_img_c.min_level​

min_level: number

tianditu_img_c.projection​

projection: Gis_projection

tianditu_img_c.tile_size​

tile_size: number

tianditu_img_c.url​

url: string

tianditu_img_w​

tianditu_img_w: object

tianditu_img_w.count​

count: number

tianditu_img_w.label​

label: string

tianditu_img_w.max_level​

max_level: number

tianditu_img_w.min_level​

min_level: number

tianditu_img_w.projection​

projection: Gis_projection

tianditu_img_w.tile_size​

tile_size: number

tianditu_img_w.url​

url: string


timestamp​

get timestamp(): number

当前刷新时间戳。

Returns​

number

Methods​

BD09_GCJ02()​

BD09_GCJ02(ll): number[]

百度坐标系(BD09)转火星坐标系(GCJ02)。

Parameters​

• ll: number[]

经纬度(BD09)。

Returns​

number[]

经纬度(GCJ02)。


BD09_WGS84()​

BD09_WGS84(ll): number[]

百度坐标系(BD09)转GPS坐标系(WGS84)。

Parameters​

• ll: number[]

经纬度(BD09)。

Returns​

number[]

经纬度(WGS84)。


CalPosition()​

CalPosition(lng, lat): Vector3

计算指定经纬度所在当前世界空间坐标。

Parameters​

• lng: number

指定经度(WGS84)。

• lat: number

指定纬度(WGS84)。

Returns​

Vector3

返回当前世界空间坐标。


CalSunlight()​

CalSunlight(params): object

计算太阳方位角和高度角。 方位角:单位度,正北为0,顺时针增加,[0, 360]; 高度角:单位度,地平线为0,向上增加,[-90, 90];

Parameters​

• params

经纬度和时间参数。

• params.day: number

日期,1-31。

• params.hours: number

小时,0-23。

• params.lat?: number

纬度,单位度,北纬为正,南纬为负。

• params.lng?: number

经度,单位度,东经为正,西经为负。

• params.minutes: number

分钟,0-59。

• params.month: number

月份,1-12。

• params.seconds: number

秒钟,0-59。

• params.tz?: number

时区,单位小时,东区为正,西区为负。

• params.year: number

年份,如2023。

Returns​

object

返回太阳方位角和高度角。

altitude​

altitude: number

太阳高度角。

azimuth​

azimuth: number

太阳方位角。

direction​

direction: Vector3

太阳光照方向。


Dispose()​

Dispose(): Promise<void>

清除对象。

Returns​

Promise<void>


Draw()​

Draw(queue): void

绘制矢量瓦片。

Parameters​

• queue: DrawQueue

passEncoder 渲染通道命令编码器。

Returns​

void


DrawMesh()​

DrawMesh(queue): void

绘制场景。

Parameters​

• queue: DrawQueue

Returns​

void


Flush()​

Flush(x, z, lng, lat, level, pitch, yaw): void

设置当前GIS状态。

Parameters​

• x: number

世界空间相机观察点坐标X(网格中心坐标)。

• z: number

世界空间相机观察点坐标Z(网格中心坐标)。

• lng: number

相机观察点经度(WGS84)。

• lat: number

相机观察点纬度(WGS84)。

• level: number

相机观察点瓦片级别。

• pitch: number

观察俯仰角。

• yaw: number

观察偏航角。

Returns​

void


FlushMaterial()​

FlushMaterial(values?): void

刷新材质属性。

Parameters​

• values?

材质属性值。

• values.centerMC?: number[]

• values.movedMC?: number[]

• values.size?: number[]

• values.targetMC?: number[]

• values.targetXZ?: number[]

Returns​

void


GCJ02_BD09()​

GCJ02_BD09(ll): number[]

火星坐标系(GCJ02)转百度坐标系(BD09)。

Parameters​

• ll: number[]

经纬度(GCJ02)。

Returns​

number[]

经纬度(BD09)。


GCJ02_WGS84()​

GCJ02_WGS84(ll): number[]

火星坐标系(GCJ02)转GPS坐标系(WGS84)。

Parameters​

• ll: number[]

经纬度(GCJ02)。

Returns​

number[]

经纬度(WGS84)。


Init()​

Init(): Promise<Gis>

初始化GIS系统。

Returns​

Promise<Gis>


LL2MC()​

LL2MC(ll): number[]

经纬度转墨卡托坐标(墨卡托坐标用于计算瓦片行列号)。

Parameters​

• ll: number[]

经纬度。

Returns​

number[]

墨卡托坐标。


LL2MC_BD09()​

LL2MC_BD09(ll): number[]

百度经纬度百度转墨卡托坐标(墨卡托坐标用于计算瓦片行列号)。 https://www.cnblogs.com/xiaozhi_5638/p/4748186.html

Parameters​

• ll: number[]

百度经纬度。

Returns​

number[]

百度墨卡托坐标。


LL2WPOS()​

LL2WPOS(ll): number[]

经纬度转当前世界空间坐标(当前世界空间原点经纬度_originLL)。 注意: 我们基于当前世界空间原点纬度_originLL[1]来转换世界距离到墨卡托投影距离; 两个地理位置点间的世界空间距离不是准确的,特别是在纬度跨度很大时;

Parameters​

• ll: number[]

经纬度。

Returns​

number[]

当前世界空间坐标。


MC2LL()​

MC2LL(mc): number[]

墨卡托坐标转经纬度。

Parameters​

• mc: number[]

墨卡托坐标。

Returns​

number[]

经纬度。


MC2LL_BD09()​

MC2LL_BD09(mc): number[]

百度墨卡托坐标转百度经纬度。

Parameters​

• mc: number[]

百度墨卡托坐标。

Returns​

number[]

百度经纬度。


OutOfChina()​

OutOfChina(ll): boolean

检测指定经纬度是否在中国范围框之外(纬度3.8653.55、经度73.66135.05)。 范围框之内使用GCJ02加密。

Parameters​

• ll: number[]

经纬度。

Returns​

boolean

返回真表示指定经纬度在中国范围框之外。


ServeUrl()​

ServeUrl(type, token, col, row, level): string

生成瓦片请求URL。

Parameters​

• type: "tianditu_img_w" | "tianditu_img_c" | "tianditu_dem_c" | "arcgisonline_img_w" | "earthol_img_w"

瓦片服务类型。

• token: string

瓦片服务TOKEN。

• col: number

瓦片列号。

• row: number

瓦片行号。

• level: number

瓦片级别。

Returns​

string

返回URL。


TransformLat()​

TransformLat(ll): number

对纬度进行第1次GCJ02加密转换。

Parameters​

• ll: number[]

经纬度。

Returns​

number

返回第1次加密后的纬度。


TransformLng()​

TransformLng(ll): number

对经度进行第1次GCJ02加密转换。

Parameters​

• ll: number[]

经纬度。

Returns​

number

返回第1次加密后的经度。


Update()​

Update(camera): Float32Array

根据相机姿态刷新地图。 注意:应当在帧绘制前应用相机最新姿态更新GIS。如果帧绘制使用的相机姿态与GIS当前使用的相机姿态不同,会导致画面不同步或抖动。

Parameters​

• camera: Camera

相机组件实例。

Returns​

Float32Array


WGS84_BD09()​

WGS84_BD09(ll): number[]

GPS坐标系(WGS84)转百度坐标系(BD09)。

Parameters​

• ll: number[]

经纬度(WGS84)。

Returns​

number[]

经纬度(BD09)。


WGS84_GCJ02()​

WGS84_GCJ02(ll): number[]

GPS坐标系(WGS84)转火星坐标系(GCJ02)。

Parameters​

• ll: number[]

经纬度(WGS84)。

Returns​

number[]

经纬度(GCJ02)。