基于vue3封装的参数计算及坐标转换工具
npm install vue3-coordtransform-toolts
npm install @smart/vue3-coordtransform-tool --registry http://172.16.11.21:4873
`
$3
`ts
import { createApp } from 'vue'
import App from './App.vue'
import ElementPlus from 'element-plus';
import coordTool from '@smart/vue3-coordtransform-tool';
import 'element-plus/dist/index.css'
import '@smart/vue3-coordtransform-tool/style.css';
const app = createApp(App);
app
.use(ElementPlus)
.use(coordTool)
.mount('#app');
`
$3
`ts
`
使用方式二:工具类
方法
| 方法名 | 描述 | 参数 | 返回值 |
| ----------------| ------------------------ | ------------------- | ------------------- |
| coordTransform | 根据组件填写的参数进行转换
输入:源坐标系下的坐标数组, 转换参数, 回调方法
回调参数:Cartesian3[ ]\| Cartesian2[ ] | data: Cartesian3[ ] \| Cartesian2[ ], params: TransformOptions, callback: Function | - |
| paramsCalculate | 七参数/四参数计算
输入:同名点对(≥4对), 转换坐标系统参数, 转换模型类型, 回调方法
回调参数:SevenParam \| FourParam | data: Homonym[ ], params: CoordSysItem, type: modelType, callback: Function | - |
使用例子
$3
`ts
npm install @smart/vue3-coordtransform-tool --registry http://172.16.11.21:4873
`
$3
`ts
`
$3
| 类型名称 | 说明 | 取值 |
|---------|------------------------------------------|---------------------------|
|modelType|转换模型参数类型(属于七参数或四参数) |'sevenParam' \| 'fourParam'|
|paramType|转换方式类型(选用数学转换模型或选用proj4方式)|'math' \| 'proj4' |
$3
`ts
export interface Cartesian3 {
x: number;
y: number;
z: number;
}
`
$3
`ts
export interface Cartesian2 {
x: number;
y: number;
}
`
$3
`ts
export interface Homonym {
x1: number;
y1: number;
z1?: number;
x2: number;
y3: number;
z2?: number;
}
`
$3
`ts
export interface CoordSysItem {
sourceCoor: number; //源坐标系 取值详见下 [坐标系值]表格
sourceCoorFormat: number; //源坐标格式 取值详见下 [坐标格式值]表格
targetCoor: number; //目标坐标系 取值详见下 [坐标系值]表格
targetCoorFormat: number; //目标坐标格式 取值详见下 [坐标格式值]表格
};
`
坐标系值
| 坐标系 | 对应值 |
| ------------------- | ---------|
| 2000国家大地坐标系 | 0 |
| WGS84世界坐标系 | 1 |
| 1980国家大地坐标系 | 2 |
| 1954北京坐标系 | 3 |
| 地方坐标系 | 4 |
坐标格式值
| 坐标格式 | 对应值 |
| -------------------|----------|
| 大地坐标BLH | 0 |
| 平面直角坐标xyh | 1 |
| 空间直角坐标XYZ | 2 |
$3
`ts
export interface SevenParam {
dx?: number;
dy?: number;
dz?: number;
m?: number;
rx?: number;
ry?: number;
rz?: number;
};
`
$3
`ts
export interface FourParam {
dx?: number;
dy?: number;
k?: number;
r?: number;
};
`
$3
`ts
export interface SevenItem {
dx?: number;
dy?: number;
dz?: number;
m?: number;
rx?: number;
ry?: number;
rz?: number;
sourceCoor?: number;
sourceCoorFormat?: number;
targetCoor?: number;
targetCoorFormat?: number;
}
`
$3
`ts
export interface FourItem {
dx?: number;
dy?: number;
k?: number;
r?: number;
sourceCoor?: number;
sourceCoorFormat?: number;
targetCoor?: number;
targetCoorFormat?: number;
}
`
$3
`ts
export interface TransformOptions {
prjStr?: string;
sevenDTO?: SevenItem;
fourDTO?: FourItem;
modelType?: modelType;
paramType?: paramType;
}
``