Documentation
¶
Index ¶
- Variables
- func APICheck(ip string) bool
- func CalculateArea(jsonData *geojson.Feature) float64
- func CalculateAreaByStr(jsonDataStr string) float64
- func CalculateGeodesicArea(jsonData *geojson.Feature) float64
- func CamelCaseToUnderscore(str string) string
- func CamelCaseToUnderscore2(str string) string
- func CloseRing(ring orb.Ring) orb.Ring
- func ConvertFromUTF8(src string, destEncoding string) (string, error)
- func ConvertGeoJSONToDXF(featureCollection geojson.FeatureCollection, outputFilename string)
- func ConvertToInitials(hanzi string) string
- func ConvertToUTF8(src string, srcEncoding string) (string, error)
- func DLMCReplace(tablename string) string
- func DataSearch(query *gorm.DB, jsonData map[string]interface{}) []models.TempLayHeader
- func DecryptStr(encryptedB64Str string, key string) (string, error)
- func DeleteFiles(dirPath string)
- func DirectoryExists(dirPath string, folderName string) bool
- func EncryptStr(text string, key string) (string, error)
- func FindShpFile(dir string, ex string) *string
- func FixFeature(f *geojson.Feature) *geojson.Feature
- func FixGeometry(geom orb.Geometry) orb.Geometry
- func FixMultiPolygon(mp orb.MultiPolygon) orb.MultiPolygon
- func FixPolygon(polygon orb.Polygon) orb.Polygon
- func GeoIntersectLine(jsonData geojson.FeatureCollection, tablename string, attributes []string, ...) []map[string]interface{}
- func GeoJsonToWKB(geo geojson.Feature) string
- func GetAllFiles(path string) ([]string, error)
- func GetFieldName(i interface{}) []string
- func GetIP(net string) []string
- func GetIntersectGeo(jsonData geojson.FeatureCollection, tablename string, atts string) geojson.FeatureCollection
- func GetMaxItem(text []Result) string
- func GetVolume(data []map[string]interface{}) []map[string]interface{}
- func IsStringInSlice(s string, slice []string) bool
- func LowerJSONTransform(xmList interface{}) interface{}
- func MakeGeoJSON2(items []map[string]interface{}) interface{}
- func MakeTileIndex(DB *gorm.DB)
- func Md5Str(data string) string
- func MergeMaps(map1, map2 map[string]interface{}) map[string]interface{}
- func OpenURL(url string) error
- func RemoveKeyFromMapArray(input []map[string]interface{}, key string) []map[string]interface{}
- func ReplaceInJSFiles(dir string, oldValue string, newValue string) error
- func RestoreData(backupPath string)
- func SavaGeojsonToDb(db *gorm.DB, jsonData geojson.FeatureCollection, table interface{})
- func SavaGeojsonToTable(db *gorm.DB, jsonData geojson.FeatureCollection, tablename string)
- func SortSchema(TableSchema []models.MySchema) []models.MySchema
- func TempDataSearch(query *gorm.DB, jsonData map[string]interface{}) []models.TempGeo
- func ToStringSlice(args []interface{}) []string
- func Unzip(src string) error
- func UnzipRar(src string) error
- func UnzipToDir(src string, destDir string) error
- func UnzipWithEncoding(src string, destDir string, encoding string) error
- func UnzipZip(src string) error
- func UpdateGeojsonToTable(db *gorm.DB, jsonData geojson.FeatureCollection, tablename string, id int32)
- func ZipFileOut(folderPath string) ([]byte, error)
- func ZipFolder(folderPath string, name string) error
- func ZipFolderTo(folderPath string, outpath string) error
- type Att
- type BackupConfig
- type BackupInfo
- type BackupStatistics
- type ColumnInfo
- type FieldCalculatorService
- type FieldService
- func (fs *FieldService) AddField(tableName, fieldName, fieldType string, length, precision, scale int, ...) error
- func (fs *FieldService) BuildFieldTypeString(fieldType string, length, precision, scale int) string
- func (fs *FieldService) CheckFieldExists(tableName, fieldName string) bool
- func (fs *FieldService) CheckTableExists(tableName string) bool
- func (fs *FieldService) DeleteField(tableName, fieldName string) error
- func (fs *FieldService) GetFieldTypeCategory(fieldType string) string
- func (fs *FieldService) GetSingleFieldInfo(tableName, fieldName string) (*models.FieldInfo, error)
- func (fs *FieldService) GetSupportedFieldTypes() map[string]models.FieldTypeInfo
- func (fs *FieldService) GetTableList() ([]string, error)
- func (fs *FieldService) GetTableStructure(tableName string) (*models.TableStructure, error)
- func (fs *FieldService) SaveFieldRecord(record *models.FieldRecord) error
- type FieldTypeMapping
- type GeometryService
- func (s *GeometryService) GetUpdateStatistics(DB *gorm.DB, ctx context.Context, req *models.GeometryUpdateRequest) (*UpdateStatistics, error)
- func (s *GeometryService) PreviewUpdateSQL(req *models.GeometryUpdateRequest) (string, error)
- func (s *GeometryService) UpdateGeometryField(DB *gorm.DB, ctx context.Context, req *models.GeometryUpdateRequest) (*models.GeometryUpdateResponse, error)
- type Res
- type RestoreConfig
- type RestoreResult
- type Result
- type SQLBackupManager
- type SQLRestoreManager
- type TableInfo
- type UpdateStatistics
Constants ¶
This section is empty.
Variables ¶
var PostgreSQLToGDALTypeMap = map[string]FieldTypeMapping{
"smallint": {PostgreSQLType: "SMALLINT", GDALType: "OFTInteger", Category: "integer", DefaultWidth: 0, DefaultPrec: 0},
"int2": {PostgreSQLType: "SMALLINT", GDALType: "OFTInteger", Category: "integer", DefaultWidth: 0, DefaultPrec: 0},
"integer": {PostgreSQLType: "INTEGER", GDALType: "OFTInteger", Category: "integer", DefaultWidth: 0, DefaultPrec: 0},
"int": {PostgreSQLType: "INTEGER", GDALType: "OFTInteger", Category: "integer", DefaultWidth: 0, DefaultPrec: 0},
"int4": {PostgreSQLType: "INTEGER", GDALType: "OFTInteger", Category: "integer", DefaultWidth: 0, DefaultPrec: 0},
"bigint": {PostgreSQLType: "BIGINT", GDALType: "OFTInteger64", Category: "integer", DefaultWidth: 0, DefaultPrec: 0},
"int8": {PostgreSQLType: "BIGINT", GDALType: "OFTInteger64", Category: "integer", DefaultWidth: 0, DefaultPrec: 0},
"serial": {PostgreSQLType: "SERIAL", GDALType: "OFTInteger", Category: "integer", DefaultWidth: 0, DefaultPrec: 0},
"bigserial": {PostgreSQLType: "BIGSERIAL", GDALType: "OFTInteger64", Category: "integer", DefaultWidth: 0, DefaultPrec: 0},
"real": {PostgreSQLType: "REAL", GDALType: "OFTReal", Category: "float", DefaultWidth: 0, DefaultPrec: 0},
"float4": {PostgreSQLType: "REAL", GDALType: "OFTReal", Category: "float", DefaultWidth: 0, DefaultPrec: 0},
"double precision": {PostgreSQLType: "DOUBLE PRECISION", GDALType: "OFTReal", Category: "float", DefaultWidth: 0, DefaultPrec: 0},
"double": {PostgreSQLType: "DOUBLE PRECISION", GDALType: "OFTReal", Category: "float", DefaultWidth: 0, DefaultPrec: 0},
"float8": {PostgreSQLType: "DOUBLE PRECISION", GDALType: "OFTReal", Category: "float", DefaultWidth: 0, DefaultPrec: 0},
"float": {PostgreSQLType: "DOUBLE PRECISION", GDALType: "OFTReal", Category: "float", DefaultWidth: 0, DefaultPrec: 0},
"numeric": {PostgreSQLType: "NUMERIC", GDALType: "OFTReal", Category: "float", DefaultWidth: 18, DefaultPrec: 6},
"decimal": {PostgreSQLType: "NUMERIC", GDALType: "OFTReal", Category: "float", DefaultWidth: 18, DefaultPrec: 6},
"character varying": {PostgreSQLType: "VARCHAR", GDALType: "OFTString", Category: "string", DefaultWidth: 255, DefaultPrec: 0},
"varchar": {PostgreSQLType: "VARCHAR", GDALType: "OFTString", Category: "string", DefaultWidth: 255, DefaultPrec: 0},
"character": {PostgreSQLType: "CHAR", GDALType: "OFTString", Category: "string", DefaultWidth: 1, DefaultPrec: 0},
"char": {PostgreSQLType: "CHAR", GDALType: "OFTString", Category: "string", DefaultWidth: 1, DefaultPrec: 0},
"text": {PostgreSQLType: "TEXT", GDALType: "OFTString", Category: "string", DefaultWidth: 0, DefaultPrec: 0},
"date": {PostgreSQLType: "DATE", GDALType: "OFTDate", Category: "datetime", DefaultWidth: 0, DefaultPrec: 0},
"time": {PostgreSQLType: "TIME", GDALType: "OFTTime", Category: "datetime", DefaultWidth: 0, DefaultPrec: 0},
"time without time zone": {PostgreSQLType: "TIME", GDALType: "OFTTime", Category: "datetime", DefaultWidth: 0, DefaultPrec: 0},
"time with time zone": {PostgreSQLType: "TIMETZ", GDALType: "OFTTime", Category: "datetime", DefaultWidth: 0, DefaultPrec: 0},
"timetz": {PostgreSQLType: "TIMETZ", GDALType: "OFTTime", Category: "datetime", DefaultWidth: 0, DefaultPrec: 0},
"timestamp": {PostgreSQLType: "TIMESTAMP", GDALType: "OFTDateTime", Category: "datetime", DefaultWidth: 0, DefaultPrec: 0},
"timestamp without time zone": {PostgreSQLType: "TIMESTAMP", GDALType: "OFTDateTime", Category: "datetime", DefaultWidth: 0, DefaultPrec: 0},
"timestamp with time zone": {PostgreSQLType: "TIMESTAMPTZ", GDALType: "OFTDateTime", Category: "datetime", DefaultWidth: 0, DefaultPrec: 0},
"timestamptz": {PostgreSQLType: "TIMESTAMPTZ", GDALType: "OFTDateTime", Category: "datetime", DefaultWidth: 0, DefaultPrec: 0},
"bytea": {PostgreSQLType: "BYTEA", GDALType: "OFTBinary", Category: "binary", DefaultWidth: 0, DefaultPrec: 0},
"bytes": {PostgreSQLType: "BYTEA", GDALType: "OFTBinary", Category: "binary", DefaultWidth: 0, DefaultPrec: 0},
"boolean": {PostgreSQLType: "BOOLEAN", GDALType: "OFTInteger", Category: "boolean", DefaultWidth: 0, DefaultPrec: 0},
"bool": {PostgreSQLType: "BOOLEAN", GDALType: "OFTInteger", Category: "boolean", DefaultWidth: 0, DefaultPrec: 0},
"uuid": {PostgreSQLType: "UUID", GDALType: "OFTString", Category: "string", DefaultWidth: 36, DefaultPrec: 0},
}
Functions ¶
func CalculateArea ¶
func CalculateAreaByStr ¶
func CalculateGeodesicArea ¶
func CamelCaseToUnderscore ¶
func CamelCaseToUnderscore2 ¶
func ConvertFromUTF8 ¶ added in v1.7.3
ConvertFromUTF8 从 UTF-8 转换到指定编码
func ConvertGeoJSONToDXF ¶
func ConvertGeoJSONToDXF(featureCollection geojson.FeatureCollection, outputFilename string)
func ConvertToInitials ¶
ConvertToInitials 将中文字符串转换为拼音首字母拼接字符串
func ConvertToUTF8 ¶ added in v1.7.3
ConvertToUTF8 通用编码转换函数
func DLMCReplace ¶
func DataSearch ¶
func DataSearch(query *gorm.DB, jsonData map[string]interface{}) []models.TempLayHeader
func DirectoryExists ¶
func FindShpFile ¶
func FixFeature ¶ added in v1.3.18
FixFeature 修复Feature中的几何图形
func FixGeometry ¶ added in v1.3.18
FixGeometry 修复几何图形,确保多边形环是闭合的
func FixMultiPolygon ¶ added in v1.3.18
func FixMultiPolygon(mp orb.MultiPolygon) orb.MultiPolygon
FixMultiPolygon 修复多多边形
func FixPolygon ¶ added in v1.3.18
FixPolygon 修复多边形,确保所有环都是闭合的
func GeoIntersectLine ¶
func GeoJsonToWKB ¶
func GetAllFiles ¶
func GetFieldName ¶
func GetFieldName(i interface{}) []string
func GetIntersectGeo ¶
func GetIntersectGeo(jsonData geojson.FeatureCollection, tablename string, atts string) geojson.FeatureCollection
func GetMaxItem ¶
func IsStringInSlice ¶
func LowerJSONTransform ¶
func LowerJSONTransform(xmList interface{}) interface{}
func MakeGeoJSON2 ¶
func MakeGeoJSON2(items []map[string]interface{}) interface{}
func RemoveKeyFromMapArray ¶
func RestoreData ¶
func RestoreData(backupPath string)
func SavaGeojsonToDb ¶
func SavaGeojsonToDb(db *gorm.DB, jsonData geojson.FeatureCollection, table interface{})
func SavaGeojsonToTable ¶
func SavaGeojsonToTable(db *gorm.DB, jsonData geojson.FeatureCollection, tablename string)
func TempDataSearch ¶
func ToStringSlice ¶
func ToStringSlice(args []interface{}) []string
func UnzipToDir ¶ added in v1.2.9
func UnzipWithEncoding ¶ added in v1.7.3
UnzipWithEncoding 指定编码解压
func UpdateGeojsonToTable ¶
func ZipFileOut ¶
func ZipFolderTo ¶
Types ¶
type BackupConfig ¶
type BackupConfig struct {
Host string
Port string
User string
Password string
Database string
BackupDir string
RetentionDays int
Compress bool
}
BackupConfig 备份配置结构
type BackupInfo ¶
BackupInfo 备份信息结构
type BackupStatistics ¶
type BackupStatistics struct {
TotalBackups int `json:"total_backups"`
ValidBackups int `json:"valid_backups"`
ExpiredBackups int `json:"expired_backups"`
TotalSize int64 `json:"total_size"`
ValidSize int64 `json:"valid_size"`
ExpiredSize int64 `json:"expired_size"`
RetentionDays int `json:"retention_days"`
OldestBackup time.Time `json:"oldest_backup"`
NewestBackup time.Time `json:"newest_backup"`
}
BackupStatistics 备份统计信息
type ColumnInfo ¶
type ColumnInfo struct {
ColumnName string `gorm:"column:column_name"`
DataType string `gorm:"column:data_type"`
IsNullable string `gorm:"column:is_nullable"`
ColumnDefault string `gorm:"column:column_default"`
CharMaxLength int `gorm:"column:character_maximum_length"`
}
ColumnInfo 列信息结构
type FieldCalculatorService ¶ added in v1.1.20
type FieldCalculatorService struct{}
func NewFieldCalculatorService ¶ added in v1.1.20
func NewFieldCalculatorService() *FieldCalculatorService
func (*FieldCalculatorService) CalculateField ¶ added in v1.1.20
func (s *FieldCalculatorService) CalculateField(req models.FieldCalculatorRequest) (*models.FieldCalculatorResponse, error)
CalculateField 执行字段计算
type FieldService ¶
type FieldService struct{}
func NewFieldService ¶
func NewFieldService() *FieldService
func (*FieldService) BuildFieldTypeString ¶ added in v1.7.3
func (fs *FieldService) BuildFieldTypeString(fieldType string, length, precision, scale int) string
BuildFieldTypeString 构建完整的字段类型字符串(用于记录)
func (*FieldService) CheckFieldExists ¶
func (fs *FieldService) CheckFieldExists(tableName, fieldName string) bool
CheckFieldExists 检查字段是否存在
func (*FieldService) CheckTableExists ¶
func (fs *FieldService) CheckTableExists(tableName string) bool
CheckTableExists 检查表是否存在
func (*FieldService) DeleteField ¶
func (fs *FieldService) DeleteField(tableName, fieldName string) error
DeleteField 删除字段
func (*FieldService) GetFieldTypeCategory ¶ added in v1.7.3
func (fs *FieldService) GetFieldTypeCategory(fieldType string) string
func (*FieldService) GetSingleFieldInfo ¶
func (fs *FieldService) GetSingleFieldInfo(tableName, fieldName string) (*models.FieldInfo, error)
GetSingleFieldInfo 获取单个字段信息
func (*FieldService) GetSupportedFieldTypes ¶ added in v1.7.3
func (fs *FieldService) GetSupportedFieldTypes() map[string]models.FieldTypeInfo
func (*FieldService) GetTableList ¶
func (fs *FieldService) GetTableList() ([]string, error)
GetTableList 获取数据库中所有表的列表
func (*FieldService) GetTableStructure ¶
func (fs *FieldService) GetTableStructure(tableName string) (*models.TableStructure, error)
GetTableStructure 获取表结构信息
func (*FieldService) SaveFieldRecord ¶ added in v1.3.9
func (fs *FieldService) SaveFieldRecord(record *models.FieldRecord) error
SaveFieldRecord 保存字段操作记录
type FieldTypeMapping ¶ added in v1.7.3
type GeometryService ¶ added in v1.1.21
type GeometryService struct {
}
func (*GeometryService) GetUpdateStatistics ¶ added in v1.1.21
func (s *GeometryService) GetUpdateStatistics(DB *gorm.DB, ctx context.Context, req *models.GeometryUpdateRequest) (*UpdateStatistics, error)
GetUpdateStatistics 获取更新统计信息(更新前预览)
func (*GeometryService) PreviewUpdateSQL ¶ added in v1.1.21
func (s *GeometryService) PreviewUpdateSQL(req *models.GeometryUpdateRequest) (string, error)
PreviewUpdateSQL 预览将要执行的SQL(用于调试)
func (*GeometryService) UpdateGeometryField ¶ added in v1.1.21
func (s *GeometryService) UpdateGeometryField(DB *gorm.DB, ctx context.Context, req *models.GeometryUpdateRequest) (*models.GeometryUpdateResponse, error)
UpdateGeometryField 批量更新几何计算字段
type RestoreConfig ¶
type RestoreConfig struct {
Host string
Port string
User string
Password string
Database string
BackupPath string
DropExisting bool // 是否删除现有数据
RestoreData bool // 是否恢复数据
Verbose bool // 详细日志
}
RestoreConfig 恢复配置结构
type RestoreResult ¶
type RestoreResult struct {
Success bool
TablesCreated int
DataRestored int
IndexesCreated int
ViewsCreated int
FunctionsCreated int
Errors []string
Duration time.Duration
}
RestoreResult 恢复结果
type Result ¶
type Result struct {
Area float64 // 假设 area 指的是一个面积,使用 float64 类型来接收
Dlmc string // 假设 dlmc 是一个字符串
AttributeName string // 额外的动态字段名,仅在程序内部使用
}
func GeoIntersect ¶
func GeoIntersect(jsonData geojson.FeatureCollection, tablename string, att string) []Result
func GeoIntersectForBG ¶
func GeoIntersectForBG(jsonData geojson.FeatureCollection, tablename string, att string) []Result
func GroupAndSum ¶
type SQLBackupManager ¶
type SQLBackupManager struct {
// contains filtered or unexported fields
}
SQLBackupManager SQL备份管理器
func NewSQLBackupManager ¶
func NewSQLBackupManager() (*SQLBackupManager, error)
NewSQLBackupManager 创建SQL备份管理器
func (*SQLBackupManager) GetBackupStatistics ¶
func (sbm *SQLBackupManager) GetBackupStatistics() (*BackupStatistics, error)
GetBackupStatistics 获取备份统计信息
func (*SQLBackupManager) PerformSQLBackup ¶
func (sbm *SQLBackupManager) PerformSQLBackup() error
PerformSQLBackup 执行SQL备份
type SQLRestoreManager ¶
type SQLRestoreManager struct {
// contains filtered or unexported fields
}
SQLRestoreManager SQL恢复管理器
func NewSQLRestoreManager ¶
func NewSQLRestoreManager(backupPath string) (*SQLRestoreManager, error)
NewSQLRestoreManager 创建SQL恢复管理器
func (*SQLRestoreManager) PerformRestore ¶
func (srm *SQLRestoreManager) PerformRestore() (*RestoreResult, error)
PerformRestore 执行完整恢复
func (*SQLRestoreManager) SetRestoreOptions ¶
func (srm *SQLRestoreManager) SetRestoreOptions(dropExisting, restoreData, verbose bool)
SetRestoreOptions 设置恢复选项