@cveo/dsh-digital-earth 0.0.0-stage → 1.0.0
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/CHANGELOG.md +19 -0
- package/LICENSE +21 -0
- package/NOTICE +13 -0
- package/README.en.md +124 -0
- package/README.md +124 -3
- package/client.js +2297 -0
- package/cordis.patch.yml +3 -0
- package/icon.svg +7 -0
- package/index.js +590 -0
- package/locale/en.json +6 -0
- package/locale/zh.json +6 -0
- package/package.json +74 -6
- package/preview.png +0 -0
- package/vendor/cesium/Assets/IAU2006_XYS/IAU2006_XYS_0.json +1 -0
- package/vendor/cesium/Assets/IAU2006_XYS/IAU2006_XYS_1.json +1 -0
- package/vendor/cesium/Assets/IAU2006_XYS/IAU2006_XYS_10.json +1 -0
- package/vendor/cesium/Assets/IAU2006_XYS/IAU2006_XYS_11.json +1 -0
- package/vendor/cesium/Assets/IAU2006_XYS/IAU2006_XYS_12.json +1 -0
- package/vendor/cesium/Assets/IAU2006_XYS/IAU2006_XYS_13.json +1 -0
- package/vendor/cesium/Assets/IAU2006_XYS/IAU2006_XYS_14.json +1 -0
- package/vendor/cesium/Assets/IAU2006_XYS/IAU2006_XYS_15.json +1 -0
- package/vendor/cesium/Assets/IAU2006_XYS/IAU2006_XYS_16.json +1 -0
- package/vendor/cesium/Assets/IAU2006_XYS/IAU2006_XYS_17.json +1 -0
- package/vendor/cesium/Assets/IAU2006_XYS/IAU2006_XYS_18.json +1 -0
- package/vendor/cesium/Assets/IAU2006_XYS/IAU2006_XYS_19.json +1 -0
- package/vendor/cesium/Assets/IAU2006_XYS/IAU2006_XYS_2.json +1 -0
- package/vendor/cesium/Assets/IAU2006_XYS/IAU2006_XYS_20.json +1 -0
- package/vendor/cesium/Assets/IAU2006_XYS/IAU2006_XYS_21.json +1 -0
- package/vendor/cesium/Assets/IAU2006_XYS/IAU2006_XYS_22.json +1 -0
- package/vendor/cesium/Assets/IAU2006_XYS/IAU2006_XYS_23.json +1 -0
- package/vendor/cesium/Assets/IAU2006_XYS/IAU2006_XYS_24.json +1 -0
- package/vendor/cesium/Assets/IAU2006_XYS/IAU2006_XYS_25.json +1 -0
- package/vendor/cesium/Assets/IAU2006_XYS/IAU2006_XYS_26.json +1 -0
- package/vendor/cesium/Assets/IAU2006_XYS/IAU2006_XYS_27.json +1 -0
- package/vendor/cesium/Assets/IAU2006_XYS/IAU2006_XYS_3.json +1 -0
- package/vendor/cesium/Assets/IAU2006_XYS/IAU2006_XYS_4.json +1 -0
- package/vendor/cesium/Assets/IAU2006_XYS/IAU2006_XYS_5.json +1 -0
- package/vendor/cesium/Assets/IAU2006_XYS/IAU2006_XYS_6.json +1 -0
- package/vendor/cesium/Assets/IAU2006_XYS/IAU2006_XYS_7.json +1 -0
- package/vendor/cesium/Assets/IAU2006_XYS/IAU2006_XYS_8.json +1 -0
- package/vendor/cesium/Assets/IAU2006_XYS/IAU2006_XYS_9.json +1 -0
- package/vendor/cesium/Assets/Images/bing_maps_credit.png +0 -0
- package/vendor/cesium/Assets/Images/cesium_credit.png +0 -0
- package/vendor/cesium/Assets/Images/google_earth_credit.png +0 -0
- package/vendor/cesium/Assets/Images/ion-credit.png +0 -0
- package/vendor/cesium/Assets/Textures/LensFlare/DirtMask.jpg +0 -0
- package/vendor/cesium/Assets/Textures/LensFlare/StarBurst.jpg +0 -0
- package/vendor/cesium/Assets/Textures/NaturalEarthII/0/0/0.jpg +0 -0
- package/vendor/cesium/Assets/Textures/NaturalEarthII/0/1/0.jpg +0 -0
- package/vendor/cesium/Assets/Textures/NaturalEarthII/1/0/0.jpg +0 -0
- package/vendor/cesium/Assets/Textures/NaturalEarthII/1/0/1.jpg +0 -0
- package/vendor/cesium/Assets/Textures/NaturalEarthII/1/1/0.jpg +0 -0
- package/vendor/cesium/Assets/Textures/NaturalEarthII/1/1/1.jpg +0 -0
- package/vendor/cesium/Assets/Textures/NaturalEarthII/1/2/0.jpg +0 -0
- package/vendor/cesium/Assets/Textures/NaturalEarthII/1/2/1.jpg +0 -0
- package/vendor/cesium/Assets/Textures/NaturalEarthII/1/3/0.jpg +0 -0
- package/vendor/cesium/Assets/Textures/NaturalEarthII/1/3/1.jpg +0 -0
- package/vendor/cesium/Assets/Textures/NaturalEarthII/2/0/0.jpg +0 -0
- package/vendor/cesium/Assets/Textures/NaturalEarthII/2/0/1.jpg +0 -0
- package/vendor/cesium/Assets/Textures/NaturalEarthII/2/0/2.jpg +0 -0
- package/vendor/cesium/Assets/Textures/NaturalEarthII/2/0/3.jpg +0 -0
- package/vendor/cesium/Assets/Textures/NaturalEarthII/2/1/0.jpg +0 -0
- package/vendor/cesium/Assets/Textures/NaturalEarthII/2/1/1.jpg +0 -0
- package/vendor/cesium/Assets/Textures/NaturalEarthII/2/1/2.jpg +0 -0
- package/vendor/cesium/Assets/Textures/NaturalEarthII/2/1/3.jpg +0 -0
- package/vendor/cesium/Assets/Textures/NaturalEarthII/2/2/0.jpg +0 -0
- package/vendor/cesium/Assets/Textures/NaturalEarthII/2/2/1.jpg +0 -0
- package/vendor/cesium/Assets/Textures/NaturalEarthII/2/2/2.jpg +0 -0
- package/vendor/cesium/Assets/Textures/NaturalEarthII/2/2/3.jpg +0 -0
- package/vendor/cesium/Assets/Textures/NaturalEarthII/2/3/0.jpg +0 -0
- package/vendor/cesium/Assets/Textures/NaturalEarthII/2/3/1.jpg +0 -0
- package/vendor/cesium/Assets/Textures/NaturalEarthII/2/3/2.jpg +0 -0
- package/vendor/cesium/Assets/Textures/NaturalEarthII/2/3/3.jpg +0 -0
- package/vendor/cesium/Assets/Textures/NaturalEarthII/2/4/0.jpg +0 -0
- package/vendor/cesium/Assets/Textures/NaturalEarthII/2/4/1.jpg +0 -0
- package/vendor/cesium/Assets/Textures/NaturalEarthII/2/4/2.jpg +0 -0
- package/vendor/cesium/Assets/Textures/NaturalEarthII/2/4/3.jpg +0 -0
- package/vendor/cesium/Assets/Textures/NaturalEarthII/2/5/0.jpg +0 -0
- package/vendor/cesium/Assets/Textures/NaturalEarthII/2/5/1.jpg +0 -0
- package/vendor/cesium/Assets/Textures/NaturalEarthII/2/5/2.jpg +0 -0
- package/vendor/cesium/Assets/Textures/NaturalEarthII/2/5/3.jpg +0 -0
- package/vendor/cesium/Assets/Textures/NaturalEarthII/2/6/0.jpg +0 -0
- package/vendor/cesium/Assets/Textures/NaturalEarthII/2/6/1.jpg +0 -0
- package/vendor/cesium/Assets/Textures/NaturalEarthII/2/6/2.jpg +0 -0
- package/vendor/cesium/Assets/Textures/NaturalEarthII/2/6/3.jpg +0 -0
- package/vendor/cesium/Assets/Textures/NaturalEarthII/2/7/0.jpg +0 -0
- package/vendor/cesium/Assets/Textures/NaturalEarthII/2/7/1.jpg +0 -0
- package/vendor/cesium/Assets/Textures/NaturalEarthII/2/7/2.jpg +0 -0
- package/vendor/cesium/Assets/Textures/NaturalEarthII/2/7/3.jpg +0 -0
- package/vendor/cesium/Assets/Textures/NaturalEarthII/tilemapresource.xml +14 -0
- package/vendor/cesium/Assets/Textures/SkyBox/tycho2t3_80_mx.jpg +0 -0
- package/vendor/cesium/Assets/Textures/SkyBox/tycho2t3_80_my.jpg +0 -0
- package/vendor/cesium/Assets/Textures/SkyBox/tycho2t3_80_mz.jpg +0 -0
- package/vendor/cesium/Assets/Textures/SkyBox/tycho2t3_80_px.jpg +0 -0
- package/vendor/cesium/Assets/Textures/SkyBox/tycho2t3_80_py.jpg +0 -0
- package/vendor/cesium/Assets/Textures/SkyBox/tycho2t3_80_pz.jpg +0 -0
- package/vendor/cesium/Assets/Textures/maki/airfield.png +0 -0
- package/vendor/cesium/Assets/Textures/maki/airport.png +0 -0
- package/vendor/cesium/Assets/Textures/maki/alcohol-shop.png +0 -0
- package/vendor/cesium/Assets/Textures/maki/america-football.png +0 -0
- package/vendor/cesium/Assets/Textures/maki/art-gallery.png +0 -0
- package/vendor/cesium/Assets/Textures/maki/bakery.png +0 -0
- package/vendor/cesium/Assets/Textures/maki/bank.png +0 -0
- package/vendor/cesium/Assets/Textures/maki/bar.png +0 -0
- package/vendor/cesium/Assets/Textures/maki/baseball.png +0 -0
- package/vendor/cesium/Assets/Textures/maki/basketball.png +0 -0
- package/vendor/cesium/Assets/Textures/maki/beer.png +0 -0
- package/vendor/cesium/Assets/Textures/maki/bicycle.png +0 -0
- package/vendor/cesium/Assets/Textures/maki/building.png +0 -0
- package/vendor/cesium/Assets/Textures/maki/bus.png +0 -0
- package/vendor/cesium/Assets/Textures/maki/cafe.png +0 -0
- package/vendor/cesium/Assets/Textures/maki/camera.png +0 -0
- package/vendor/cesium/Assets/Textures/maki/campsite.png +0 -0
- package/vendor/cesium/Assets/Textures/maki/car.png +0 -0
- package/vendor/cesium/Assets/Textures/maki/cemetery.png +0 -0
- package/vendor/cesium/Assets/Textures/maki/cesium.png +0 -0
- package/vendor/cesium/Assets/Textures/maki/chemist.png +0 -0
- package/vendor/cesium/Assets/Textures/maki/cinema.png +0 -0
- package/vendor/cesium/Assets/Textures/maki/circle-stroked.png +0 -0
- package/vendor/cesium/Assets/Textures/maki/circle.png +0 -0
- package/vendor/cesium/Assets/Textures/maki/city.png +0 -0
- package/vendor/cesium/Assets/Textures/maki/clothing-store.png +0 -0
- package/vendor/cesium/Assets/Textures/maki/college.png +0 -0
- package/vendor/cesium/Assets/Textures/maki/commercial.png +0 -0
- package/vendor/cesium/Assets/Textures/maki/cricket.png +0 -0
- package/vendor/cesium/Assets/Textures/maki/cross.png +0 -0
- package/vendor/cesium/Assets/Textures/maki/dam.png +0 -0
- package/vendor/cesium/Assets/Textures/maki/danger.png +0 -0
- package/vendor/cesium/Assets/Textures/maki/disability.png +0 -0
- package/vendor/cesium/Assets/Textures/maki/dog-park.png +0 -0
- package/vendor/cesium/Assets/Textures/maki/embassy.png +0 -0
- package/vendor/cesium/Assets/Textures/maki/emergency-telephone.png +0 -0
- package/vendor/cesium/Assets/Textures/maki/entrance.png +0 -0
- package/vendor/cesium/Assets/Textures/maki/farm.png +0 -0
- package/vendor/cesium/Assets/Textures/maki/fast-food.png +0 -0
- package/vendor/cesium/Assets/Textures/maki/ferry.png +0 -0
- package/vendor/cesium/Assets/Textures/maki/fire-station.png +0 -0
- package/vendor/cesium/Assets/Textures/maki/fuel.png +0 -0
- package/vendor/cesium/Assets/Textures/maki/garden.png +0 -0
- package/vendor/cesium/Assets/Textures/maki/gift.png +0 -0
- package/vendor/cesium/Assets/Textures/maki/golf.png +0 -0
- package/vendor/cesium/Assets/Textures/maki/grocery.png +0 -0
- package/vendor/cesium/Assets/Textures/maki/hairdresser.png +0 -0
- package/vendor/cesium/Assets/Textures/maki/harbor.png +0 -0
- package/vendor/cesium/Assets/Textures/maki/heart.png +0 -0
- package/vendor/cesium/Assets/Textures/maki/heliport.png +0 -0
- package/vendor/cesium/Assets/Textures/maki/hospital.png +0 -0
- package/vendor/cesium/Assets/Textures/maki/ice-cream.png +0 -0
- package/vendor/cesium/Assets/Textures/maki/industrial.png +0 -0
- package/vendor/cesium/Assets/Textures/maki/land-use.png +0 -0
- package/vendor/cesium/Assets/Textures/maki/laundry.png +0 -0
- package/vendor/cesium/Assets/Textures/maki/library.png +0 -0
- package/vendor/cesium/Assets/Textures/maki/lighthouse.png +0 -0
- package/vendor/cesium/Assets/Textures/maki/lodging.png +0 -0
- package/vendor/cesium/Assets/Textures/maki/logging.png +0 -0
- package/vendor/cesium/Assets/Textures/maki/london-underground.png +0 -0
- package/vendor/cesium/Assets/Textures/maki/marker-stroked.png +0 -0
- package/vendor/cesium/Assets/Textures/maki/marker.png +0 -0
- package/vendor/cesium/Assets/Textures/maki/minefield.png +0 -0
- package/vendor/cesium/Assets/Textures/maki/mobilephone.png +0 -0
- package/vendor/cesium/Assets/Textures/maki/monument.png +0 -0
- package/vendor/cesium/Assets/Textures/maki/museum.png +0 -0
- package/vendor/cesium/Assets/Textures/maki/music.png +0 -0
- package/vendor/cesium/Assets/Textures/maki/oil-well.png +0 -0
- package/vendor/cesium/Assets/Textures/maki/park.png +0 -0
- package/vendor/cesium/Assets/Textures/maki/park2.png +0 -0
- package/vendor/cesium/Assets/Textures/maki/parking-garage.png +0 -0
- package/vendor/cesium/Assets/Textures/maki/parking.png +0 -0
- package/vendor/cesium/Assets/Textures/maki/pharmacy.png +0 -0
- package/vendor/cesium/Assets/Textures/maki/pitch.png +0 -0
- package/vendor/cesium/Assets/Textures/maki/place-of-worship.png +0 -0
- package/vendor/cesium/Assets/Textures/maki/playground.png +0 -0
- package/vendor/cesium/Assets/Textures/maki/police.png +0 -0
- package/vendor/cesium/Assets/Textures/maki/polling-place.png +0 -0
- package/vendor/cesium/Assets/Textures/maki/post.png +0 -0
- package/vendor/cesium/Assets/Textures/maki/prison.png +0 -0
- package/vendor/cesium/Assets/Textures/maki/rail-above.png +0 -0
- package/vendor/cesium/Assets/Textures/maki/rail-light.png +0 -0
- package/vendor/cesium/Assets/Textures/maki/rail-metro.png +0 -0
- package/vendor/cesium/Assets/Textures/maki/rail-underground.png +0 -0
- package/vendor/cesium/Assets/Textures/maki/rail.png +0 -0
- package/vendor/cesium/Assets/Textures/maki/religious-christian.png +0 -0
- package/vendor/cesium/Assets/Textures/maki/religious-jewish.png +0 -0
- package/vendor/cesium/Assets/Textures/maki/religious-muslim.png +0 -0
- package/vendor/cesium/Assets/Textures/maki/restaurant.png +0 -0
- package/vendor/cesium/Assets/Textures/maki/roadblock.png +0 -0
- package/vendor/cesium/Assets/Textures/maki/rocket.png +0 -0
- package/vendor/cesium/Assets/Textures/maki/school.png +0 -0
- package/vendor/cesium/Assets/Textures/maki/scooter.png +0 -0
- package/vendor/cesium/Assets/Textures/maki/shop.png +0 -0
- package/vendor/cesium/Assets/Textures/maki/skiing.png +0 -0
- package/vendor/cesium/Assets/Textures/maki/slaughterhouse.png +0 -0
- package/vendor/cesium/Assets/Textures/maki/soccer.png +0 -0
- package/vendor/cesium/Assets/Textures/maki/square-stroked.png +0 -0
- package/vendor/cesium/Assets/Textures/maki/square.png +0 -0
- package/vendor/cesium/Assets/Textures/maki/star-stroked.png +0 -0
- package/vendor/cesium/Assets/Textures/maki/star.png +0 -0
- package/vendor/cesium/Assets/Textures/maki/suitcase.png +0 -0
- package/vendor/cesium/Assets/Textures/maki/swimming.png +0 -0
- package/vendor/cesium/Assets/Textures/maki/telephone.png +0 -0
- package/vendor/cesium/Assets/Textures/maki/tennis.png +0 -0
- package/vendor/cesium/Assets/Textures/maki/theatre.png +0 -0
- package/vendor/cesium/Assets/Textures/maki/toilets.png +0 -0
- package/vendor/cesium/Assets/Textures/maki/town-hall.png +0 -0
- package/vendor/cesium/Assets/Textures/maki/town.png +0 -0
- package/vendor/cesium/Assets/Textures/maki/triangle-stroked.png +0 -0
- package/vendor/cesium/Assets/Textures/maki/triangle.png +0 -0
- package/vendor/cesium/Assets/Textures/maki/village.png +0 -0
- package/vendor/cesium/Assets/Textures/maki/warehouse.png +0 -0
- package/vendor/cesium/Assets/Textures/maki/waste-basket.png +0 -0
- package/vendor/cesium/Assets/Textures/maki/water.png +0 -0
- package/vendor/cesium/Assets/Textures/maki/wetland.png +0 -0
- package/vendor/cesium/Assets/Textures/maki/zoo.png +0 -0
- package/vendor/cesium/Assets/Textures/moonSmall.jpg +0 -0
- package/vendor/cesium/Assets/Textures/pin.svg +1 -0
- package/vendor/cesium/Assets/Textures/waterNormals.jpg +0 -0
- package/vendor/cesium/Assets/Textures/waterNormalsSmall.jpg +0 -0
- package/vendor/cesium/Assets/approximateTerrainHeights.json +1 -0
- package/vendor/cesium/Cesium.js +18348 -0
- package/vendor/cesium/LICENSE.md +1068 -0
- package/vendor/cesium/ThirdParty/Workers/package.json +1 -0
- package/vendor/cesium/ThirdParty/Workers/zip-web-worker.js +1 -0
- package/vendor/cesium/ThirdParty/basis_transcoder.wasm +0 -0
- package/vendor/cesium/ThirdParty/draco_decoder.wasm +0 -0
- package/vendor/cesium/ThirdParty/google-earth-dbroot-parser.js +1 -0
- package/vendor/cesium/ThirdParty/wasm_splats_bg.wasm +0 -0
- package/vendor/cesium/ThirdParty/zip-module.wasm +0 -0
- package/vendor/cesium/Widgets/Animation/Animation.css +127 -0
- package/vendor/cesium/Widgets/Animation/lighter.css +70 -0
- package/vendor/cesium/Widgets/BaseLayerPicker/BaseLayerPicker.css +108 -0
- package/vendor/cesium/Widgets/BaseLayerPicker/lighter.css +22 -0
- package/vendor/cesium/Widgets/Cesium3DTilesInspector/Cesium3DTilesInspector.css +102 -0
- package/vendor/cesium/Widgets/CesiumInspector/CesiumInspector.css +113 -0
- package/vendor/cesium/Widgets/CesiumWidget/CesiumWidget.css +119 -0
- package/vendor/cesium/Widgets/CesiumWidget/lighter.css +14 -0
- package/vendor/cesium/Widgets/FullscreenButton/FullscreenButton.css +8 -0
- package/vendor/cesium/Widgets/Geocoder/Geocoder.css +70 -0
- package/vendor/cesium/Widgets/Geocoder/lighter.css +17 -0
- package/vendor/cesium/Widgets/I3SBuildingSceneLayerExplorer/I3SBuildingSceneLayerExplorer.css +27 -0
- package/vendor/cesium/Widgets/Images/ImageryProviders/ArcGisMapServiceWorldHillshade.png +0 -0
- package/vendor/cesium/Widgets/Images/ImageryProviders/ArcGisMapServiceWorldImagery.png +0 -0
- package/vendor/cesium/Widgets/Images/ImageryProviders/ArcGisMapServiceWorldOcean.png +0 -0
- package/vendor/cesium/Widgets/Images/ImageryProviders/azureAerial.png +0 -0
- package/vendor/cesium/Widgets/Images/ImageryProviders/azureRoads.png +0 -0
- package/vendor/cesium/Widgets/Images/ImageryProviders/bingAerial.png +0 -0
- package/vendor/cesium/Widgets/Images/ImageryProviders/bingAerialLabels.png +0 -0
- package/vendor/cesium/Widgets/Images/ImageryProviders/bingRoads.png +0 -0
- package/vendor/cesium/Widgets/Images/ImageryProviders/blueMarble.png +0 -0
- package/vendor/cesium/Widgets/Images/ImageryProviders/earthAtNight.png +0 -0
- package/vendor/cesium/Widgets/Images/ImageryProviders/googleContour.png +0 -0
- package/vendor/cesium/Widgets/Images/ImageryProviders/googleRoadmap.png +0 -0
- package/vendor/cesium/Widgets/Images/ImageryProviders/googleSatellite.png +0 -0
- package/vendor/cesium/Widgets/Images/ImageryProviders/googleSatelliteLabels.png +0 -0
- package/vendor/cesium/Widgets/Images/ImageryProviders/mapQuestOpenStreetMap.png +0 -0
- package/vendor/cesium/Widgets/Images/ImageryProviders/mapboxSatellite.png +0 -0
- package/vendor/cesium/Widgets/Images/ImageryProviders/mapboxStreets.png +0 -0
- package/vendor/cesium/Widgets/Images/ImageryProviders/mapboxTerrain.png +0 -0
- package/vendor/cesium/Widgets/Images/ImageryProviders/naturalEarthII.png +0 -0
- package/vendor/cesium/Widgets/Images/ImageryProviders/openStreetMap.png +0 -0
- package/vendor/cesium/Widgets/Images/ImageryProviders/sentinel-2.png +0 -0
- package/vendor/cesium/Widgets/Images/ImageryProviders/stadiaAlidadeSmooth.png +0 -0
- package/vendor/cesium/Widgets/Images/ImageryProviders/stadiaAlidadeSmoothDark.png +0 -0
- package/vendor/cesium/Widgets/Images/ImageryProviders/stamenToner.png +0 -0
- package/vendor/cesium/Widgets/Images/ImageryProviders/stamenWatercolor.png +0 -0
- package/vendor/cesium/Widgets/Images/NavigationHelp/Mouse.svg +84 -0
- package/vendor/cesium/Widgets/Images/NavigationHelp/MouseLeft.svg +76 -0
- package/vendor/cesium/Widgets/Images/NavigationHelp/MouseMiddle.svg +76 -0
- package/vendor/cesium/Widgets/Images/NavigationHelp/MouseRight.svg +76 -0
- package/vendor/cesium/Widgets/Images/NavigationHelp/Touch.svg +120 -0
- package/vendor/cesium/Widgets/Images/NavigationHelp/TouchDrag.svg +129 -0
- package/vendor/cesium/Widgets/Images/NavigationHelp/TouchRotate.svg +76 -0
- package/vendor/cesium/Widgets/Images/NavigationHelp/TouchTilt.svg +135 -0
- package/vendor/cesium/Widgets/Images/NavigationHelp/TouchZoom.svg +74 -0
- package/vendor/cesium/Widgets/Images/TerrainProviders/CesiumWorldTerrain.png +0 -0
- package/vendor/cesium/Widgets/Images/TerrainProviders/Ellipsoid.png +0 -0
- package/vendor/cesium/Widgets/Images/TimelineIcons.png +0 -0
- package/vendor/cesium/Widgets/Images/info-loading.gif +0 -0
- package/vendor/cesium/Widgets/InfoBox/InfoBox.css +92 -0
- package/vendor/cesium/Widgets/InfoBox/InfoBoxDescription.css +178 -0
- package/vendor/cesium/Widgets/NavigationHelpButton/NavigationHelpButton.css +93 -0
- package/vendor/cesium/Widgets/NavigationHelpButton/lighter.css +38 -0
- package/vendor/cesium/Widgets/PerformanceWatchdog/PerformanceWatchdog.css +15 -0
- package/vendor/cesium/Widgets/ProjectionPicker/ProjectionPicker.css +38 -0
- package/vendor/cesium/Widgets/SceneModePicker/SceneModePicker.css +56 -0
- package/vendor/cesium/Widgets/SelectionIndicator/SelectionIndicator.css +20 -0
- package/vendor/cesium/Widgets/Timeline/Timeline.css +103 -0
- package/vendor/cesium/Widgets/Timeline/lighter.css +23 -0
- package/vendor/cesium/Widgets/VRButton/VRButton.css +8 -0
- package/vendor/cesium/Widgets/Viewer/Viewer.css +107 -0
- package/vendor/cesium/Widgets/VoxelInspector/VoxelInspector.css +16 -0
- package/vendor/cesium/Widgets/lighter.css +237 -0
- package/vendor/cesium/Widgets/lighterShared.css +46 -0
- package/vendor/cesium/Widgets/shared.css +103 -0
- package/vendor/cesium/Widgets/widgets.css +1342 -0
- package/vendor/cesium/Workers/chunk-3XZ3CL24.js +26 -0
- package/vendor/cesium/Workers/chunk-674HC7OA.js +26 -0
- package/vendor/cesium/Workers/chunk-6LO6MWK3.js +26 -0
- package/vendor/cesium/Workers/chunk-F6M5ZWO4.js +29 -0
- package/vendor/cesium/Workers/chunk-FZYUOFLY.js +70 -0
- package/vendor/cesium/Workers/chunk-GACOCTFW.js +26 -0
- package/vendor/cesium/Workers/chunk-MDI2T7LJ.js +27 -0
- package/vendor/cesium/Workers/chunk-P6X455E3.js +27 -0
- package/vendor/cesium/Workers/chunk-SOIWLLGP.js +26 -0
- package/vendor/cesium/Workers/chunk-UBKFZE5C.js +26 -0
- package/vendor/cesium/Workers/combineGeometry.js +26 -0
- package/vendor/cesium/Workers/createBoxGeometry.js +26 -0
- package/vendor/cesium/Workers/createBoxOutlineGeometry.js +26 -0
- package/vendor/cesium/Workers/createCircleGeometry.js +26 -0
- package/vendor/cesium/Workers/createCircleOutlineGeometry.js +26 -0
- package/vendor/cesium/Workers/createCoplanarPolygonGeometry.js +26 -0
- package/vendor/cesium/Workers/createCoplanarPolygonOutlineGeometry.js +26 -0
- package/vendor/cesium/Workers/createCorridorGeometry.js +26 -0
- package/vendor/cesium/Workers/createCorridorOutlineGeometry.js +26 -0
- package/vendor/cesium/Workers/createCylinderGeometry.js +26 -0
- package/vendor/cesium/Workers/createCylinderOutlineGeometry.js +26 -0
- package/vendor/cesium/Workers/createEllipseGeometry.js +26 -0
- package/vendor/cesium/Workers/createEllipseOutlineGeometry.js +26 -0
- package/vendor/cesium/Workers/createEllipsoidGeometry.js +26 -0
- package/vendor/cesium/Workers/createEllipsoidOutlineGeometry.js +26 -0
- package/vendor/cesium/Workers/createFrustumGeometry.js +26 -0
- package/vendor/cesium/Workers/createFrustumOutlineGeometry.js +26 -0
- package/vendor/cesium/Workers/createGeometry.js +26 -0
- package/vendor/cesium/Workers/createGroundPolylineGeometry.js +26 -0
- package/vendor/cesium/Workers/createPlaneGeometry.js +26 -0
- package/vendor/cesium/Workers/createPlaneOutlineGeometry.js +26 -0
- package/vendor/cesium/Workers/createPolygonGeometry.js +26 -0
- package/vendor/cesium/Workers/createPolygonOutlineGeometry.js +26 -0
- package/vendor/cesium/Workers/createPolylineGeometry.js +26 -0
- package/vendor/cesium/Workers/createPolylineVolumeGeometry.js +26 -0
- package/vendor/cesium/Workers/createPolylineVolumeOutlineGeometry.js +26 -0
- package/vendor/cesium/Workers/createRectangleGeometry.js +26 -0
- package/vendor/cesium/Workers/createRectangleOutlineGeometry.js +26 -0
- package/vendor/cesium/Workers/createSimplePolylineGeometry.js +26 -0
- package/vendor/cesium/Workers/createSphereGeometry.js +26 -0
- package/vendor/cesium/Workers/createSphereOutlineGeometry.js +26 -0
- package/vendor/cesium/Workers/createTaskProcessorWorker.js +26 -0
- package/vendor/cesium/Workers/createVectorTileClampedPolylines.js +26 -0
- package/vendor/cesium/Workers/createVectorTileGeometries.js +26 -0
- package/vendor/cesium/Workers/createVectorTilePoints.js +26 -0
- package/vendor/cesium/Workers/createVectorTilePolygons.js +26 -0
- package/vendor/cesium/Workers/createVectorTilePolylines.js +26 -0
- package/vendor/cesium/Workers/createVerticesFromCesium3DTilesTerrain.js +26 -0
- package/vendor/cesium/Workers/createVerticesFromGoogleEarthEnterpriseBuffer.js +26 -0
- package/vendor/cesium/Workers/createVerticesFromHeightmap.js +26 -0
- package/vendor/cesium/Workers/createVerticesFromQuantizedTerrainMesh.js +26 -0
- package/vendor/cesium/Workers/createWallGeometry.js +26 -0
- package/vendor/cesium/Workers/createWallOutlineGeometry.js +26 -0
- package/vendor/cesium/Workers/decodeDraco.js +26 -0
- package/vendor/cesium/Workers/decodeGoogleEarthEnterprisePacket.js +26 -0
- package/vendor/cesium/Workers/decodeI3S.js +26 -0
- package/vendor/cesium/Workers/gaussianSplatSorter.js +26 -0
- package/vendor/cesium/Workers/gaussianSplatTextureGenerator.js +26 -0
- package/vendor/cesium/Workers/incrementallyBuildTerrainPicker.js +26 -0
- package/vendor/cesium/Workers/transcodeKTX2.js +56 -0
- package/vendor/cesium/Workers/transferTypedArrayTest.js +26 -0
- package/vendor/cesium/Workers/upsampleQuantizedTerrainMesh.js +26 -0
- package/vendor/cesium/Workers/upsampleVerticesFromCesium3DTilesTerrain.js +26 -0
- package/vendor/cesium/index.cjs +18348 -0
- package/vendor/cesium/index.js +18348 -0
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
## 1.0.0
|
|
4
|
+
|
|
5
|
+
首个公开版本(npm 包名 `@cveo/dsh-digital-earth`,面板名「数字地球 / Digital Earth」)。
|
|
6
|
+
|
|
7
|
+
- 3D Tiles 浏览:b3dm / glb(3D Tiles 1.0 / 1.1)与 3DGS(`KHR_gaussian_splatting`,含 SPZ 压缩)。
|
|
8
|
+
- 数据加载:本地目录递归扫描 `tileset.json`;在线 `http(s)` 地址(跨域失败自动走 Host 代理);本机绝对路径。
|
|
9
|
+
- 数据源管理:影像底图与地形数据源可在设置中增删改(XYZ / WMS / ArcGIS / Cesium 地形),选中的底图与地形持久化到 `$DSH_HOME/digital-earth/sources.json`,支持恢复默认。
|
|
10
|
+
- 底图与地形:默认 Esri World Imagery 与 ArcGIS WorldElevation3D,均可关闭或切换;内置 7 个 Esri 底图预设(地形图 / 街道图 / 浅灰 / 晕渲 / 海洋 / 山体阴影),新增预设自动合并进已有配置。
|
|
11
|
+
- 双语界面:跟随 DSH 语言(中文 / English),运行时切换即时生效(槽位 `locale` 命名空间 + 全局字典注册)。
|
|
12
|
+
- 浅深主题:默认跟随 DSH / 系统;顶栏「外观」下拉提供 跟随系统 / 浅色 / 深色 三选,设置中亦可切换,仅作用于本面板(自有 `--mv-*` 变量 + Cesium 调色板同步)。
|
|
13
|
+
- 图层面板:显隐、定位、移除、叠加,按图层统计瓦片 / 三角面 / 缓存。
|
|
14
|
+
- 工具:测距、测面、测高、拾取属性、截图、复位视角。
|
|
15
|
+
- 坐标 HUD:光标经纬度与高程在裸地球、地形、3D Tiles / 3DGS 三种情形下均可用(射线—椭球求交 + 模型深度拾取 + `globe.getHeight` 地形校正,~8 Hz,DOM 直写不触发重渲染)。
|
|
16
|
+
- 数据源表单:XYZ 支持 TMS(Y 轴南起),并可直接选择本地 XYZ 瓦片目录作为底图(离线可用)。
|
|
17
|
+
- 安全:Connection 会话 / 同源校验、一次性 token、本地目录白名单、代理内网地址拦截。
|
|
18
|
+
- CesiumJS 1.147 自托管(中国大陆网络可用)。
|
|
19
|
+
- 设置面板页脚展示维护团队:武汉大学 CVEO 课题组(https://www.whu-cveo.com/)。
|
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 CVEO Research Group, Wuhan University
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/NOTICE
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
dsh-digital-earth
|
|
2
|
+
================
|
|
3
|
+
|
|
4
|
+
This product bundles CesiumJS 1.147.0 (vendor/cesium), which is distributed
|
|
5
|
+
under the Apache License, Version 2.0. A copy of that license is included at
|
|
6
|
+
vendor/cesium/LICENSE.md; Cesium's own third-party notices are under
|
|
7
|
+
vendor/cesium/ThirdParty.
|
|
8
|
+
|
|
9
|
+
Cesium® is a registered trademark of Cesium GS, Inc. This plugin is not
|
|
10
|
+
affiliated with or endorsed by Cesium GS, Inc.
|
|
11
|
+
|
|
12
|
+
Imagery and elevation are streamed at runtime from public ArcGIS services and
|
|
13
|
+
remain subject to Esri's terms of use.
|
package/README.en.md
ADDED
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
<div align="center">
|
|
2
|
+
|
|
3
|
+
# Digital Earth
|
|
4
|
+
|
|
5
|
+
**A DeepSeek Harness panel for 3D Tiles and 3DGS layers on a CesiumJS globe**
|
|
6
|
+
|
|
7
|
+
[中文](README.md) · [English](README.en.md)
|
|
8
|
+
|
|
9
|
+

|
|
10
|
+

|
|
11
|
+

|
|
12
|
+

|
|
13
|
+
|
|
14
|
+
</div>
|
|
15
|
+
|
|
16
|
+

|
|
17
|
+
|
|
18
|
+
Digital Earth adds a CesiumJS globe to the DSH main workspace so photogrammetry and Gaussian-splatting deliverables can be explored in one panel. CesiumJS 1.147 is self-hosted: no Cesium ion token, no external static assets.
|
|
19
|
+
|
|
20
|
+
## Features
|
|
21
|
+
|
|
22
|
+
| Capability | Details |
|
|
23
|
+
| --- | --- |
|
|
24
|
+
| 3D Tiles & 3DGS | Recursive `tileset.json` discovery from a local folder; 3D Tiles 1.0 / 1.1 (b3dm, glb) and 3DGS (`KHR_gaussian_splatting`, SPZ included); multiple layers with show / hide, fly-to and remove |
|
|
25
|
+
| Online & local paths | Paste an `http(s)` URL or an absolute local path; cross-origin failures fall back to the host proxy automatically |
|
|
26
|
+
| Basemaps | Built-in Esri presets plus custom XYZ (TMS, projection, subdomains, max level) / WMS / ArcGIS services; the no-basemap mode stays fully usable |
|
|
27
|
+
| Terrain | ArcGIS WorldElevation3D built in; any Cesium or ArcGIS terrain service can be added |
|
|
28
|
+
| Local tiles | Point at a local XYZ / TMS tile folder and use it as a basemap offline |
|
|
29
|
+
| Source management | Add, edit, delete, select and restore defaults in the settings panel; persisted to `$DSH_HOME/digital-earth/sources.json` |
|
|
30
|
+
| Cursor HUD | Longitude / latitude plus elevation on the bare globe, terrain and 3D surfaces; ~8 Hz sampling without React re-renders |
|
|
31
|
+
| Measurement | Distance, area, height difference, 3D Tiles property picking, PNG snapshot, reset view |
|
|
32
|
+
| Layer statistics | Tiles, pending tiles, triangles and cache per layer; global FPS and camera height / heading |
|
|
33
|
+
| Bilingual | Follows the DSH language and switches between Chinese and English at runtime |
|
|
34
|
+
| Theme | Follows DSH or the system; explicit light / dark override scoped to this panel |
|
|
35
|
+
|
|
36
|
+
## Requirements
|
|
37
|
+
|
|
38
|
+
- DeepSeek Harness `>=0.2.1-rc.1 <0.3.0-0`
|
|
39
|
+
- A modern browser with WebGL / WebGL2
|
|
40
|
+
- Network access to the public ArcGIS services (`server.arcgisonline.com`, `elevation3d.arcgis.com`)
|
|
41
|
+
|
|
42
|
+
## Install
|
|
43
|
+
|
|
44
|
+
Search for “Digital Earth” in the plugin market, or use the CLI:
|
|
45
|
+
|
|
46
|
+
```bash
|
|
47
|
+
# from the npm registry
|
|
48
|
+
dsh plugin --profile <profile> add @cveo/dsh-digital-earth
|
|
49
|
+
|
|
50
|
+
# from a local folder or tarball
|
|
51
|
+
dsh plugin --profile <profile> add "<path-to-plugin>"
|
|
52
|
+
dsh plugin --profile <profile> add "./cveo-dsh-digital-earth-1.0.0.tgz"
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
Fully quit and reopen DSH after installing or updating: client bundles are registered when the host starts, so reloading the page alone is not enough. The “Digital Earth” entry then appears in the sidebar.
|
|
56
|
+
|
|
57
|
+
## Usage
|
|
58
|
+
|
|
59
|
+
| Entry | What it does |
|
|
60
|
+
| --- | --- |
|
|
61
|
+
| **Data ▾** | Open a local folder (`tileset.json` discovery), load an online URL or local path, clear measurements and picking results |
|
|
62
|
+
| **Basemap ▾ / Terrain ▾** | Switch between configured sources, or turn basemap / terrain off |
|
|
63
|
+
| **Measure ▾** | Distance, area, height, property picking; left click to add a point, double click to finish |
|
|
64
|
+
| **Layers n** | Layer list: click a name to fly to it, ◉ toggles visibility, ✕ removes it |
|
|
65
|
+
| **Appearance** | Follow system / light / dark |
|
|
66
|
+
| **Settings** | Source management (imagery / terrain) and appearance |
|
|
67
|
+
|
|
68
|
+
Cursor coordinates are sampled at roughly 8 Hz: a ray–ellipsoid intersection keeps the readout alive on the bare globe, the depth buffer provides 3D Tiles / 3DGS surface elevations, and `globe.getHeight` corrects terrain. HUD text is written straight to the DOM, so it never triggers React re-renders.
|
|
69
|
+
|
|
70
|
+
## Data sources
|
|
71
|
+
|
|
72
|
+
All built-in presets are token-free ArcGIS public services and can be enabled in one click from the settings panel:
|
|
73
|
+
|
|
74
|
+
| Kind | Presets |
|
|
75
|
+
| --- | --- |
|
|
76
|
+
| Imagery | Esri World Imagery, World Topographic, World Street Map, Light Gray Canvas, World Shaded Relief, World Ocean, World Hillshade |
|
|
77
|
+
| Terrain | ArcGIS WorldElevation3D |
|
|
78
|
+
|
|
79
|
+
Custom sources support:
|
|
80
|
+
|
|
81
|
+
- **XYZ tiles** — `{z}/{x}/{y}` templates, TMS (south-origin Y), Web Mercator / geographic projection, subdomains, maximum level, attribution
|
|
82
|
+
- **WMS** — service URL plus layer names
|
|
83
|
+
- **ArcGIS** — MapServer URL (level metadata is read automatically)
|
|
84
|
+
- **Cesium terrain** — terrain service URL with optional vertex normals / water mask
|
|
85
|
+
- **Local tile folders** — pick a folder right from the XYZ form; the host exposes it through its directory whitelist
|
|
86
|
+
|
|
87
|
+
Selections persist with the rest of the catalog, so changing ports or restarting DSH never loses them.
|
|
88
|
+
|
|
89
|
+
## How it works
|
|
90
|
+
|
|
91
|
+
- **Host** (`index.js`) registers the `/api/3dviewer/*` routes: Cesium static assets, local folder scanning and whitelisting, tile serving, the cross-origin proxy and catalog persistence.
|
|
92
|
+
- **Client** (`client.js`) loads as a DSH client module, claims the `sidebar.panellist` and `main` slots, and dynamically imports the self-hosted CesiumJS build.
|
|
93
|
+
- **Security**: every route is bound to the DSH `connection` session and same-origin checks with a one-time token; `/tiles` only serves directories opened through the file picker; the `/remote` proxy rejects loopback and private addresses to prevent SSRF. The plugin never uploads data or reaches out on its own.
|
|
94
|
+
- **Self-hosted CesiumJS**: `vendor/cesium` ships with the plugin — no CDN, no Cesium ion token.
|
|
95
|
+
|
|
96
|
+
## Known limitations
|
|
97
|
+
|
|
98
|
+
- The `/remote` proxy does not forward query strings yet, so WMS / WMTS requires a service that allows direct cross-origin requests; proxy query and redirect validation are planned.
|
|
99
|
+
- Public Esri services can be unreachable on some networks; the basemap then renders empty, and a local tile source can be used instead.
|
|
100
|
+
|
|
101
|
+
## Layout
|
|
102
|
+
|
|
103
|
+
```text
|
|
104
|
+
dsh-digital-earth/
|
|
105
|
+
├── index.js # host plugin: routes, proxy, local assets, persistence
|
|
106
|
+
├── client.js # client panel: Cesium scene, toolbar, source settings
|
|
107
|
+
├── cordis.patch.yml # bundle patch
|
|
108
|
+
├── locale/ # plugin market metadata (zh / en)
|
|
109
|
+
├── vendor/cesium/ # self-hosted CesiumJS 1.147
|
|
110
|
+
├── icon.svg
|
|
111
|
+
└── preview.png
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
## Feedback
|
|
115
|
+
|
|
116
|
+
Issues and suggestions are welcome in the [issue tracker](https://github.com/CVEO/dsh-digital-earth/issues). Please make sure `node --check index.js && node --check client.js` passes before opening a pull request.
|
|
117
|
+
|
|
118
|
+
## Team
|
|
119
|
+
|
|
120
|
+
Maintained by the **CVEO Research Group, Wuhan University** · <https://www.whu-cveo.com/>
|
|
121
|
+
|
|
122
|
+
## License
|
|
123
|
+
|
|
124
|
+
MIT. CesiumJS is distributed under Apache-2.0; see [`NOTICE`](NOTICE) for third-party attribution.
|
package/README.md
CHANGED
|
@@ -1,3 +1,124 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
<div align="center">
|
|
2
|
+
|
|
3
|
+
# 数字地球 · Digital Earth
|
|
4
|
+
|
|
5
|
+
**在 CesiumJS 地球上叠加 3D Tiles / 3DGS 图层的 DeepSeek Harness 面板**
|
|
6
|
+
|
|
7
|
+
[中文](README.md) · [English](README.en.md)
|
|
8
|
+
|
|
9
|
+

|
|
10
|
+

|
|
11
|
+

|
|
12
|
+

|
|
13
|
+
|
|
14
|
+
</div>
|
|
15
|
+
|
|
16
|
+

|
|
17
|
+
|
|
18
|
+
数字地球是一个 DSH 插件:把 CesiumJS 三维地球嵌入主工作区,用统一的面板浏览实景三维与高斯泼溅成果。自托管 CesiumJS 1.147,不依赖 Cesium ion Token,不请求外网静态资源。
|
|
19
|
+
|
|
20
|
+
## 功能
|
|
21
|
+
|
|
22
|
+
| 能力 | 说明 |
|
|
23
|
+
| --- | --- |
|
|
24
|
+
| 实景三维叠加 | 本地目录递归扫描 `tileset.json`;3D Tiles 1.0 / 1.1(b3dm、glb)与 3DGS(`KHR_gaussian_splatting`,含 SPZ 压缩);多图层同时叠加、显隐 / 定位 / 移除 |
|
|
25
|
+
| 在线与本地路径 | 直接粘贴 `http(s)` 地址或本机绝对路径;跨域失败自动回退到宿主代理 |
|
|
26
|
+
| 影像底图 | 内置多个 Esri 底图预设,可自定义 XYZ(TMS、投影、子域名、最大层级)/ WMS / ArcGIS 服务;无底图模式也完整可用 |
|
|
27
|
+
| 地形 | 内置 ArcGIS WorldElevation3D,可接入任意 Cesium / ArcGIS 地形服务 |
|
|
28
|
+
| 本地瓦片 | 直接把本地 XYZ / TMS 瓦片目录添加为底图,离线可用 |
|
|
29
|
+
| 数据源管理 | 设置面板内增删改、单选启用、恢复默认,配置持久化到 `$DSH_HOME/digital-earth/sources.json` |
|
|
30
|
+
| 坐标 HUD | 光标经纬度 + 高程;裸地球、地形、模型三种情形均可用,约 8 Hz 采样,不触发重渲染 |
|
|
31
|
+
| 量测与工具 | 测距、测面、测高、拾取 3D Tiles 属性、PNG 截图、复位视角 |
|
|
32
|
+
| 图层统计 | 每层瓦片数、待加载数、三角面数、缓存占用;全局 FPS 与相机高度 / 朝向 |
|
|
33
|
+
| 双语 | 跟随 DSH 语言,中文 / English 运行时即时切换 |
|
|
34
|
+
| 主题 | 跟随 DSH 或系统;可显式选择浅色 / 深色,仅作用于本面板 |
|
|
35
|
+
|
|
36
|
+
## 环境要求
|
|
37
|
+
|
|
38
|
+
- DeepSeek Harness `>=0.2.1-rc.1 <0.3.0-0`
|
|
39
|
+
- 支持 WebGL / WebGL2 的现代浏览器
|
|
40
|
+
- 中国大陆网络可直接访问 ArcGIS 公共服务(`server.arcgisonline.com`、`elevation3d.arcgis.com`)
|
|
41
|
+
|
|
42
|
+
## 安装
|
|
43
|
+
|
|
44
|
+
在插件市场中搜索「数字地球」,或使用命令行:
|
|
45
|
+
|
|
46
|
+
```bash
|
|
47
|
+
# 从 npm 注册表安装
|
|
48
|
+
dsh plugin --profile <profile> add @cveo/dsh-digital-earth
|
|
49
|
+
|
|
50
|
+
# 从本地目录 / 打包文件安装
|
|
51
|
+
dsh plugin --profile <profile> add "<path-to-plugin>"
|
|
52
|
+
dsh plugin --profile <profile> add "./cveo-dsh-digital-earth-1.0.0.tgz"
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
安装或更新后请**完全退出并重新打开 DSH** 一次:客户端 bundle 在宿主启动时注册,仅刷新页面不会重新注册。随后左侧栏出现「数字地球 / Digital Earth」入口。
|
|
56
|
+
|
|
57
|
+
## 使用
|
|
58
|
+
|
|
59
|
+
| 入口 | 作用 |
|
|
60
|
+
| --- | --- |
|
|
61
|
+
| **数据 ▾** | 打开本地目录(递归扫描 `tileset.json`)、加载在线地址 / 本地路径、清除量测与拾取结果 |
|
|
62
|
+
| **底图 ▾ / 地形 ▾** | 在已配置的数据源之间切换,或关闭底图 / 地形 |
|
|
63
|
+
| **量测 ▾** | 测距、测面、测高、拾取属性;左键取点,双击结束 |
|
|
64
|
+
| **图层 n** | 图层面板:点名称定位、◉ 显隐、✕ 移除 |
|
|
65
|
+
| **外观** | 跟随系统 / 浅色 / 深色 |
|
|
66
|
+
| **设置** | 数据源管理(影像 / 地形)与外观设置 |
|
|
67
|
+
|
|
68
|
+
鼠标坐标按约 8 Hz 采样:射线与椭球求交保证裸地球也有经纬度;命中 3D Tiles / 3DGS 时用深度缓冲取模型表面高程;有地形时用 `globe.getHeight` 校正。HUD 文本直接写入 DOM,不触发 React 重渲染。
|
|
69
|
+
|
|
70
|
+
## 数据源
|
|
71
|
+
|
|
72
|
+
内置预设均为免 Token 的 ArcGIS 公共服务,可在设置中一键启用:
|
|
73
|
+
|
|
74
|
+
| 类型 | 预设 |
|
|
75
|
+
| --- | --- |
|
|
76
|
+
| 影像 | Esri World Imagery、World Topographic、World Street Map、Light Gray Canvas、World Shaded Relief、World Ocean、World Hillshade |
|
|
77
|
+
| 地形 | ArcGIS WorldElevation3D |
|
|
78
|
+
|
|
79
|
+
自定义数据源支持:
|
|
80
|
+
|
|
81
|
+
- **XYZ 瓦片**:`{z}/{x}/{y}` 模板、TMS(Y 轴南起)、Web 墨卡托 / 地理坐标、子域名、最大层级、版权署名
|
|
82
|
+
- **WMS**:服务地址 + 图层名
|
|
83
|
+
- **ArcGIS**:MapServer 地址(自动读取层级信息)
|
|
84
|
+
- **Cesium 地形**:地形服务地址,可选请求法线 / 水面掩膜
|
|
85
|
+
- **本地瓦片目录**:在 XYZ 表单中直接选择目录,插件通过宿主白名单提供瓦片
|
|
86
|
+
|
|
87
|
+
选中的底图与地形随配置持久化,换端口或重开 DSH 都不会丢失。
|
|
88
|
+
|
|
89
|
+
## 工作原理
|
|
90
|
+
|
|
91
|
+
- **宿主侧**(`index.js`):注册 `/api/3dviewer/*` 路由,负责 Cesium 静态资源、本地目录扫描与白名单、瓦片服务、跨域代理、数据源配置读写。
|
|
92
|
+
- **客户端**(`client.js`):作为 DSH 客户端模块加载,声明 `sidebar.panellist` 与 `main` 槽位,按需动态 `import()` 自托管 CesiumJS。
|
|
93
|
+
- **安全**:所有路由绑定 DSH `connection` 会话与同源校验,并带一次性 token;`/tiles` 仅服务经文件选择器加入白名单的目录;`/remote` 代理拒绝 loopback / 私网地址,避免 SSRF。插件不上传数据、不主动外联。
|
|
94
|
+
- **自托管 CesiumJS**:`vendor/cesium` 随插件分发,无 CDN、无 Cesium ion Token。
|
|
95
|
+
|
|
96
|
+
## 已知限制
|
|
97
|
+
|
|
98
|
+
- `/remote` 代理不透传查询串,WMS / WMTS 需要服务端允许直连 CORS 才能使用;后续会补齐代理的查询串与重定向校验。
|
|
99
|
+
- 在线 Esri 服务在部分网络环境可能不可达,此时底图会显示为空白,可切换为本地瓦片数据源。
|
|
100
|
+
|
|
101
|
+
## 目录结构
|
|
102
|
+
|
|
103
|
+
```text
|
|
104
|
+
dsh-digital-earth/
|
|
105
|
+
├── index.js # 宿主插件:路由、代理、本地资源、配置持久化
|
|
106
|
+
├── client.js # 客户端面板:Cesium 场景、工具栏、数据源设置
|
|
107
|
+
├── cordis.patch.yml # bundle 补丁
|
|
108
|
+
├── locale/ # 插件市场元数据(中 / 英)
|
|
109
|
+
├── vendor/cesium/ # 自托管 CesiumJS 1.147
|
|
110
|
+
├── icon.svg
|
|
111
|
+
└── preview.png
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
## 反馈与贡献
|
|
115
|
+
|
|
116
|
+
欢迎通过 [Issue](https://github.com/CVEO/dsh-digital-earth/issues) 报告问题或提出建议。提交前请确保 `node --check index.js && node --check client.js` 通过。
|
|
117
|
+
|
|
118
|
+
## 团队
|
|
119
|
+
|
|
120
|
+
由 **武汉大学 CVEO 课题组** 维护 · <https://www.whu-cveo.com/>
|
|
121
|
+
|
|
122
|
+
## 许可
|
|
123
|
+
|
|
124
|
+
MIT。CesiumJS 以 Apache-2.0 分发,第三方声明见 [`NOTICE`](NOTICE)。
|