@ino-cesium/layers 0.0.1-5.beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.MD +3 -0
- package/dist/index.d.ts +89 -0
- package/dist/index.js +1 -0
- package/package.json +44 -0
package/README.MD
ADDED
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
import * as Cesium from 'cesium';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
*
|
|
5
|
+
* vec:矢量底图、cva:矢量标注、img:影像底图、cia:影像标注
|
|
6
|
+
* ter:地形晕渲、cta:地形标注、eva:矢量英文标注、eia:影像英文标注
|
|
7
|
+
* @param viewer
|
|
8
|
+
* @param token
|
|
9
|
+
*/
|
|
10
|
+
declare const loadTianDiTu: (option: ILoadTiandituOptions) => {
|
|
11
|
+
layers: Cesium.ImageryLayer[];
|
|
12
|
+
remove: () => void;
|
|
13
|
+
};
|
|
14
|
+
interface ILoadTiandituOptions {
|
|
15
|
+
viewer: Cesium.Viewer;
|
|
16
|
+
token: string;
|
|
17
|
+
zIndex?: number;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
declare const load3dTiles: (lOptions: ILoad3dtilesOptions) => Promise<{
|
|
21
|
+
tileset: Cesium.Cesium3DTileset;
|
|
22
|
+
setHeightOffset: (heightOffset: number) => void;
|
|
23
|
+
remove: () => void;
|
|
24
|
+
flyTo: () => void;
|
|
25
|
+
}>;
|
|
26
|
+
/**
|
|
27
|
+
* 设置3dTiles的偏移高度
|
|
28
|
+
* @param tileset
|
|
29
|
+
* @param heightOffset
|
|
30
|
+
*/
|
|
31
|
+
declare const setHeightOffsetFor3dTiles: (tileset: Cesium.Cesium3DTileset, heightOffset: number) => void;
|
|
32
|
+
declare const getAllFeaturesFrom3dTiles: (tileset: Cesium.Cesium3DTileset) => Promise<unknown>;
|
|
33
|
+
declare const getAllTilesFrom3dTiles: (tileset: Cesium.Cesium3DTileset) => Promise<unknown>;
|
|
34
|
+
interface ILoad3dtilesOptions {
|
|
35
|
+
viewer: Cesium.Viewer;
|
|
36
|
+
url: string;
|
|
37
|
+
options: Cesium.Cesium3DTileset.ConstructorOptions;
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* 3dTiles的坐标变换
|
|
41
|
+
* 平移、缩放、旋转
|
|
42
|
+
*/
|
|
43
|
+
declare const TransformsFor3dtiles: {
|
|
44
|
+
translate: (tileset: Cesium.Cesium3DTileset, translate: Cesium.Cartesian3) => void;
|
|
45
|
+
scale: (tileset: Cesium.Cesium3DTileset, scale: Cesium.Cartesian3) => void;
|
|
46
|
+
rotate: (tileset: Cesium.Cesium3DTileset, rotate: Cesium.Cartesian3) => void;
|
|
47
|
+
};
|
|
48
|
+
|
|
49
|
+
/**
|
|
50
|
+
* 加载地形
|
|
51
|
+
* @param url 地形地址
|
|
52
|
+
*/
|
|
53
|
+
declare const loadTerrain: (options: ILoadTerrainOptions) => Promise<{
|
|
54
|
+
terrainProvider: Cesium.CesiumTerrainProvider;
|
|
55
|
+
remove: () => void;
|
|
56
|
+
}>;
|
|
57
|
+
/**
|
|
58
|
+
* 移除地形
|
|
59
|
+
* @param viewer
|
|
60
|
+
*/
|
|
61
|
+
declare const removeTerrain: (viewer: Cesium.Viewer) => void;
|
|
62
|
+
declare const loadTerrainFromCesium: () => Promise<Cesium.CesiumTerrainProvider>;
|
|
63
|
+
interface ILoadTerrainOptions {
|
|
64
|
+
viewer: Cesium.Viewer;
|
|
65
|
+
url: string;
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
declare const loadModel: () => void;
|
|
69
|
+
|
|
70
|
+
/**
|
|
71
|
+
* 加载超图s3m图层
|
|
72
|
+
* 先配置插件地址
|
|
73
|
+
*/
|
|
74
|
+
declare const loads3m: () => void;
|
|
75
|
+
|
|
76
|
+
declare const loadI3s: (lOptions: ILoadI3sOptions) => Promise<{
|
|
77
|
+
i3sData: Cesium.I3SDataProvider;
|
|
78
|
+
setHeightOffset: (heightOffset: number) => void;
|
|
79
|
+
remove: () => void;
|
|
80
|
+
flyTo: () => void;
|
|
81
|
+
}>;
|
|
82
|
+
interface ILoadI3sOptions {
|
|
83
|
+
viewer: Cesium.Viewer;
|
|
84
|
+
url: string;
|
|
85
|
+
options: Cesium.I3SDataProvider.ConstructorOptions;
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
export { TransformsFor3dtiles, getAllFeaturesFrom3dTiles, getAllTilesFrom3dTiles, load3dTiles, loadI3s, loadModel, loadTerrain, loadTerrainFromCesium, loadTianDiTu, loads3m, removeTerrain, setHeightOffsetFor3dTiles };
|
|
89
|
+
export type { ILoadTerrainOptions, ILoadTiandituOptions };
|
package/dist/index.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import*as e from"cesium";const r=r=>{const{viewer:t,token:i}=r,a=t.imageryLayers.addImageryProvider(new e.WebMapTileServiceImageryProvider({url:`//t{s}.tianditu.gov.cn/img_w/wmts?tk=${i}`,layer:"img",style:"default",tileMatrixSetID:"w",format:"tiles",maximumLevel:18,subdomains:["0","1","2","3","4","5","6","7"]})),n=t.imageryLayers.addImageryProvider(new e.WebMapTileServiceImageryProvider({url:`//t{s}.tianditu.gov.cn/cia_w/wmts?tk=${i}`,layer:"cia",style:"default",tileMatrixSetID:"w",format:"tiles",maximumLevel:18,subdomains:["0","1","2","3","4","5","6","7"]}));return{layers:[a,n],remove:()=>{t.imageryLayers.remove(a),t.imageryLayers.remove(n)}}},t={cacheBytes:4294967296,maximumCacheOverflowBytes:5368709120},i=async r=>{const{viewer:i,url:n,options:o}=r,s=await e.Cesium3DTileset.fromUrl(n,{...t,...o});i.scene.primitives.add(s);return{tileset:s,setHeightOffset:e=>{a(s,e)},remove:()=>{i.scene.primitives.remove(s)},flyTo:()=>{i.flyTo(s)}}},a=(r,t)=>{s(r,e.Cartesian3.fromElements(0,0,t,new e.Cartesian3))},n=async e=>{const r=[];function t(e){if(console.log(e),!e.content||!e.content.featuresLength)return;const i=e.content;for(let e=0;e<i.featuresLength;e++)r.push(i.getFeature(e));e.children?.forEach(t)}return new Promise(i=>{e.allTilesLoaded.addEventListener(()=>{t(e.root),i(r)})})},o=e=>{const r=[];function t(e){r.push(e),e.children?.forEach(t)}return new Promise(i=>{e.allTilesLoaded.addEventListener(()=>{t(e.root),i(r)})})},s=(r,t)=>{if(t.equals(e.Cartesian3.ZERO))return;const i=r.boundingSphere.center,a=e.Transforms.eastNorthUpToFixedFrame(i),n=e.Matrix4.multiplyByPoint(a,t,new e.Cartesian3),o=e.Cartesian3.subtract(n,i,new e.Cartesian3),s=e.Matrix4.fromTranslation(o);r.modelMatrix=e.Matrix4.multiply(s,r.modelMatrix,new e.Matrix4)},l={translate:s,scale:(r,t)=>{if(t.equals(e.Cartesian3.ZERO)||t.equals(e.Cartesian3.ONE))return;const i=r.boundingSphere.center,a=e.Transforms.eastNorthUpToFixedFrame(i),n=e.Matrix4.inverse(a,new e.Matrix4),o=e.Matrix4.fromScale(t),s=e.Matrix4.multiply(o,n,new e.Matrix4),l=e.Matrix4.multiply(a,s,new e.Matrix4);r.modelMatrix=e.Matrix4.multiply(l,r.modelMatrix,new e.Matrix4)},rotate:(r,t)=>{const{x:i,y:a,z:n}=t,o=r.boundingSphere.center,s=e.Transforms.eastNorthUpToFixedFrame(o),l=e.Matrix4.inverse(s,new e.Matrix4),m=e.Matrix4.clone(e.Matrix4.IDENTITY);if(0!==i){const r=e.Matrix4.fromRotation(e.Matrix3.fromRotationX(e.Math.toRadians(i)));e.Matrix4.multiply(r,m,m)}if(0!==a){const r=e.Matrix4.fromRotation(e.Matrix3.fromRotationY(e.Math.toRadians(a)));e.Matrix4.multiply(r,m,m)}if(0!==n){const r=e.Matrix4.fromRotation(e.Matrix3.fromRotationZ(e.Math.toRadians(n)));e.Matrix4.multiply(r,m,m)}const c=e.Matrix4.multiply(m,l,new e.Matrix4),d=e.Matrix4.multiply(s,c,new e.Matrix4);r.modelMatrix=e.Matrix4.multiply(d,r.modelMatrix,new e.Matrix4)}},m=async r=>{const{viewer:t,url:i}=r,a=await e.CesiumTerrainProvider.fromUrl(i,{requestWaterMask:!0,requestVertexNormals:!0});t.scene.terrainProvider=a;return{terrainProvider:a,remove:()=>{t.scene.terrainProvider=new e.EllipsoidTerrainProvider}}},c=r=>{r.scene.terrainProvider=new e.EllipsoidTerrainProvider},d=async()=>await e.CesiumTerrainProvider.fromIonAssetId(1,{requestWaterMask:!0,requestVertexNormals:!0}),u=()=>{},x=()=>{},M=async r=>{const{viewer:t,url:i,options:n}=r,o=await e.I3SDataProvider.fromUrl(i,n);t.scene.primitives.add(o);return{i3sData:o,setHeightOffset:e=>{o.layers.forEach(r=>{const t=r.tileset;t&&a(t,e)})},remove:()=>{t.scene.primitives.remove(o)},flyTo:()=>{t.camera.flyTo({destination:o.extent,orientation:{heading:0,pitch:e.Math.toRadians(-90),roll:0}})}}};export{l as TransformsFor3dtiles,n as getAllFeaturesFrom3dTiles,o as getAllTilesFrom3dTiles,i as load3dTiles,M as loadI3s,u as loadModel,m as loadTerrain,d as loadTerrainFromCesium,r as loadTianDiTu,x as loads3m,c as removeTerrain,a as setHeightOffsetFor3dTiles};
|
package/package.json
ADDED
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@ino-cesium/layers",
|
|
3
|
+
"type": "module",
|
|
4
|
+
"version": "0.0.15.beta.1",
|
|
5
|
+
"author": "koino",
|
|
6
|
+
"keywords": [
|
|
7
|
+
"cesium",
|
|
8
|
+
"ino-cesium",
|
|
9
|
+
"ino-cesium-layer"
|
|
10
|
+
],
|
|
11
|
+
"exports": {
|
|
12
|
+
".": "./dist/index.js"
|
|
13
|
+
},
|
|
14
|
+
"typesVersions": {
|
|
15
|
+
"*": {
|
|
16
|
+
"*": [
|
|
17
|
+
"./src/*",
|
|
18
|
+
"./dist/*"
|
|
19
|
+
]
|
|
20
|
+
}
|
|
21
|
+
},
|
|
22
|
+
"files": [
|
|
23
|
+
"dist/*.d.ts",
|
|
24
|
+
"dist/*.js",
|
|
25
|
+
"README.MD"
|
|
26
|
+
],
|
|
27
|
+
"publishConfig": {
|
|
28
|
+
"access": "public"
|
|
29
|
+
},
|
|
30
|
+
"peerDependencies": {
|
|
31
|
+
"cesium": "*"
|
|
32
|
+
},
|
|
33
|
+
"dependencies": {
|
|
34
|
+
"@ino-cesium/common": "0.0.15.beta.1"
|
|
35
|
+
},
|
|
36
|
+
"devDependencies": {},
|
|
37
|
+
"types": "./dist/index.d.ts",
|
|
38
|
+
"scripts": {
|
|
39
|
+
"build": "rimraf dist && rollup -c",
|
|
40
|
+
"clean": "rimraf dist",
|
|
41
|
+
"release": "pnpm publish --no-git-checks --access public ",
|
|
42
|
+
"unpublish": "pnpm unpublish @ino-cesium/layers --force "
|
|
43
|
+
}
|
|
44
|
+
}
|