Documentation
¶
Overview ¶
models/field.go
models/track.go
Index ¶
- Variables
- func GetDB() *gorm.DB
- func InitDB()
- func InitDatabase() error
- type AnalysisParagraphConfig
- type AreaType
- type Asset
- type AttColor
- type BoundingVolume
- type CalcType
- type CalculateExpression
- type ChineseProperty
- type Content
- type ContentItem
- type DirectoryNode
- type FieldCalculatorRequest
- type FieldCalculatorResponse
- type FieldInfo
- type FieldOperation
- type FieldRecord
- type GeoPic
- type GeoRecord
- type GeometryUpdateRequest
- type GeometryUpdateResponse
- type Heading1Config
- type Heading2Config
- type Heading3Config
- type ImageConfig
- type LayerHeader
- type LayerMXD
- type LoginUser
- type MySchema
- type NetMap
- type ParagraphConfig
- type ReplaceConfig
- type Report
- type Response
- type SnapPointRequest
- type SnapPointResponse
- type Symbol
- type TableConfig
- type TableStructure
- type TableStyle
- type TempGeo
- type TempLayHeader
- type TempLayer
- type TempLayerAttribute
- type TextStyle
- type Texture
- type Tile
- type Tile2
- type TileSetJson
- type TilesByte
- type TilesHeader
- type TilesJson
- type TilesSet
- type TrackData
- type TrackResponse
- type UpdateMessage
- type ZDTPic
Constants ¶
This section is empty.
Variables ¶
View Source
var DB *gorm.DB
View Source
var TextureDB *gorm.DB
Functions ¶
Types ¶
type AnalysisParagraphConfig ¶ added in v1.3.10
type AnalysisParagraphConfig struct {
SourceLayer string `json:"source_layer"`
Attributes string `json:"attributes"`
Alignment string `json:"alignment"` // 对齐方式
Style TextStyle `json:"style"` // 文本样式
Indent int `json:"indent"` // 缩进(单位:字符)
}
分析情况配置
type Asset ¶
type Asset struct {
Version string `json:"version"`
Generatetool string `json:"generatetool,omitempty"`
GltfUpAxis string `json:"gltfUpAxis,omitempty"`
}
Asset 资产信息
type BoundingVolume ¶
type BoundingVolume struct {
Sphere []float64 `json:"sphere,omitempty"`
Box []float64 `json:"box,omitempty"`
Region []float64 `json:"region,omitempty"`
}
BoundingVolume 包围体
type CalculateExpression ¶ added in v1.1.20
type CalculateExpression struct {
Type string `json:"type"` // 类型: value, field, expression
Value interface{} `json:"value,omitempty"` // 直接赋值的值
Field string `json:"field,omitempty"` // 字段名
Fields []string `json:"fields,omitempty"` // 多字段组合(concat)
Separator string `json:"separator,omitempty"` // 字段组合分隔符
Operator string `json:"operator,omitempty"` // 运算符: +, -, *, /
Left *CalculateExpression `json:"left,omitempty"` // 左操作数
Right *CalculateExpression `json:"right,omitempty"` // 右操作数
}
CalculateExpression 计算表达式
type ChineseProperty ¶
type ContentItem ¶ added in v1.3.10
type DirectoryNode ¶ added in v1.3.17
type DirectoryNode struct {
Value string `json:"value"`
Label string `json:"label"`
Children []*DirectoryNode `json:"children,omitempty"`
}
DirectoryNode 目录树节点
type FieldCalculatorRequest ¶ added in v1.1.20
type FieldCalculatorRequest struct {
TableName string `json:"table_name" binding:"required"` // 表名
TargetField string `json:"target_field" binding:"required"` // 目标字段
OperationType string `json:"operation_type" binding:"required"` // 操作类型: assign, copy, concat, calculate, round
Expression *CalculateExpression `json:"expression,omitempty"` // 计算表达式
Condition string `json:"condition,omitempty"` // 过滤条件 (WHERE子句)
DecimalPlaces *int `json:"decimal_places,omitempty"` // 小数位数 (用于round操作)
ReplaceConfig *ReplaceConfig `json:"replace_config,omitempty"` // 替换配置 (用于replace操作)
}
FieldCalculatorRequest 字段计算器请求结构
type FieldCalculatorResponse ¶ added in v1.1.20
type FieldCalculatorResponse struct {
TableName string `json:"table_name"`
TargetField string `json:"target_field"`
OperationType string `json:"operation_type"`
AffectedRows int64 `json:"affected_rows"`
SQLStatement string `json:"sql_statement"`
}
FieldCalculatorResponse 字段计算器响应
type FieldInfo ¶
type FieldInfo struct {
FieldName string `json:"field_name"` // 字段名
FieldType string `json:"field_type"` // 简化的数据类型:int, float, varchar, bytes
Length int `json:"length"` // varchar类型的长度
IsNullable string `json:"is_nullable"` // 是否可为空 YES/NO
DefaultValue *string `json:"default_value"` // 默认值
Comment string `json:"comment"` // 注释
Position int `json:"position"` // 字段位置
}
FieldInfo 字段信息结构
type FieldOperation ¶
type FieldOperation struct {
TableName string `json:"table_name" binding:"required"`
FieldName string `json:"field_name" binding:"required"`
FieldType string `json:"field_type,omitempty"` // int, float, varchar, bytes
Length int `json:"length,omitempty"` // varchar类型的长度参数
NewFieldName string `json:"new_field_name,omitempty"`
DefaultValue string `json:"default_value,omitempty"`
IsNullable bool `json:"is_nullable,omitempty"`
Comment string `json:"comment,omitempty"`
}
FieldOperation 字段操作的请求结构
type FieldRecord ¶ added in v1.3.9
type FieldRecord struct {
TableName string `gorm:"type:varchar(255)"`
Type string `gorm:"type:varchar(255)"`
BZ string `gorm:"type:varchar(255)"`
ID int64 `gorm:"primary_key;autoIncrement"`
OldFieldName string `gorm:"type:varchar(255)"`
OldFieldType string `gorm:"type:varchar(255)"`
NewFieldName string `gorm:"type:varchar(255)"`
NewFieldType string `gorm:"type:varchar(255)"`
}
type GeoPic ¶
type GeoPic struct {
Pic_bsm string `gorm:"primary_key;type:varchar(255)"`
Url string `gorm:"type:varchar(255)" json:"url"`
BSM string `gorm:"type:varchar(255)"`
X string `gorm:"type:varchar(255)"`
Y string `gorm:"type:varchar(255)"`
Angel string `gorm:"type:varchar(255)"`
TBID string `gorm:"type:varchar(255)"`
Date string `gorm:"type:varchar(255)"`
}
type GeoRecord ¶
type GeoRecord struct {
TableName string `gorm:"type:varchar(255)"`
Username string `gorm:"type:varchar(255)"`
Type string `gorm:"type:varchar(255)"`
Date string `gorm:"type:varchar(255)"`
BZ string `gorm:"type:varchar(255)"`
ID int64 `gorm:"primary_key;autoIncrement"`
GeoID int32
OldGeojson datatypes.JSON `gorm:"type:jsonb"`
NewGeojson datatypes.JSON `gorm:"type:jsonb"`
DelObjectIDs datatypes.JSON `gorm:"type:jsonb"`
}
type GeometryUpdateRequest ¶ added in v1.1.21
type GeometryUpdateRequest struct {
TableName string `json:"table_name" binding:"required"` // 表名
TargetField string `json:"target_field" binding:"required"` // 目标字段名
GeomField string `json:"geom_field"` // 几何字段名(默认geom)
CalcType CalcType `json:"calc_type" binding:"required"` // 计算类型
AreaType AreaType `json:"area_type,omitempty"` // 面积类型(仅area时需要)
WhereClause string `json:"where_clause,omitempty"` // 可选的WHERE条件
}
GeometryUpdateRequest 几何字段更新请求
type GeometryUpdateResponse ¶ added in v1.1.21
type GeometryUpdateResponse struct {
TableName string `json:"table_name"`
TargetField string `json:"target_field"`
CalcType string `json:"calc_type"`
RowsAffected int64 `json:"rows_affected"` // 影响的行数
Success bool `json:"success"`
Message string `json:"message"`
}
GeometryUpdateResponse 几何字段更新响应
type Heading1Config ¶ added in v1.3.10
type Heading1Config struct {
Text string `json:"text"` // 标题文本
Alignment string `json:"alignment"` // 对齐方式:left, center, right
Style TextStyle `json:"style"` // 文本样式
}
Heading1Config 一级标题配置
type Heading2Config ¶ added in v1.3.10
type Heading2Config struct {
Text string `json:"text"`
Alignment string `json:"alignment"`
Style TextStyle `json:"style"`
}
Heading2Config 二级标题配置
type Heading3Config ¶ added in v1.3.10
type Heading3Config struct {
Text string `json:"text"`
Alignment string `json:"alignment"`
Style TextStyle `json:"style"`
}
Heading3Config 三级标题配置
type ImageConfig ¶ added in v1.3.10
type ImageConfig struct {
SourceLayer string `json:"source_layer"` // 图片使用图层
Width float64 `json:"width"` // 宽度
Alignment string `json:"alignment"` // 对齐方式
LegendType string `json:"legend_type"` //图例样式,单图层使用(线、面、点、阴影线、双阴影线)
Caption string `json:"caption"` // 图片标题
}
ImageConfig 图片配置
type LayerHeader ¶ added in v1.2.11
type LayerMXD ¶ added in v1.2.11
type LayerMXD struct {
ID int64 `gorm:"primary_key;autoIncrement"`
EN string `gorm:"type:varchar(255)"`
Main string `gorm:"type:varchar(255)"`
CN string `gorm:"type:varchar(255)"`
MXDName string `gorm:"type:varchar(255)"`
MXDUid string `gorm:"type:varchar(255)"`
LayerSortID int64
Style datatypes.JSON `gorm:"type:jsonb"`
}
配置表
type LoginUser ¶
type LoginUser struct {
ID int64 `gorm:"primary_key;autoIncrement"`
Username string `gorm:"type:varchar(255)"`
Password string `gorm:"type:varchar(255)"`
Name string `gorm:"type:varchar(255)"`
Phone string `gorm:"type:varchar(255)"`
Userunits string `gorm:"type:varchar(255)"`
Location string `gorm:"type:varchar(255)"`
Post string `gorm:"type:varchar(255)"`
Token string `gorm:"type:varchar(255)"`
Grade string `gorm:"type:varchar(255)"`
Mac string
Date string `gorm:"type:varchar(255)"`
CentX float64
CentY float64
CentZ float64
InitX float64
InitY float64
InitZ float64
}
type MySchema ¶
type MySchema struct {
ID int64 `gorm:"primary_key;autoIncrement"`
Main string `gorm:"type:varchar(255)"`
CN string `gorm:"type:varchar(255)"`
EN string `gorm:"type:varchar(255)"`
Type string `gorm:"type:varchar(255)"`
Opacity string `gorm:"type:varchar(254);default:1"`
Color string `gorm:"type:varchar(255)"`
LineWidth string `gorm:"type:varchar(55)"`
FillType string `gorm:"type:varchar(255)"`
LineColor string `gorm:"type:varchar(255)"`
UpdatedDate string `gorm:"type:varchar(255)"`
TileSize int64 `gorm:"default:256"`
TextureSet datatypes.JSON `gorm:"type:jsonb"`
SymbolSet datatypes.JSON `gorm:"type:jsonb"`
Source datatypes.JSON `gorm:"type:jsonb"`
Userunits string `gorm:"type:varchar(255)"`
}
type NetMap ¶ added in v1.6.4
type NetMap struct {
ID uint `gorm:"primaryKey" json:"id"`
MapName string `gorm:"column:map_name;index" json:"mapName"` // 地图名称
GroupName string `gorm:"column:group_name;index" json:"groupName"` // 分组名称
MapType string `gorm:"column:map_type" json:"mapType"` // 地图类型
Protocol string `gorm:"column:protocol" json:"protocol"` // 协议 (http/https)
Hostname string `gorm:"column:hostname" json:"hostname"` // 主机名
Port int `gorm:"column:port" json:"port"` // 端口号
Projection string `gorm:"column:projection" json:"projection"` // 投影方式
ImageFormat string `gorm:"column:image_format" json:"imageFormat"` // 图片格式
MinLevel int `gorm:"column:min_level" json:"minLevel"` // 最小缩放级别
MaxLevel int `gorm:"column:max_level" json:"maxLevel"` // 最大缩放级别
TileSize int `gorm:"column:tile_size" json:"tileSize"` // 最大缩放级别
UrlPath string `gorm:"column:url_path" json:"urlPath"` // URL路径
TileUrlTemplate string `gorm:"column:tile_url_template;type:text" json:"tileUrlTemplate"` // 完整URL模板
Status int `gorm:"column:status;default:1" json:"status"` // 状态:0禁用,1启用
CreatedAt time.Time `gorm:"autoCreateTime" json:"createdAt"`
UpdatedAt time.Time `gorm:"autoUpdateTime" json:"updatedAt"`
DeletedAt *time.Time `gorm:"index" json:"deletedAt"`
}
type ParagraphConfig ¶ added in v1.3.10
type ParagraphConfig struct {
Text string `json:"text"` // 正文内容
Alignment string `json:"alignment"` // 对齐方式
Style TextStyle `json:"style"` // 文本样式
Indent int `json:"indent"` // 缩进(单位:字符)
}
ParagraphConfig 正文配置
type ReplaceConfig ¶ added in v1.5.2
type ReplaceConfig struct {
Mode string `json:"mode" binding:"required"` // 替换模式: "normal" 普通替换, "regex" 正则替换
SearchValue string `json:"search_value"` // 要查找的值(普通模式)或正则表达式(正则模式)
ReplaceWith string `json:"replace_with"` // 替换后的值
GlobalFlag bool `json:"global_flag"` // 是否全局替换(替换所有匹配项),默认true
CaseIgnore bool `json:"case_ignore"` // 是否忽略大小写,默认false
}
ReplaceConfig 字符串替换配置
type Response ¶
type Response struct {
Code int `json:"code"`
Message string `json:"message"`
Data interface{} `json:"data,omitempty"`
}
Response 通用响应结构
type SnapPointRequest ¶ added in v1.3.2
type SnapPointRequest struct {
Point []float64 `json:"point"` // 要捕捉的点 [x, y]
MaxDistance float64 `json:"max_distance,omitempty"` // 最大捕捉距离(米),超过则返回原点
}
在 TrackResponse 后添加
type SnapPointResponse ¶ added in v1.3.2
type SnapPointResponse struct {
Type string `json:"type"` // "snap_point"
SnappedPoint []float64 `json:"snapped_point,omitempty"` // 捕捉到的最近点 [x, y]
Distance float64 `json:"distance,omitempty"` // 距离(米)
LineID int `json:"line_id,omitempty"` // 所在线段ID
Message string `json:"message,omitempty"` // 错误信息
}
type Symbol ¶ added in v1.5.3
type Symbol struct {
ID uint `gorm:"primaryKey" json:"id"`
Name string `gorm:"index;not null" json:"name"`
MimeType string `gorm:"not null" json:"mime_type"`
Width int `gorm:"not null" json:"width"`
Height int `gorm:"not null" json:"height"`
ImageData []byte `gorm:"type:BLOB" json:"image_data"`
Description string `json:"description"`
Category string `gorm:"index" json:"category"` // 图标分类,如:poi、marker、arrow等
CreatedAt int64 `gorm:"autoCreateTime" json:"created_at"`
UpdatedAt int64 `gorm:"autoUpdateTime" json:"updated_at"`
}
type TableConfig ¶ added in v1.3.10
type TableConfig struct {
SourceLayer string `json:"source_layer"`
Attributes string `json:"attributes"`
Style TableStyle `json:"style"` // 表格样式
Caption string `json:"caption"` // 表格标题
}
TableConfig 表格配置
type TableStructure ¶
type TableStructure struct {
TableName string `json:"table_name"`
TableComment string `json:"table_comment"`
Fields []FieldInfo `json:"fields"`
FieldCount int `json:"field_count"`
}
TableStructure 表结构信息
type TableStyle ¶ added in v1.3.10
type TableStyle struct {
BorderColor string `json:"border_color"` // 边框颜色
BorderWidth int `json:"border_width"` // 边框宽度
HeaderBg string `json:"header_bg"` // 表头背景色
HeaderStyle TextStyle `json:"header_style"` // 表头文本样式
CellStyle TextStyle `json:"cell_style"` // 单元格文本样式
Alignment string `json:"alignment"` // 表格对齐方式
}
TableStyle 表格样式
type TempGeo ¶
type TempGeo struct {
BSM string `gorm:"type:varchar(255);primary_key"`
TBMJ float64
TBID string `gorm:"type:varchar(255)"`
MAC string `gorm:"type:varchar(255)"`
ZT string `gorm:"type:varchar(255)"`
Name string `gorm:"type:varchar(255)"`
Date string `gorm:"type:varchar(255)"`
Geojson []byte `gorm:"type:bytea"`
}
type TempLayHeader ¶
type TempLayer ¶
type TempLayer struct {
ID int64 `gorm:"primary_key;autoIncrement"`
TBID string `gorm:"type:varchar(255)"`
Layername string `gorm:"type:varchar(255)"`
BSM string `gorm:"type:varchar(255)"`
Name string `gorm:"type:varchar(255)"`
ZT string `gorm:"type:varchar(255)"`
MAC string `gorm:"type:varchar(255)"`
Geojson []byte `gorm:"type:bytea"`
}
type TempLayerAttribute ¶
type TempLayerAttribute struct {
ID int64 `gorm:"primary_key"`
TBID string `gorm:"type:varchar(255)"`
QKSM string `gorm:"type:varchar(255)"`
Layername string `gorm:"type:varchar(255)"`
B string `gorm:"type:varchar(255)"`
D string `gorm:"type:varchar(255)"`
N string `gorm:"type:varchar(255)"`
X string `gorm:"type:varchar(255)"`
BZ string `gorm:"type:varchar(255)"`
ZJR []byte
DCR []byte
}
type TextStyle ¶ added in v1.3.10
type TextStyle struct {
FontFamily string `json:"font_family"` // 字体
FontSize int `json:"font_size"` // 字号
Bold bool `json:"bold"` // 加粗
Italic bool `json:"italic"` // 斜体
Underline bool `json:"underline"` // 下划线
Color string `json:"color"` // 颜色(十六进制)
}
TextStyle 文本样式
type Texture ¶ added in v1.4.11
type Texture struct {
ID uint `gorm:"primaryKey" json:"id"`
Name string `gorm:"index;not null" json:"name"`
MimeType string `gorm:"not null" json:"mime_type"`
Width int `gorm:"not null" json:"width"`
Height int `gorm:"not null" json:"height"`
ImageData []byte `gorm:"type:BLOB" json:"image_data"`
Description string `json:"description"`
CreatedAt int64 `gorm:"autoCreateTime" json:"created_at"`
UpdatedAt int64 `gorm:"autoUpdateTime" json:"updated_at"`
}
type Tile2 ¶
type Tile2 struct {
BoundingVolume BoundingVolume `json:"boundingVolume"`
Refine string `json:"refine,omitempty"`
GeometricError interface{} `json:"geometricError"` // 使用interface{}因为可能是int或float64
Content Content `json:"content,omitempty"`
Children []Tile2 `json:"children,omitempty"` // 递归引用自身
}
Tile 瓦片节点 - 递归结构
type TileSetJson ¶
type TileSetJson struct {
Asset struct {
Version string `json:"version"`
Generatetool string `json:"generatetool"`
GltfUpAxis string `json:"gltfUpAxis"`
} `json:"asset"`
ExtensionsUsed []string `json:"extensionsUsed"`
GeometricError float64 `json:"geometricError"`
Refine string `json:"refine"`
Root struct {
BoundingVolume struct {
Sphere []float64 `json:"sphere"`
} `json:"boundingVolume"`
GeometricError float64 `json:"geometricError"`
Children []struct {
BoundingVolume struct {
Sphere []float64 `json:"sphere"`
} `json:"boundingVolume"`
GeometricError float64 `json:"geometricError"`
Children []struct {
BoundingVolume struct {
Sphere []float64 `json:"sphere"`
} `json:"boundingVolume"`
GeometricError int `json:"geometricError"`
Content struct {
Uri string `json:"uri"`
} `json:"content"`
} `json:"children"`
} `json:"children"`
} `json:"root"`
}
type TilesHeader ¶
type TilesJson ¶
type TilesJson struct {
Asset Asset `json:"asset"`
GeometricError float64 `json:"geometricError"`
Root Tile2 `json:"root"`
}
TilesJson 3D Tiles 主结构
type TrackData ¶ added in v1.3.0
type TrackData struct {
LayerNames []string `json:"layer_names"` // 需要追踪的图层
Box geojson.FeatureCollection `json:"box"` // 当前视角范围
StartPoint []float64 `json:"start_point"` // 起始点 [x, y]
}
type TrackResponse ¶ added in v1.3.0
type TrackResponse struct {
Type string `json:"type"` // "init", "path" 或 "complete"
Lines *geojson.FeatureCollection `json:"lines,omitempty"` // 打断后的线段(init时返回)
Path *geojson.FeatureCollection `json:"path,omitempty"` // 追踪路径
Message string `json:"message,omitempty"` // 消息
}
type UpdateMessage ¶
Click to show internal directories.
Click to hide internal directories.