@3clear/basegis 0.1.6 → 0.1.7

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 CHANGED
@@ -498,6 +498,9 @@ onMounted(() => {
498
498
  // 也可以传 container: HTMLElement。
499
499
  containerId: 'map',
500
500
  config: {
501
+ // 地图 / 底图投影与无元数据栅格默认源投影分开配置。
502
+ crs: 'EPSG:3857',
503
+ sourceProjectionCrs: 'EPSG:3857',
501
504
  view: {
502
505
  // 可选 2d / 2.5d / 3d。
503
506
  defaultSceneMode: '3d',
@@ -571,7 +574,7 @@ onBeforeUnmount(() => {
571
574
  | 配置入口 | 适用场景 | 是否写入运行时配置 | 是否立即重建地图 |
572
575
  | --- | --- | --- | --- |
573
576
  | `new BaseGIS({ ... })` | 创建实例并设置默认引擎、容器和整套配置。 | 是 | 否,仍需调用 `init()`。 |
574
- | `init(options)` | 创建或重新创建地图,并单次覆盖容器、引擎、场景模式或初始视角。 | `engineType` 会写入;`sceneMode / initialView` 不写入。 | 是 |
577
+ | `init(options)` | 创建或重新创建地图,并单次覆盖容器、引擎、CRS、场景模式或初始视角。 | `engineType` 会写入;`crs / sceneMode / initialView` 不写入。 | 是 |
575
578
  | `setConfig(config)` | 修改实例保存的配置,供后续初始化或配置查询使用。 | 是 | 否 |
576
579
 
577
580
  ### 构造参数
@@ -581,6 +584,8 @@ const mapCore = new BaseGIS({
581
584
  engineType: 'cesium',
582
585
  containerId: 'map',
583
586
  config: {
587
+ crs: 'EPSG:3857',
588
+ sourceProjectionCrs: 'EPSG:3857',
584
589
  view: {
585
590
  defaultSceneMode: '3d',
586
591
  initialView: {
@@ -602,7 +607,8 @@ const mapCore = new BaseGIS({
602
607
  | `container` | `HTMLElement \| string` | - | 地图容器 DOM,也兼容传容器 id 字符串。 |
603
608
  | `containerId` | `string` | - | 地图容器 id。与 `container` 二选一即可。 |
604
609
  | `config` | `Object` | 内置配置 | 推荐的配置入口,与内置配置做深合并。 |
605
- | `engine / view / basemap / dem / sourceTransport` | `Object` | - | 兼容直接写在构造参数顶层;推荐统一放入 `config`,避免与控制参数混淆。同名配置同时出现时,`config` 中的值优先。 |
610
+ | `crs / sourceProjectionCrs` | `string` | 见下文 | 分别表示地图 / 底图投影和无元数据栅格的默认源投影,支持 `EPSG:4326` / `EPSG:3857`。 |
611
+ | `engine / view / basemap / dem / sourceTransport` | `Object` | - | 兼容直接写在构造参数顶层;`crs / sourceProjectionCrs` 也可如此传入。推荐统一放入 `config`,同名时 `config` 中的值优先。 |
606
612
 
607
613
  ### `init(options)` 参数与优先级
608
614
 
@@ -611,6 +617,7 @@ const result = mapCore.init({
611
617
  // 都是选填;构造时已经设置过的内容不需要重复传。
612
618
  containerId: 'map',
613
619
  engineType: 'cesium',
620
+ crs: 'EPSG:3857',
614
621
  sceneMode: '3d',
615
622
  initialView: {
616
623
  center: [104, 35],
@@ -630,6 +637,7 @@ if (!result.success) {
630
637
  | `container` | `HTMLElement \| string` | 本次使用的容器 DOM 或容器 id,优先级最高。 |
631
638
  | `containerId` | `string` | 本次使用的容器 id。 |
632
639
  | `engineType` | `'cesium' \| 'leaflet'` | 本次使用的引擎,同时更新实例保存的 `engine.active`。 |
640
+ | `crs` | `'EPSG:4326' \| 'EPSG:3857'` | 本次创建地图使用的 CRS;只覆盖本次初始化,不写回 `config.crs`。 |
633
641
  | `sceneMode` | `'2d' \| '2.5d' \| '3d'` | 本次初始化的场景模式;Leaflet 只支持 `2d`。不会写回 `config.view.defaultSceneMode`。 |
634
642
  | `initialView` | `Object` | 本次初始化的视角。不会写回 `config.view.initialView`。 |
635
643
 
@@ -641,6 +649,7 @@ if (!result.success) {
641
649
  | --- | --- |
642
650
  | 容器 | `init.container` → `init.containerId` → 构造函数 `container` → 构造函数 `containerId` |
643
651
  | 引擎 | `init.engineType` → 实例当前引擎(由构造函数 `engineType` 或 `config.engine.active` 得到)→ `cesium` |
652
+ | 地图 CRS | `init.crs` → `config.crs` → 旧版引擎默认(Leaflet `EPSG:4326`,Cesium `EPSG:3857`) |
644
653
  | 场景模式 | Cesium:`init.sceneMode` → `config.view.defaultSceneMode` → `3d`;Leaflet 始终为 `2d` |
645
654
  | 初始视角 | `init.initialView` → `config.view.initialView` → 引擎内置安全视角 |
646
655
 
@@ -656,16 +665,29 @@ if (result.success) {
656
665
 
657
666
  ### 完整配置分组
658
667
 
659
- `config` 当前只有以下五个顶层分组。页面不要直接依赖包内部的 `src/gis/config` 文件;需要查看当前实例最终合并后的配置时,使用 `mapCore.getConfig()`。
668
+ `config` 顶层包含两个 CRS 值和以下五个配置分组。页面不要直接依赖包内部的 `src/gis/config` 文件;需要查看当前实例最终合并后的配置时,使用 `mapCore.getConfig()`。
660
669
 
661
- | 配置组 | 用途 | 主要生效时机 |
670
+ | 配置项 / 组 | 用途 | 主要生效时机 |
662
671
  | --- | --- | --- |
672
+ | `crs` | 地图平面投影与底图瓦片矩阵。 | `init()` / 重新 `init()` |
673
+ | `sourceProjectionCrs` | 无 CRS 元数据栅格的默认源投影。 | 后续创建或更新栅格图层时 |
663
674
  | `engine` | 默认引擎、引擎接入元数据及 Cesium 渲染质量。 | `init()` / 重新 `init()` |
664
675
  | `view` | 默认场景模式和初始视角。 | `init()` / 重新 `init()` |
665
676
  | `basemap` | 初始底图、可切换底图列表及内置服务元数据。 | `init()`;列表也供 `setBasemapById()` 查询 |
666
677
  | `dem` | Cesium 默认地形及可切换地形列表。 | Cesium `init()`;列表也供 `loadDEMById()` 查询 |
667
678
  | `sourceTransport` | 源解析传输图层的实例级默认视觉参数。 | 创建 adapter 时锁定;`setConfig()` 后需重新 `init()`,新 adapter 创建图层时才会读取 |
668
679
 
680
+ #### `crs` 与 `sourceProjectionCrs`
681
+
682
+ | 配置项 | 内置默认值 | 说明 |
683
+ | --- | --- | --- |
684
+ | `crs` | `''` | 地图平面和底图瓦片矩阵;空值保留旧版引擎默认,Leaflet 为 `EPSG:4326`,Cesium 为 `EPSG:3857`。 |
685
+ | `sourceProjectionCrs` | `'EPSG:4326'` | PNG / JPG / 灰度图 / 数值网格不携带 CRS 元数据时的默认源投影。 |
686
+
687
+ 两个值独立:修改底图 `crs` 不会重新解释栅格数据,修改 `sourceProjectionCrs` 也不会改变底图矩阵。`area`、视角以及点线面业务坐标始终使用 WGS84 经纬度。Cesium 中 `crs` 控制 2D / Columbus 平面投影和内置底图矩阵,不改变 3D 地球的 WGS84 坐标。
688
+
689
+ 栅格源投影的取值顺序是:单个数据源的 `sourceProjectionCrs`(兼容旧名 `sourceProjection`)→ GeoTIFF 可识别 GeoKey → BaseGIS `sourceProjectionCrs` → 内置 `EPSG:4326`。GeoTIFF 已声明但当前不支持的 CRS 会返回错误,不会被全局默认值覆盖。修改 `crs` 后必须重新 `init()`;修改 `sourceProjectionCrs` 只影响之后新建或重新加载且没有显式投影的栅格,不会自动重解释已加载数据。
690
+
669
691
  #### `engine` 引擎配置
670
692
 
671
693
  | 配置项 | 内置默认值 | 说明 |
@@ -721,6 +743,9 @@ Leaflet 不加载 DEM。`cesium-world-terrain` 需要 Cesium Ion 能力;`tiand
721
743
  const mapCore = new BaseGIS({
722
744
  containerId: 'map',
723
745
  config: {
746
+ // 地图瓦片与无元数据栅格的默认投影分开管理。
747
+ crs: 'EPSG:3857',
748
+ sourceProjectionCrs: 'EPSG:3857',
724
749
  engine: {
725
750
  active: 'cesium',
726
751
  cesium: {
@@ -831,7 +856,7 @@ mapCore.setConfig({
831
856
 
832
857
  ### `setConfig()` 怎么用
833
858
 
834
- `setConfig(overrideConfig)` 是同步方法,不校验配置,也没有统一结果对象或其他返回值。它只更新 `BaseGIS` 实例保存的配置,不会把新配置推送给已经创建的 adapter,也不会自动改变当前场景、视角、底图、DEM 或渲染质量。`engine.active` 是一个需要特别注意的例外:它会同步实例记录的引擎类型,但不会真正替换当前底层地图。
859
+ `setConfig(overrideConfig)` 是同步方法,没有统一结果对象或其他返回值。它只更新 `BaseGIS` 实例保存的配置,不会把新配置推送给已经创建的 adapter,也不会自动改变当前场景、视角、底图、DEM 或渲染质量。`crs / sourceProjectionCrs` 会归一化为 BaseGIS 支持的名称;修改 `crs` 后需重新 `init()`,修改 `sourceProjectionCrs` 只作为后续新数据的回退值。`engine.active` 是另一个需要特别注意的字段:它会同步实例记录的引擎类型,但不会真正替换当前底层地图。
835
860
 
836
861
  需要让整套初始化配置生效时,直接再次 `init()`,不要先调用 `destroy()`;否则托管图层快照会被清空:
837
862
 
@@ -909,6 +934,7 @@ basemap: {
909
934
  - `tianditu-terrain` 是天地图地形底图瓦片,不是 Cesium 的 DEM 高程地形;如果要控制 Cesium terrainProvider,请看后文 DEM。
910
935
  - `geoserver-wmts-sample` 和 `geoserver-wms-sample` 默认 `enabled: false`,只是配置格式示例;如果要作为默认底图,需要替换真实服务地址并改为 `enabled: true`。
911
936
  - 天地图 provider 内置资源还包括 `imageryLabel`;默认 `basemap.list` 没有单独注册影像注记 id,但 `resourceKey: 'imagery'` 会自动推断使用 `imageryLabel` 注记。
937
+ - 内置天地图会根据地图 `crs` 选择 `_c` 或 `_w` 瓦片矩阵;自定义 XYZ / WMTS / WMS 的 URL 和矩阵必须由业务保证与地图 `crs` 一致。地图已创建后不能通过普通底图切换改变 CRS,必须修改配置并重新 `init()`。
912
938
 
913
939
  ### 底图切换
914
940
 
@@ -2345,6 +2371,9 @@ const imageLayer = new ImageLayerController({
2345
2371
  // 选填:默认图片类型。color 表示图片已经填色;grayscale 表示灰度图需要运行时着色。
2346
2372
  imageSourceType: 'color',
2347
2373
 
2374
+ // 普通图片未单独配置时,继承 mapCore 的 sourceProjectionCrs。
2375
+ // 同一批数据不需要在每次 update 中重复声明。
2376
+
2348
2377
  // 选填:默认小数位,网格标注或探针显示数值时使用。
2349
2378
  decimalPlaces: 2,
2350
2379
  })
@@ -2377,6 +2406,9 @@ await imageLayer.update({
2377
2406
  endLat: 54,
2378
2407
  },
2379
2408
 
2409
+ // 选填:只有这张图与 BaseGIS 默认不同时才覆盖;area 仍是 WGS84。
2410
+ sourceProjectionCrs: 'EPSG:4326',
2411
+
2380
2412
  // 选填:color 表示图片本身已经填色,不需要再按色带处理。
2381
2413
  imageSourceType: 'color',
2382
2414
 
@@ -2636,10 +2668,8 @@ imageLayer.destroy({ layerId: 'radar-image' })
2636
2668
  | `name` | 选填 | 当前数据名称,便于页面展示。 |
2637
2669
  | `imageUrl` | 普通图片、灰度图、图片+TIF 必填 | 图片地址。仅 TIF 模式建议传空字符串清掉旧图片。 |
2638
2670
  | `tifUrl` | 仅 TIF、图片+TIF 必填 | GeoTIFF 数值地址,用于鼠标探针或网格注记,不会单独生成彩色图片底图。 |
2639
- | `area` | 传 `imageUrl` 时必填 | 图片范围:`startLon / startLat / endLon / endLat`。 |
2640
- | `sourceProjection` | 选填 | 源图投影;当前支持将 `EPSG:3857` 图片重采样为经纬度图片,不是任意投影转换器。 |
2641
- | `sourceArea` | 选填 | 源图片范围,默认使用 `area`;支持墨卡托米坐标范围或经纬度范围。 |
2642
- | `targetProjection` | 选填 | 默认从地图 CRS 推断;源投影与目标相同则不重采样。 |
2671
+ | `area` | 传 `imageUrl` 时必填 | WGS84 经纬度范围:`startLon / startLat / endLon / endLat`;不随图片或底图投影改变。 |
2672
+ | `sourceProjectionCrs` / `sourceProjection` | 选填 | 普通图片像素的排列投影,支持 `EPSG:4326`、`EPSG:3857`;不传时继承 BaseGIS `sourceProjectionCrs`。前者是推荐名称,后者保留兼容。 |
2643
2673
  | `imageSourceType` | 灰度图必填,其他选填 | `color` 表示已填色图片;`grayscale` 表示灰度图。 |
2644
2674
  | `colorize` | 灰度图必填 | 灰度图业务值和色带配置。 |
2645
2675
  | `colorize.minValue` | 灰度图必填 | 色带映射最小值。 |
@@ -2656,7 +2686,7 @@ imageLayer.destroy({ layerId: 'radar-image' })
2656
2686
  | `gridTotal` | 选填 | 切片网格数量。 |
2657
2687
  | `tileSize` | 选填 | 切片尺寸。 |
2658
2688
 
2659
- 图片重采样依赖 Canvas 读取像素,跨域图片需要服务端允许 CORS。
2689
+ 页面只声明源投影,不需要传目标投影。未传时使用 BaseGIS `sourceProjectionCrs`,单个图层的 `sourceProjectionCrs`(兼容 `sourceProjection`)优先。Cesium 和 Leaflet 都会以当前地图 `crs` 为目标:投影相同直接使用原图,投影不同时做一次纬度方向逆向重采样;相同 URL、范围和处理参数在当前页面生命周期内复用缓存。目标为 EPSG:4326 时 Cesium 使用 `SingleTileImageryProvider`,目标为 EPSG:3857 时使用单级 WebMercator Provider。图片重采样、灰度着色和左右换位依赖 Canvas 读取像素,跨域图片需要服务端允许 CORS。
2660
2690
 
2661
2691
  <a id="grid-layer-controller"></a>
2662
2692
 
@@ -2668,9 +2698,9 @@ imageLayer.destroy({ layerId: 'radar-image' })
2668
2698
 
2669
2699
  | 数据模式 | 核心字段 | 数据契约 |
2670
2700
  | --- | --- | --- |
2671
- | GeoTIFF | `tifUrl` | `.tif/.tiff` 地址;读取第一个栅格波段及文件地理范围。 |
2672
- | 灰度图 | `imageUrl/grayImageUrl + area` | 浏览器可解码的灰度图;通过 `grayMinValue/grayMaxValue/minValue/maxValue/noDataValue` 换算业务值。 |
2673
- | 直接数值网格 | `imageGridData` | `{ values, width, height, area }` 或 `{ values, width, height, bbox }`;`values` 必须是长度不小于 `width * height` 的一维数组或 TypedArray。 |
2701
+ | GeoTIFF | `tifUrl` | `.tif/.tiff` 地址;读取第一个栅格波段、文件范围和投影 GeoKey。 |
2702
+ | 灰度图 | `imageUrl/grayImageUrl + area` | 浏览器可解码的灰度图;`area` 是 WGS84 经纬度,像素行投影默认继承 BaseGIS `sourceProjectionCrs`。 |
2703
+ | 直接数值网格 | `imageGridData` | `{ values, width, height, area/bbox, projection?, bboxProjection? }`;`values` 必须是长度不小于 `width * height` 的一维数组或 TypedArray。 |
2674
2704
 
2675
2705
  ```js
2676
2706
  import { GridLayerController } from '@3clear/basegis/methods'
@@ -2685,6 +2715,8 @@ const gridLayer = new GridLayerController({
2685
2715
 
2686
2716
  await gridLayer.loadTif({
2687
2717
  tifUrl: '/data/grid/temp.tif',
2718
+ // 文件没有可靠 CRS GeoKey 时可显式声明;有 GeoKey 时通常无需传。
2719
+ sourceProjectionCrs: 'EPSG:3857',
2688
2720
  })
2689
2721
 
2690
2722
  await gridLayer.loadGrayImage({
@@ -2739,6 +2771,8 @@ gridLayer.destroy()
2739
2771
 
2740
2772
  灰度图要表达真实业务值时,应显式传入 `minValue / maxValue`。数值图层不使用色带绘制背景;如果需要同时显示彩色图片,请使用 `ImageLayerController`。
2741
2773
 
2774
+ 投影判定顺序是:单个数据源的 `sourceProjectionCrs`(兼容 `sourceProjection`)、GeoTIFF 文件的投影 / 经纬度 GeoKey、BaseGIS `sourceProjectionCrs`、内置 EPSG:4326。GeoTIFF 已声明但不支持的投影会返回友好错误,不会被全局值覆盖。采样时会把鼠标经纬度转换到栅格 bbox 的坐标系,不会为探针重复转换整份 TIF。直接数值网格中,`projection` 描述像元排列,未传时继承 BaseGIS 默认;`bboxProjection` 单独描述 bbox 坐标单位,使用 WGS84 `area` 时固定为 EPSG:4326。
2775
+
2742
2776
  ### 方法
2743
2777
 
2744
2778
  | 方法 | 说明 |
@@ -4408,14 +4442,16 @@ if (!result.success) {
4408
4442
  await rasterContour.update({ interval: 2 })
4409
4443
  ```
4410
4444
 
4411
- GeoTIFF 依赖宿主页面提供 `window.GeoTIFF`。控制器会读取波段、尺寸、坐标系和范围;当前原生支持 EPSG:4326、EPSG:3857。其他投影可先转换为 WGS84,或传入 WGS84 `area` 覆盖原始范围。
4445
+ GeoTIFF 依赖宿主页面提供 `window.GeoTIFF`。控制器会读取波段、尺寸、坐标系和范围;当前原生支持 EPSG:4326、EPSG:3857。文件 GeoKey 优先于 BaseGIS `sourceProjectionCrs` 回退值,只有缺少可用 CRS 元数据时才使用全局值;单份数据仍可显式覆盖。其他投影(如 UTM)需先在数据生产环节转换为这两种投影之一,只传 WGS84 `area` 不能代替真实的栅格重投影。
4412
4446
 
4413
4447
  ### 灰度图
4414
4448
 
4415
4449
  ```js
4416
4450
  await rasterContour.loadGrayImage({
4417
4451
  grayImageUrl: '/data/pressure-gray.png',
4418
- area: [-180, -90, 180, 90],
4452
+ area: [73, 4, 135, 54],
4453
+ // 只有这份数据与 BaseGIS 默认不同时才需要覆盖。
4454
+ sourceProjectionCrs: 'EPSG:3857',
4419
4455
  grayMinValue: 0,
4420
4456
  grayMaxValue: 255,
4421
4457
  minValue: 960,
@@ -4432,7 +4468,7 @@ await rasterContour.loadGrayImage({
4432
4468
  * (maxValue - minValue) + minValue
4433
4469
  ```
4434
4470
 
4435
- 灰度图片本身没有地理范围和业务值含义,因此 `area` 必填;要表达真实数据,还应传正确的灰度范围与业务值范围。已经着色的彩色 PNG 不能反推出原始业务值,应使用对应 TIF 或直接传数值网格。
4471
+ 灰度图片本身没有地理范围、CRS 和业务值含义,因此 `area` 必填,像素投影未传时继承 BaseGIS `sourceProjectionCrs`(其内置默认为 EPSG:4326);要表达真实数据,还应传正确的灰度范围与业务值范围。控制器只读取一次灰度值,生成线时按像素投影直接反算为 WGS84 坐标,不会为 Cesium / Leaflet 分别重采样整张图。已经着色的彩色 PNG 不能反推出原始业务值,应使用对应 TIF 或直接传数值网格。
4436
4472
 
4437
4473
  上例虽然使用了气压值域,但 `centerDetection` 默认关闭,因此只生成普通等压线和线值标签。需要 H/L 中心时,按下方“自动检测 H/L 中心”配置显式开启。
4438
4474
 
@@ -4475,7 +4511,9 @@ await rasterContour.loadGrid({
4475
4511
  | `values/data/grid` | `Array/TypedArray` | 数值网格必填 | - | 一维或二维数值。 |
4476
4512
  | `width/height` | `number` | 一维网格必填 | `0` | 一维数组的网格尺寸。 |
4477
4513
  | `area` | `object/number[]` | 图片和普通网格必填 | `null` | WGS84 范围;数组顺序为 `[west,south,east,north]`。 |
4478
- | `sourceProjection` | `string` | 否 | 自动读取 | 支持 `EPSG:4326`、`EPSG:3857`。 |
4514
+ | `sourceProjectionCrs/sourceProjection` | `string` | 否 | TIF GeoKey → BaseGIS `sourceProjectionCrs` | 灰度图/网格像元的排列投影,支持 `EPSG:4326`、`EPSG:3857`;前者是推荐名称,后者保留兼容。 |
4515
+ | `projection` | `string` | 否 | BaseGIS `sourceProjectionCrs` | 直接数值网格的像元排列投影别名。 |
4516
+ | `bboxProjection` | `string` | 否 | 使用 `area` 时为 `EPSG:4326`,否则跟随像元投影 | 使用 `bbox` 时声明 bbox 的坐标单位;使用 WGS84 `area` 时固定为 `EPSG:4326`。 |
4479
4517
  | `noDataValue` | `number` | 否 | TIF 自动读取 | 指定无效值;灰度图不传时仅透明像素无效。 |
4480
4518
  | `validMin/validMax` | `number` | 否 | - | 过滤值域外数据。 |
4481
4519
  | `scale/offset` | `number` | 否 | `1/0` | 数值换算为 `value * scale + offset`。 |
package/dist/assets.js CHANGED
@@ -1,8 +1,8 @@
1
- import { t as r } from "./typhoon-path-BAiUgsJf.js";
2
- const f = "data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='24'%20height='24'%20viewBox='0%200%2024%2024'%3e%3ccircle%20cx='12'%20cy='12'%20r='11'%20fill='%232f80ed'/%3e%3cpath%20fill='%23ffffff'%20d='M7%203h5l-.7%208.2%203.7-2V12l4-2.2V21H5v-8h1.2L7%203Zm1.9%202-.7%208H7v6h10v-5.8l-4%202.2v-2.8l-4%202.2L9.8%205h-.9Z'/%3e%3cpath%20fill='%23ffffff'%20d='M7%2017h2v2H7zm4%200h2v2h-2zm4%200h2v2h-2z'/%3e%3c/svg%3e", e = "data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='84'%20height='100'%20viewBox='0%200%2084%20100'%3e%3cdefs%3e%3clinearGradient%20id='pin-gradient'%20x1='0%25'%20y1='0%25'%20x2='100%25'%20y2='100%25'%3e%3cstop%20offset='0%25'%20stop-color='%234fd3ff'%20/%3e%3cstop%20offset='100%25'%20stop-color='%231d79ff'%20/%3e%3c/linearGradient%3e%3c/defs%3e%3cpath%20d='M42%204C22.12%204%206%2020.12%206%2040c0%2026%2030.5%2053.2%2034.02%2056.28a3%203%200%200%200%203.96%200C47.5%2093.2%2078%2066%2078%2040%2078%2020.12%2061.88%204%2042%204Z'%20fill='url(%23pin-gradient)'%20stroke='%23d8f0ff'%20stroke-width='3'/%3e%3ccircle%20cx='42'%20cy='39'%20r='15'%20fill='%23ffffff'%20fill-opacity='0.92'/%3e%3ccircle%20cx='42'%20cy='39'%20r='7'%20fill='%231d79ff'/%3e%3c/svg%3e", c = "data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='24'%20height='24'%20viewBox='0%200%2024%2024'%3e%3ccircle%20cx='12'%20cy='12'%20r='10'%20fill='%232f80ed'/%3e%3ccircle%20cx='12'%20cy='7.5'%20r='1.4'%20fill='%23ffffff'/%3e%3crect%20x='10.8'%20y='10'%20width='2.4'%20height='7'%20rx='1.2'%20fill='%23ffffff'/%3e%3c/svg%3e";
1
+ import { t } from "./typhoon-path-BAiUgsJf.js";
2
+ const e = "data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='24'%20height='24'%20viewBox='0%200%2024%2024'%3e%3cpath%20fill='%23ffffff'%20stroke='%231d4ed8'%20stroke-width='1.4'%20stroke-linejoin='round'%20d='M12%202.6a7.2%207.2%200%200%200-7.2%207.2c0%205.1%205.8%2010.8%206.5%2011.5a1%201%200%200%200%201.4%200c.7-.7%206.5-6.4%206.5-11.5A7.2%207.2%200%200%200%2012%202.6Z'%20/%3e%3ccircle%20cx='12'%20cy='9.8'%20r='3'%20fill='%233b82f6'/%3e%3ccircle%20cx='12'%20cy='9.8'%20r='1.15'%20fill='%23ffffff'/%3e%3c/svg%3e", f = "data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='84'%20height='100'%20viewBox='0%200%2084%20100'%3e%3cdefs%3e%3clinearGradient%20id='pin-gradient'%20x1='0%25'%20y1='0%25'%20x2='100%25'%20y2='100%25'%3e%3cstop%20offset='0%25'%20stop-color='%234fd3ff'%20/%3e%3cstop%20offset='100%25'%20stop-color='%231d79ff'%20/%3e%3c/linearGradient%3e%3c/defs%3e%3cpath%20d='M42%204C22.12%204%206%2020.12%206%2040c0%2026%2030.5%2053.2%2034.02%2056.28a3%203%200%200%200%203.96%200C47.5%2093.2%2078%2066%2078%2040%2078%2020.12%2061.88%204%2042%204Z'%20fill='url(%23pin-gradient)'%20stroke='%23d8f0ff'%20stroke-width='3'/%3e%3ccircle%20cx='42'%20cy='39'%20r='15'%20fill='%23ffffff'%20fill-opacity='0.92'/%3e%3ccircle%20cx='42'%20cy='39'%20r='7'%20fill='%231d79ff'/%3e%3c/svg%3e", c = "data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='24'%20height='24'%20viewBox='0%200%2024%2024'%3e%3ccircle%20cx='12'%20cy='12'%20r='10'%20fill='%232f80ed'/%3e%3ccircle%20cx='12'%20cy='7.5'%20r='1.4'%20fill='%23ffffff'/%3e%3crect%20x='10.8'%20y='10'%20width='2.4'%20height='7'%20rx='1.2'%20fill='%23ffffff'/%3e%3c/svg%3e";
3
3
  export {
4
- f as gisFactoryMarker,
4
+ e as gisFactoryMarker,
5
5
  c as gisInfoMarker,
6
- e as gisMarkerSample,
7
- r as typhoonPathIcon
6
+ f as gisMarkerSample,
7
+ t as typhoonPathIcon
8
8
  };