Documentation
¶
Overview ¶
Copyright (C) 2025 [GrainArc]
This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License along with this program. If not, see <https://www.gnu.org/licenses/>.
Copyright (C) 2025 [GrainArc]
This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License along with this program. If not, see <https://www.gnu.org/licenses/>.
Copyright (C) 2025 [GrainArc]
This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License along with this program. If not, see <https://www.gnu.org/licenses/>.
Copyright (C) 2025 [GrainArc]
This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License along with this program. If not, see <https://www.gnu.org/licenses/>.
Copyright (C) 2025 [GrainArc]
This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License along with this program. If not, see <https://www.gnu.org/licenses/>.
Copyright (C) 2025 [GrainArc]
This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License along with this program. If not, see <https://www.gnu.org/licenses/>.
Copyright (C) 2025 [GrainArc]
This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License along with this program. If not, see <https://www.gnu.org/licenses/>.
Copyright (C) 2025 [GrainArc]
This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License along with this program. If not, see <https://www.gnu.org/licenses/>.
Copyright (C) 2025 [GrainArc]
This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License along with this program. If not, see <https://www.gnu.org/licenses/>.
Copyright (C) 2025 [GrainArc]
This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License along with this program. If not, see <https://www.gnu.org/licenses/>.
Copyright (C) 2025 [GrainArc]
This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License along with this program. If not, see <https://www.gnu.org/licenses/>.
Copyright (C) 2024 [GrainArc]
This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License along with this program. If not, see <https://www.gnu.org/licenses/>.
Copyright (C) 2024 [GrainArc]
This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License along with this program. If not, see <https://www.gnu.org/licenses/>.
Copyright (C) 2025 [GrainArc]
This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License along with this program. If not, see <https://www.gnu.org/licenses/>.
Gogeo/tiff_writer.go
Index ¶
- Constants
- Variables
- func AddField(gdbPath string, layerName string, fieldDef FieldDefinition) error
- func AddGDBItemRelationship(gdbPath string, originUUID string, destUUID string, relationType string) error
- func BatchConvertBinToGDB(rootFolderPath string, outputGDBPath string, includeSubfolders bool) error
- func BatchCreateFeatureDatasets(gdbPath string, datasetNames []string, srs *GDBSpatialReference) error
- func BatchDeserializeFromFiles(filePaths []string) (map[string]*GDALLayer, []error)
- func BatchProcessTilesOptimized(layers []*GDALLayer, tiles []*TileInfo, baseOutputDir string, ...) (map[int][]*TileClipResultM, error)
- func BatchUpdateGDBMetadata(gdbPath string, metadataList map[string]*GDBLayerMetadataWrite) error
- func BatchUpdateGDBMetadataFromConfig(gdbPath string, configs []GDBMetadataUpdateConfig) error
- func BoundaryGeometry(geometry C.OGRGeometryH) C.OGRGeometryH
- func BoundingBoxLayerGeometry(sourceLayer *GDALLayer) (orb.Geometry, error)
- func BufferFeature(feature C.OGRFeatureH, distance float64, quadSegs int) C.OGRGeometryH
- func BufferGeometry(geometry C.OGRGeometryH, distance float64, quadSegs int) C.OGRGeometryH
- func CentroidGeometry(geometry C.OGRGeometryH) C.OGRGeometryH
- func CleanupGDAL()
- func CloneGeometry(geometry C.OGRGeometryH) C.OGRGeometryH
- func CloseRings(geometry C.OGRGeometryH) C.OGRGeometryH
- func Contains(geom1, geom2 C.OGRGeometryH) bool
- func ConvertFile(sourceFilePath string, targetFilePath string, sourceLayerName string, ...) error
- func ConvertPostGISToShapefile(data []map[string]interface{}, outputPath string) error
- func ConvertPostGISToShapefileWithStructure(DB *gorm.DB, data []map[string]interface{}, outputPath string, ...) error
- func ConvexHullGeometry(geometry C.OGRGeometryH) C.OGRGeometryH
- func CopyAllFeatures(srcLayer, dstLayer *GDALLayer) (int, error)
- func CopyFieldDefinitions(srcLayer, dstLayer *GDALLayer) error
- func CopyLayerToFile(sourceLayer *GDALLayer, targetFilePath string, targetLayerName string, ...) error
- func CountValidGeometries(layer *GDALLayer) (valid, invalid int)
- func CreateFeatureDataset(gdbPath string, metadata *GDBFeatureDatasetMetadata) error
- func CreateFeatureDatasetWithSRS(gdbPath string, datasetName string, srs *GDBSpatialReference) error
- func CreateFeatureDatasetWithSRSWrite(gdbPath string, datasetName string, sr *GDBSpatialReferenceWrite) error
- func CreateLineStringGeometry(points [][2]float64) C.OGRGeometryH
- func CreatePoint3DGeometry(x, y, z float64) C.OGRGeometryH
- func CreatePointGeometry(x, y float64) C.OGRGeometryH
- func CreatePolygonGeometry(rings [][][2]float64) C.OGRGeometryH
- func CreateSpatialReferenceFromEPSG(epsgCode int) C.OGRSpatialReferenceH
- func CreateSpatialReferenceFromProj4(proj4 string) C.OGRSpatialReferenceH
- func CreateSpatialReferenceFromWKT(wkt string) C.OGRSpatialReferenceH
- func Crosses(geom1, geom2 C.OGRGeometryH) bool
- func DecodeTerrainRGB(r, g, b uint8, encoding string) float64
- func DeleteFeatureByObjectID(gdbPath string, layerName string, objectID int64) error
- func DeleteFeatureDataset(gdbPath string, datasetName string) error
- func DeleteFeaturesByFilter(gdbPath string, layerName string, whereClause string) (int, error)
- func DeleteField(gdbPath string, layerName string, fieldName string) error
- func DeleteLayer(gdbPath string, layerName string) error
- func DeleteLayerByIndex(gdbPath string, layerIndex int) error
- func DeleteMultipleLayers(gdbPath string, layerNames []string, continueOnError bool) (int, []error)
- func DeleteShapeFeatureByFID(shpPath string, fid int64) error
- func DeleteShapeFeaturesByFilter(shpPath string, whereClause string) (int, error)
- func DestroyGeometry(geometry C.OGRGeometryH)
- func DestroySpatialReference(srs C.OGRSpatialReferenceH)
- func DifferenceGeometry(geom1, geom2 C.OGRGeometryH) C.OGRGeometryH
- func Disjoint(geom1, geom2 C.OGRGeometryH) bool
- func Distance(geom1, geom2 C.OGRGeometryH) float64
- func EncodeTerrainRGB(height float64, encoding string) (r, g, b uint8)
- func EnsureFeatureDatasetExists(gdbPath string, datasetName string, srs *GDBSpatialReference) error
- func EnsureObjectIDField(shpPath string) (bool, error)
- func Equals(geom1, geom2 C.OGRGeometryH) bool
- func FeatureDatasetExists(gdbPath string, datasetName string) (bool, error)
- func GenerateTiles(inputLayer, methodLayer *GDALLayer, TileCount int, uuid string)
- func GeometryFromWKT(wkt string) C.OGRGeometryH
- func GeometryToGeoJSON(geometry C.OGRGeometryH) string
- func GeometryToWKT(geometry C.OGRGeometryH) string
- func GetAllSupportedTypeMappings() []map[string]interface{}
- func GetArea(geometry C.OGRGeometryH) float64
- func GetCoordinateDimension(geometry C.OGRGeometryH) int
- func GetDimension(geometry C.OGRGeometryH) int
- func GetEnvelope(geometry C.OGRGeometryH) (minX, minY, maxX, maxY float64, err error)
- func GetGDALLayerInfo(gdalLayer *GDALLayer) (map[string]interface{}, error)
- func GetGDBItemUUID(gdbPath string, itemName string) (string, error)
- func GetGDBRootUUID(gdbPath string) (string, error)
- func GetGeometryName(geometry C.OGRGeometryH) string
- func GetGeometryType(geometry C.OGRGeometryH) string
- func GetGeometryTypeFromWKBData(wkbData []byte) uint32
- func GetLayerExtent(layer *GDALLayer) (minX, minY, maxX, maxY float64, err error)
- func GetLayerNames(gdbPath string) ([]string, error)
- func GetLayersInFeatureDataset(gdbPath string, datasetName string) ([]string, error)
- func GetLength(geometry C.OGRGeometryH) float64
- func GetNextDSID(gdbPath string) (int, error)
- func GetPointCount(geometry C.OGRGeometryH) int
- func GetSHPEPSGCode(shpPath string) (int, error)
- func GetWKTFromEPSG(epsg int) (string, error)
- func InitializeGDAL() error
- func InsertLayerToGDB(sourceLayer *GDALLayer, gdbPath string, targetLayerName string, ...) error
- func InsertLayerToShapefile(sourceLayer *GDALLayer, shpPath string, options *InsertOptions) error
- func IntersectionGeometry(geom1, geom2 C.OGRGeometryH) C.OGRGeometryH
- func Intersects(geom1, geom2 C.OGRGeometryH) bool
- func IsEmpty(geometry C.OGRGeometryH) bool
- func IsRing(geometry C.OGRGeometryH) bool
- func IsSimple(geometry C.OGRGeometryH) bool
- func IsValid(geometry C.OGRGeometryH) bool
- func LatLonToWebMercator(lon, lat float64) (x, y float64)
- func LayerExists(gdbPath string, layerName string) (bool, error)
- func LayerToGeoJSON(gdal *GDALLayer) (*geojson.FeatureCollection, error)
- func LayerToGeoJSONWithTransform(hLayer C.OGRLayerH, hTargetSRS C.OGRSpatialReferenceH) (*geojson.FeatureCollection, error)
- func ListFeatureDatasets(gdbPath string) ([]string, error)
- func LonLatToTile(lon, lat float64, zoom int) (x, y int)
- func MakeValidFeature(feature C.OGRFeatureH) C.OGRGeometryH
- func MakeValidGeometry(geometry C.OGRGeometryH) C.OGRGeometryH
- func MoveLayerToFeatureDataset(gdbPath string, layerName string, datasetName string, srs *GDBSpatialReference) error
- func Overlaps(geom1, geom2 C.OGRGeometryH) bool
- func PackShapefile(shpPath string) error
- func PerformSpatialIntersectionTest(shpFile1, shpFile2, outputFile string) error
- func PrintAllFeatureDatasets(gdbPath string) error
- func PrintFeatureDatasetInfo(gdbPath string, datasetName string) error
- func ProcessBinFolderToGDB(binFolderPath string, outputGDBPath string) error
- func QuickCreateFeatureDataset(gdbPath string, datasetName string) error
- func QuickCreateFeatureDatasetWithEPSG(gdbPath string, datasetName string, epsg int) error
- func ReadBinFilesAndConvertToGDB(folderPath string, outputGDBPath string) error
- func ReadTerrainTileDirect(imagePath string, z, x, y, tileSize int, encoding string) ([]byte, error)
- func ReadTileDirect(imagePath string, z, x, y, tileSize int) ([]byte, error)
- func RemoveDuplicatePoints(geometry C.OGRGeometryH, tolerance float64) C.OGRGeometryH
- func RemoveGDBItemRelationship(gdbPath string, destUUID string) error
- func RemoveLinePolygonBoundaryOverlapAndReturnLongest(lineFeature C.OGRFeatureH, polygonFeature C.OGRFeatureH, tolerance float64) C.OGRGeometryH
- func RemoveLinePolygonBoundaryOverlapFromGeoJSON(lineFeature, polygonFeature *geojson.Feature, tolerance float64) (*geojson.Feature, error)
- func RemoveLinePolygonBoundaryOverlapGeometryAndReturnLongest(lineGeom C.OGRGeometryH, polygonGeom C.OGRGeometryH, tolerance float64) C.OGRGeometryH
- func SaveGDALLayerToPG(DB *gorm.DB, gdalLayer *GDALLayer, tableName string, schema string, srid int) error
- func SaveGDALLayerToPGBatch(DB *gorm.DB, gdalLayer *GDALLayer, tableName string, schema string, srid int, ...) error
- func SaveGDBDefinitionsToFile(gdbPath string, outputPath string) (string, error)
- func SegmentizeGeometry(geometry C.OGRGeometryH, maxLength float64) C.OGRGeometryH
- func SimplifyFeature(feature C.OGRFeatureH, tolerance float64, preserveTopology bool) C.OGRGeometryH
- func SimplifyGeometry(geometry C.OGRGeometryH, tolerance float64, preserveTopology bool) C.OGRGeometryH
- func SymDifferenceGeometry(geom1, geom2 C.OGRGeometryH) C.OGRGeometryH
- func TileToWebMercatorBounds(x, y, zoom int) (minX, minY, maxX, maxY float64)
- func Touches(geom1, geom2 C.OGRGeometryH) bool
- func TransformGeometry(geometry C.OGRGeometryH, sourceSRS, targetSRS C.OGRSpatialReferenceH) C.OGRGeometryH
- func UnionGeometry(geom1, geom2 C.OGRGeometryH) C.OGRGeometryH
- func UpdateGDBFieldAliases(gdbPath string, layerName string, fieldAliases map[string]string) error
- func UpdateGDBItemRelationship(gdbPath string, featureClassName string, datasetName string) error
- func UpdateGDBLayerAlias(gdbPath string, layerName string, aliasName string) error
- func UpdateGDBLayerAndFieldAliases(gdbPath string, layerName string, layerAlias string, ...) error
- func ValidateBinaryFormat(data []byte) error
- func WebMercatorToLatLon(x, y float64) (lon, lat float64)
- func Within(geom1, geom2 C.OGRGeometryH) bool
- func WriteDXFLayer(sourceLayer *GDALLayer, filePath string, layerName string, overwrite bool) error
- func WriteGDBLayer(sourceLayer *GDALLayer, filePath string, layerName string, overwrite bool) error
- func WriteGDBLayerMetadata(gdbPath string, layerName string, metadata *GDBLayerMetadataWrite) error
- func WriteGeoJSONLayer(sourceLayer *GDALLayer, filePath string, layerName string, overwrite bool) error
- func WriteGeospatialFile(sourceLayer *GDALLayer, filePath string, layerName string, overwrite bool) error
- func WriteKMLLayer(sourceLayer *GDALLayer, filePath string, layerName string, overwrite bool) error
- func WriteKMZLayer(sourceLayer *GDALLayer, filePath string, layerName string, overwrite bool) error
- func WriteShapeFileLayer(sourceLayer *GDALLayer, filePath string, layerName string, overwrite bool) error
- type AreaOfInterest
- type BorderFeatureInfo
- type ClipOptions
- type ClipResult
- type ClipResultByte
- type DEFeatureClassInfo
- type DatasetInfo
- type DeserializeResult
- type DonutBuilderOptions
- type Extent
- type FastTileServer
- type FastTileServerOptions
- type FeatureAnalysisResult
- type FeatureData
- type FeatureGroup
- type FieldAnalysisResult
- type FieldDefinition
- type FieldInfo
- type FieldMapping
- type FieldMergeStrategy
- type FieldType
- type FieldTypeCompatibility
- type FieldValue
- type FieldsInfo
- type FileGeoReader
- func (r *FileGeoReader) GetLayerInfo(layerName ...string) (map[string]interface{}, error)
- func (r *FileGeoReader) ListLayers() ([]string, error)
- func (r *FileGeoReader) ReadDXFFile(layerName ...string) (*GDALLayer, error)
- func (r *FileGeoReader) ReadGDBFile(layerName ...string) (*GDALLayer, error)
- func (r *FileGeoReader) ReadGeoJSONFile(layerName ...string) (*GDALLayer, error)
- func (r *FileGeoReader) ReadKMLFile(layerName ...string) (*GDALLayer, error)
- func (r *FileGeoReader) ReadKMZFile(layerName ...string) (*GDALLayer, error)
- func (r *FileGeoReader) ReadLayer(layerName ...string) (*GDALLayer, error)
- func (r *FileGeoReader) ReadShapeFile(layerName ...string) (*GDALLayer, error)
- type FileGeoWriter
- func (w *FileGeoWriter) WriteDXFFile(sourceLayer *GDALLayer, layerName string) error
- func (w *FileGeoWriter) WriteGDBFile(sourceLayer *GDALLayer, layerName string) error
- func (w *FileGeoWriter) WriteGeoJSONFile(sourceLayer *GDALLayer, layerName string) error
- func (w *FileGeoWriter) WriteKMLFile(sourceLayer *GDALLayer, layerName string) error
- func (w *FileGeoWriter) WriteKMZFile(sourceLayer *GDALLayer, layerName string) error
- func (w *FileGeoWriter) WriteLayer(sourceLayer *GDALLayer, layerName string) error
- func (w *FileGeoWriter) WriteShapeFile(sourceLayer *GDALLayer, layerName string) error
- type GDALFeature
- func (f *GDALFeature) Clone() *GDALFeature
- func (f *GDALFeature) Destroy()
- func (f *GDALFeature) GetFeature() C.OGRFeatureH
- func (f *GDALFeature) GetFieldAsDouble(fieldName string) float64
- func (f *GDALFeature) GetFieldAsInteger(fieldName string) int
- func (f *GDALFeature) GetFieldAsString(fieldName string) string
- func (f *GDALFeature) GetFieldAsStringByIndex(index int) string
- func (f *GDALFeature) GetFieldCount() int
- func (f *GDALFeature) GetFieldIndex(fieldName string) int
- func (f *GDALFeature) GetGeometry() C.OGRGeometryH
- func (f *GDALFeature) GetGeometryCopy() C.OGRGeometryH
- func (f *GDALFeature) IsValid() bool
- func (f *GDALFeature) SetFieldDouble(fieldName string, value float64) error
- func (f *GDALFeature) SetFieldInteger(fieldName string, value int) error
- func (f *GDALFeature) SetFieldString(fieldName, value string) error
- func (f *GDALFeature) SetFieldStringByIndex(index int, value string)
- func (f *GDALFeature) SetGeometry(geom C.OGRGeometryH) error
- func (f *GDALFeature) SetGeometryDirectly(geom C.OGRGeometryH) error
- type GDALLayer
- func AreaOnAreaAnalysis(layer *GDALLayer, tolerance float64) (*GDALLayer, error)
- func BatchBuffer(sourceLayer *GDALLayer, distanceField string, quadSegs int) (*GDALLayer, error)
- func BoundaryLayer(sourceLayer *GDALLayer) (*GDALLayer, error)
- func BufferLayer(sourceLayer *GDALLayer, distance float64, quadSegs int) (*GDALLayer, error)
- func BufferLayerAuto(sourceLayer *GDALLayer, targetRatio float64, quadSegs int) (*GDALLayer, error)
- func CentroidLayer(sourceLayer *GDALLayer) (*GDALLayer, error)
- func ConvertGeoJSONToGDALLayer(fc *geojson.FeatureCollection, layerName string) (*GDALLayer, error)
- func ConvexHullLayer(sourceLayer *GDALLayer) (*GDALLayer, error)
- func CreateMemoryLayer(layerName string, geomType GeomType) (*GDALLayer, error)
- func DeserializeLayerFromFile(filePath string) (*GDALLayer, error)
- func DifferenceLayer(layer1, layer2 *GDALLayer) (*GDALLayer, error)
- func DissolveLayer(sourceLayer *GDALLayer, dissolveField string) (*GDALLayer, error)
- func DonutBuilder(sourceLayer *GDALLayer) (*GDALLayer, error)
- func DonutBuilderWithOptions(sourceLayer *GDALLayer, options *DonutBuilderOptions) (*GDALLayer, error)
- func FilterByExtent(sourceLayer *GDALLayer, minX, minY, maxX, maxY float64) (*GDALLayer, error)
- func FilterByGeometry(sourceLayer *GDALLayer, filterGeom C.OGRGeometryH) (*GDALLayer, error)
- func IntersectionLayer(layer1, layer2 *GDALLayer) (*GDALLayer, error)
- func MakeValidLayer(sourceLayer *GDALLayer) (*GDALLayer, error)
- func MergeFeaturesToLayer(features []C.OGRFeatureH, layerName string, srs C.OGRSpatialReferenceH) (*GDALLayer, error)
- func ReadDXFLayer(filePath string, layerName ...string) (*GDALLayer, error)
- func ReadGDBLayer(filePath string, layerName ...string) (*GDALLayer, error)
- func ReadGeoJSONLayer(filePath string, layerName ...string) (*GDALLayer, error)
- func ReadGeospatialFile(filePath string, layerName ...string) (*GDALLayer, error)
- func ReadKMLLayer(filePath string, layerName ...string) (*GDALLayer, error)
- func ReadKMZLayer(filePath string, layerName ...string) (*GDALLayer, error)
- func ReadShapeFileLayer(filePath string, layerName ...string) (*GDALLayer, error)
- func SafeDeserializeLayerFromFile(filePath string) (*GDALLayer, error)
- func SimplifyLayer(sourceLayer *GDALLayer, tolerance float64, preserveTopology bool) (*GDALLayer, error)
- func TransformLayer(sourceLayer *GDALLayer, targetSRS C.OGRSpatialReferenceH) (*GDALLayer, error)
- func UnionAllLayer(sourceLayer *GDALLayer) (*GDALLayer, error)
- func (layer *GDALLayer) CleanupDeserializedLayer()
- func (gl *GDALLayer) Close()
- func (gl *GDALLayer) CreateEmptyFeature() *GDALFeature
- func (gl *GDALLayer) CreateFeature(f *GDALFeature) error
- func (gl *GDALLayer) CreateFeatureFromHandle(handle C.OGRFeatureH) error
- func (l *GDALLayer) CreateField(fieldDefn C.OGRFieldDefnH) error
- func (gl *GDALLayer) GetFeatureCount() int
- func (gl *GDALLayer) GetFieldCount() int
- func (l *GDALLayer) GetFieldDefn(index int) C.OGRFieldDefnH
- func (gl *GDALLayer) GetFieldName(index int) string
- func (gl *GDALLayer) GetFieldType(index int) string
- func (gl *GDALLayer) GetGeometryType() string
- func (gl *GDALLayer) GetLayerDefn() C.OGRFeatureDefnH
- func (gl *GDALLayer) GetLayerName() string
- func (gl *GDALLayer) GetNextFeature() *GDALFeature
- func (gl *GDALLayer) GetNextFeatureRow() C.OGRFeatureH
- func (gl *GDALLayer) GetSpatialRef() C.OGRSpatialReferenceH
- func (gl *GDALLayer) IterateFeatures(callback func(feature C.OGRFeatureH))
- func (gl *GDALLayer) PrintFieldsInfo()
- func (gl *GDALLayer) PrintLayerInfo()
- func (gl *GDALLayer) PrintLayerSummary()
- func (gl *GDALLayer) ResetReading()
- type GDBExtentInfo
- type GDBFeatureDatasetMetadata
- func (m *GDBFeatureDatasetMetadata) GenerateFeatureDatasetDefinitionXML() string
- func (m *GDBFeatureDatasetMetadata) WithSpatialReference(sr *GDBSpatialReferenceWrite) *GDBFeatureDatasetMetadata
- func (m *GDBFeatureDatasetMetadata) WithSpatialReferenceFromGDB(srs *GDBSpatialReference) *GDBFeatureDatasetMetadata
- type GDBFieldMetadata
- type GDBItemRelationship
- type GDBLayerFieldInfo
- type GDBLayerInfo
- type GDBLayerMetaData
- type GDBLayerMetadataCollection
- func (c *GDBLayerMetadataCollection) GetAllFieldAliases() map[string]map[string]string
- func (c *GDBLayerMetadataCollection) GetLayerByAlias(aliasName string) *GDBLayerMetaData
- func (c *GDBLayerMetadataCollection) GetLayerByName(layerName string) *GDBLayerMetaData
- func (c *GDBLayerMetadataCollection) GetLayersByDataset(datasetName string) []*GDBLayerMetaData
- func (c *GDBLayerMetadataCollection) PrintCollection()
- type GDBLayerMetadataWrite
- func (m *GDBLayerMetadataWrite) AddDateField(name, alias string, nullable bool) *GDBLayerMetadataWrite
- func (m *GDBLayerMetadataWrite) AddDoubleField(name, alias string, precision, scale int, nullable bool) *GDBLayerMetadataWrite
- func (m *GDBLayerMetadataWrite) AddField(field GDBFieldMetadata) *GDBLayerMetadataWrite
- func (m *GDBLayerMetadataWrite) AddIntegerField(name, alias string, nullable bool) *GDBLayerMetadataWrite
- func (m *GDBLayerMetadataWrite) AddStringField(name, alias string, length int, nullable bool) *GDBLayerMetadataWrite
- func (m *GDBLayerMetadataWrite) Clone() *GDBLayerMetadataWrite
- func (m *GDBLayerMetadataWrite) GenerateDefinitionXML() (string, error)
- func (m *GDBLayerMetadataWrite) GenerateDefinitionXMLFormatted() (string, error)
- func (m *GDBLayerMetadataWrite) PrintMetadataInfo()
- func (m *GDBLayerMetadataWrite) ValidateMetadata() []string
- func (m *GDBLayerMetadataWrite) WithAliasName(alias string) *GDBLayerMetadataWrite
- func (m *GDBLayerMetadataWrite) WithAreaAndLengthFields(areaField, lengthField string) *GDBLayerMetadataWrite
- func (m *GDBLayerMetadataWrite) WithDSID(dsid int) *GDBLayerMetadataWrite
- func (m *GDBLayerMetadataWrite) WithExtent(xMin, yMin, xMax, yMax float64) *GDBLayerMetadataWrite
- func (m *GDBLayerMetadataWrite) WithHasM(hasM bool) *GDBLayerMetadataWrite
- func (m *GDBLayerMetadataWrite) WithHasZ(hasZ bool) *GDBLayerMetadataWrite
- func (m *GDBLayerMetadataWrite) WithLayerPath(path string) *GDBLayerMetadataWrite
- func (m *GDBLayerMetadataWrite) WithOIDFieldName(name string) *GDBLayerMetadataWrite
- func (m *GDBLayerMetadataWrite) WithShapeFieldName(name string) *GDBLayerMetadataWrite
- func (m *GDBLayerMetadataWrite) WithShapeType(shapeType string) *GDBLayerMetadataWrite
- func (m *GDBLayerMetadataWrite) WithSpatialReference(srs *GDBSpatialReferenceWrite) *GDBLayerMetadataWrite
- type GDBMetadataUpdateConfig
- type GDBSpatialReference
- func GetAllCGCS2000_3DegreeCMZones() []*GDBSpatialReference
- func GetAllCGCS2000_3DegreeZones() []*GDBSpatialReference
- func GetCGCS2000_3DegreeByCentralMeridian(centralMeridian int) (*GDBSpatialReference, error)
- func GetCGCS2000_3DegreeByLongitude(longitude float64, withZonePrefix bool) (*GDBSpatialReference, error)
- func GetCGCS2000_3DegreeZone(zone int) (*GDBSpatialReference, error)
- func GetSHPSpatialReference(shpPath string) (*GDBSpatialReference, error)
- func NewGDBSpatialReferenceFromEPSG(epsg int) *GDBSpatialReference
- func NewGDBSpatialReferenceFromProj4(proj4 string, name string) *GDBSpatialReference
- func NewGDBSpatialReferenceFromWKT(wkt string, name string) *GDBSpatialReference
- type GDBSpatialReferenceType
- type GDBSpatialReferenceWrite
- func ConvertGDBSpatialReferenceToWrite(srs *GDBSpatialReference) *GDBSpatialReferenceWrite
- func NewCGCS2000SpatialReference() *GDBSpatialReferenceWrite
- func NewCGCS2000_3DegreeGK_Zone(zone int) *GDBSpatialReferenceWrite
- func NewCGCS2000_6DegreeGK_Zone(zone int) *GDBSpatialReferenceWrite
- func NewGDBSpatialReferenceWrite() *GDBSpatialReferenceWrite
- func NewSpatialReferenceFromEPSG(epsg int) (*GDBSpatialReferenceWrite, error)
- func NewSpatialReferenceFromWKT(wkt string) (*GDBSpatialReferenceWrite, error)
- func NewUTMSpatialReference(zone int, isNorth bool) *GDBSpatialReferenceWrite
- func NewWGS84SpatialReference() *GDBSpatialReferenceWrite
- func NewWebMercatorSpatialReference() *GDBSpatialReferenceWrite
- func (sr *GDBSpatialReferenceWrite) WithIsProjected(isProjected bool) *GDBSpatialReferenceWrite
- func (sr *GDBSpatialReferenceWrite) WithMParams(origin, scale, tolerance float64) *GDBSpatialReferenceWrite
- func (sr *GDBSpatialReferenceWrite) WithOrigin(xOrigin, yOrigin float64) *GDBSpatialReferenceWrite
- func (sr *GDBSpatialReferenceWrite) WithWKID(wkid int) *GDBSpatialReferenceWrite
- func (sr *GDBSpatialReferenceWrite) WithWKT(wkt string) *GDBSpatialReferenceWrite
- func (sr *GDBSpatialReferenceWrite) WithXYScale(scale float64) *GDBSpatialReferenceWrite
- func (sr *GDBSpatialReferenceWrite) WithXYTolerance(tolerance float64) *GDBSpatialReferenceWrite
- func (sr *GDBSpatialReferenceWrite) WithZParams(origin, scale, tolerance float64) *GDBSpatialReferenceWrite
- type GPFieldInfoEx
- type GPFieldInfoExs
- type GeoJsonLayers
- type GeoTiffWriter
- func (w *GeoTiffWriter) Close()
- func (w *GeoTiffWriter) ExportToFile(filename string) error
- func (w *GeoTiffWriter) ExportToMemory() ([]byte, error)
- func (w *GeoTiffWriter) GetDimensions() (width, height, bands int)
- func (w *GeoTiffWriter) WriteTile(tileData []byte, format string, dstX, dstY int) error
- type GeomType
- type Geometry
- type GeometryPrecisionConfig
- type GeosAnalysisResult
- func SpatialClipAnalysis(inputLayer, methodlayer *GDALLayer, config *ParallelGeosConfig) (*GeosAnalysisResult, error)
- func SpatialEraseAnalysis(inputLayer, methodlayer *GDALLayer, config *ParallelGeosConfig) (*GeosAnalysisResult, error)
- func SpatialIdentityAnalysis(inputLayer, methodLayer *GDALLayer, config *ParallelGeosConfig) (*GeosAnalysisResult, error)
- func SpatialIntersectionAnalysis(inputLayer, methodLayer *GDALLayer, config *ParallelGeosConfig, ...) (*GeosAnalysisResult, error)
- func SpatialSymDifferenceAnalysis(inputLayer, methodLayer *GDALLayer, config *ParallelGeosConfig) (*GeosAnalysisResult, error)
- func SpatialUpdateAnalysis(inputLayer, methodLayer *GDALLayer, config *ParallelGeosConfig) (*GeosAnalysisResult, error)
- func UnionAnalysis(inputLayer *GDALLayer, groupFields []string, outputTableName string, ...) (*GeosAnalysisResult, error)
- func UnionByFieldsWithPrecision(inputLayer *GDALLayer, groupFields []string, outputLayerName string, ...) (*GeosAnalysisResult, error)
- type GroupBin
- type GroupTileFiles
- type ImageProcessor
- func (p *ImageProcessor) AddTileFromBuffer(data []byte, format string, dstX, dstY int) error
- func (p *ImageProcessor) AddTileFromBufferWithSize(data []byte, format string, srcX, srcY, srcWidth, srcHeight int, ...) error
- func (p *ImageProcessor) Clear() error
- func (p *ImageProcessor) Close()
- func (p *ImageProcessor) CropAndExport(cropX, cropY, cropWidth, cropHeight int, format string) ([]byte, error)
- func (p *ImageProcessor) CropScaleAndExport(cropX, cropY, cropWidth, cropHeight int, outputWidth, outputHeight int, ...) ([]byte, error)
- func (p *ImageProcessor) Export(format string) ([]byte, error)
- func (p *ImageProcessor) ExportToFile(filename string, quality int) error
- func (p *ImageProcessor) GetDimensions() (width, height, bands int)
- type ImportFieldMapping
- type ImportResult
- func ImportGDALLayerToGDB(sourceLayer *GDALLayer, gdbPath string, gdbLayerName string, ...) (*ImportResult, error)
- func ImportGDALLayerToGDBV2(sourceLayer *GDALLayer, gdbPath string, gdbLayerName string, ...) (*ImportResult, error)
- func ImportPostGISToGDB(postGISConfig *PostGISConfig, gdbPath string, gdbLayerName string, ...) (*ImportResult, error)
- func ImportPostGISToGDBV2(postGISConfig *PostGISConfig, gdbPath string, gdbLayerName string, ...) (*ImportResult, error)
- func ImportPostGISToGDBV3(postGISConfig *PostGISConfig, gdbPath string, gdbLayerName string, ...) (*ImportResult, error)
- func ImportPostGISToGDBV3Auto(postGISConfig *PostGISConfig, gdbPath string, layerName string, ...) (*ImportResult, error)
- func ImportPostGISToNewGDBLayer(postGISConfig *PostGISConfig, gdbPath string, layerName string, ...) (*ImportResult, error)
- func ImportPostGISToNewGDBLayerV2(postGISConfig *PostGISConfig, gdbPath string, layerName string, ...) (*ImportResult, error)
- func ImportPostGISToNewGDBLayerV3(postGISConfig *PostGISConfig, gdbPath string, layerName string, ...) (*ImportResult, error)
- func ImportPostGISToNewGDBLayerV3WithDataset(postGISConfig *PostGISConfig, gdbPath string, layerName string, ...) (*ImportResult, error)
- type ImportToGDBOptions
- type ImportToGDBOptionsV2
- func (opts *ImportToGDBOptionsV2) WithCGCS2000_3DegreeByCM(centralMeridian int) (*ImportToGDBOptionsV2, error)
- func (opts *ImportToGDBOptionsV2) WithCGCS2000_3DegreeZone(zone int) (*ImportToGDBOptionsV2, error)
- func (opts *ImportToGDBOptionsV2) WithSourceSRS(srs *GDBSpatialReference) *ImportToGDBOptionsV2
- func (opts *ImportToGDBOptionsV2) WithTargetSRS(srs *GDBSpatialReference) *ImportToGDBOptionsV2
- type ImportToGDBOptionsV3
- func (opts *ImportToGDBOptionsV3) WithAutoUpdateMetadata(auto bool) *ImportToGDBOptionsV3
- func (opts *ImportToGDBOptionsV3) WithFieldAlias(fieldName, alias string) *ImportToGDBOptionsV3
- func (opts *ImportToGDBOptionsV3) WithFieldAliases(aliases map[string]string) *ImportToGDBOptionsV3
- func (opts *ImportToGDBOptionsV3) WithLayerAlias(alias string) *ImportToGDBOptionsV3
- func (opts *ImportToGDBOptionsV3) WithLayerPath(path string) *ImportToGDBOptionsV3
- func (opts *ImportToGDBOptionsV3) WithSpatialReferenceOverride(sr *GDBSpatialReferenceWrite) *ImportToGDBOptionsV3
- func (opts *ImportToGDBOptionsV3) WithTargetSRS(srs *GDBSpatialReference) *ImportToGDBOptionsV3
- type InsertOptions
- type LayerAnalysisResult
- type LayerMetadata
- type MBTilesGenerator
- func (gen *MBTilesGenerator) Close()
- func (gen *MBTilesGenerator) EstimateTileCount() int
- func (gen *MBTilesGenerator) Generate(outputPath string, metadata map[string]string) error
- func (gen *MBTilesGenerator) GenerateTerrainMBTiles(outputPath string, options *TerrainOptions) error
- func (gen *MBTilesGenerator) GenerateWithConcurrency(outputPath string, metadata map[string]string, concurrency int) error
- func (gen *MBTilesGenerator) GetBounds() (minLon, minLat, maxLon, maxLat float64)
- func (gen *MBTilesGenerator) GetDatasetInfo() DatasetInfo
- type MBTilesOptions
- type OptimizedTileProcessor
- type PGConfig
- type ParallelGeosConfig
- type PostGISConfig
- type PostGISFieldInfo
- type PostGISLayer
- type PostGISReader
- type PostGISReaderFiltered
- type PostGISRecord
- type ProgressCallback
- type ProgressData
- type RasterDataset
- func (rd *RasterDataset) ClipPixelRasterByLayerByte(layer *GDALLayer, options *ClipOptions) ([]ClipResultByte, error)
- func (rd *RasterDataset) ClipRasterByLayer(layer *GDALLayer, options *ClipOptions) ([]ClipResult, error)
- func (rd *RasterDataset) ClipRasterByLayerByte(layer *GDALLayer, options *ClipOptions) ([]ClipResultByte, error)
- func (rd *RasterDataset) Close()
- func (rd *RasterDataset) GetActiveDataset() C.GDALDatasetH
- func (rd *RasterDataset) GetBounds() (minX, minY, maxX, maxY float64)
- func (rd *RasterDataset) GetBoundsLatLon() (minLon, minLat, maxLon, maxLat float64)
- func (rd *RasterDataset) GetInfo() DatasetInfo
- func (rd *RasterDataset) GetTileRange(zoom int) (minTileX, minTileY, maxTileX, maxTileY int)
- func (rd *RasterDataset) ReadTile(zoom, x, y, tileSize int) ([]byte, error)
- func (rd *RasterDataset) ReadTileRaw(zoom, x, y, tileSize int) ([]float32, error)
- func (rd *RasterDataset) ReadTileRawWithNoData(zoom, x, y, tileSize int) ([]float32, float32, error)
- type RasterTileResult
- type RasterTiler
- func (t *RasterTiler) ClipByTiles(clipOptions *ClipOptions) ([]ClipResultByte, error)
- func (t *RasterTiler) Close()
- func (t *RasterTiler) CreateTileLayer() (*GDALLayer, error)
- func (t *RasterTiler) GenerateTiles() error
- func (t *RasterTiler) GetGridInfo() (rows, cols int)
- func (t *RasterTiler) GetTileByIndex(index int) (*TileInfo2, error)
- func (t *RasterTiler) GetTileByRowCol(row, col int) (*TileInfo2, error)
- func (t *RasterTiler) GetTileCount() int
- func (t *RasterTiler) GetTileLayer() *GDALLayer
- func (t *RasterTiler) GetTiles() []TileInfo2
- type SHPLayerInfo
- type SerializedLayerData
- type SpatialReference
- type SpatialReferenceXML
- type SyncFieldOptions
- type SyncResult
- type TableStructureInfo
- type TerrainOptions
- type TerrainTileResult
- type TileClipResultM
- type TileInfo
- type TileInfo2
- type TileOptions
- type TileProcessingConfig
- type TileProgressCallback
- type TileResult
- type TileServer
- func (ts *TileServer) Close()
- func (ts *TileServer) GetBounds() (minLon, minLat, maxLon, maxLat float64)
- func (ts *TileServer) GetTerrainTile(z, x, y int, encoding string) ([]byte, error)
- func (ts *TileServer) GetTile(z, x, y int) ([]byte, error)
- func (ts *TileServer) GetTilePNG(z, x, y int) ([]byte, error)
- func (ts *TileServer) GetTileRange(zoom int) (minTileX, minTileY, maxTileX, maxTileY int)
- type TileServerOptions
- type TileTask
- type TransformErrorAction
- type TransformOptions
- type UnionConfig
- type UnionProcessor
Constants ¶
const ( GDBFieldTypeOID = "esriFieldTypeOID" GDBFieldTypeString = "esriFieldTypeString" GDBFieldTypeInteger = "esriFieldTypeInteger" GDBFieldTypeSmallInt = "esriFieldTypeSmallInteger" GDBFieldTypeDouble = "esriFieldTypeDouble" GDBFieldTypeSingle = "esriFieldTypeSingle" GDBFieldTypeDate = "esriFieldTypeDate" GDBFieldTypeGeometry = "esriFieldTypeGeometry" GDBFieldTypeBlob = "esriFieldTypeBlob" GDBFieldTypeGlobalID = "esriFieldTypeGlobalID" GDBFieldTypeGUID = "esriFieldTypeGUID" )
GDB字段类型常量
const ( GDBGeometryPoint = "esriGeometryPoint" GDBGeometryMultipoint = "esriGeometryMultipoint" GDBGeometryPolyline = "esriGeometryPolyline" GDBGeometryPolygon = "esriGeometryPolygon" )
GDB几何类型常量
const ( GDBDatasetTypeFeatureClass = "esriDTFeatureClass" GDBDatasetTypeTable = "esriDTTable" )
GDB数据集类型常量
const ( GDBFeatureTypeSimple = "esriFTSimple" GDBFeatureTypeAnnotation = "esriFTAnnotation" )
GDB要素类型常量
const ( // DatasetInFolder - 数据集在文件夹中的关系 GDBRelTypeDatasetInFolder = "{dc78f1ab-34e4-43ac-ba81-bc99dbe3e549}" // DatasetInFeatureDataset - 要素类在要素数据集中的关系 GDBRelTypeDatasetInFeatureDataset = "{a1633a59-46ba-4448-8706-d8abe2b2b02e}" // ItemInFolder - 项目在文件夹中的关系 GDBRelTypeItemInFolder = "{5dd0c1af-cb3d-4fea-8c51-cb3ba8d77cdb}" )
GDB关系类型UUID常量
const ( GDBItemTypeFeatureDataset = "{74737149-DCB5-4257-8904-B9724E32A530}" GDBItemTypeFeatureClass = "{70737809-852C-4A03-9E22-2CECEA5B9BFA}" GDBItemTypeTable = "{CD06BC3B-789D-4C51-AAFA-A467912B8965}" GDBItemTypeWorkspace = "{C673FE0F-7280-404F-8532-20755DD8FC06}" )
GDB_Items类型UUID常量
const (
GDBCLSIDFeatureClass = "{52353152-891A-11D0-BEC6-00805F7C4268}"
)
GDB CLSID常量
Variables ¶
var ( // WGS84 地理坐标系 SRS_WGS84 = &GDBSpatialReference{ EPSG: 4326, Name: "WGS 84", Type: SRSTypeGeographic, Description: "WGS 84 地理坐标系"} // CGCS2000 地理坐标系 SRS_CGCS2000 = &GDBSpatialReference{ EPSG: 4490, Name: "China Geodetic Coordinate System 2000", Type: SRSTypeGeographic, Description: "中国2000国家大地坐标系(地理坐标系)", } )
===================================================== 预定义坐标系常量 ===================================================== 地理坐标系
var ( // 25带 中央经线75° SRS_CGCS2000_3_25 = &GDBSpatialReference{ EPSG: 4513, Name: "CGCS2000 / 3-degree Gauss-Kruger zone 25", Type: SRSTypeProjected, Description: "CGCS2000 3度带 25带 (中央经线75°)", } // 26带 中央经线78° SRS_CGCS2000_3_26 = &GDBSpatialReference{ EPSG: 4514, Name: "CGCS2000 / 3-degree Gauss-Kruger zone 26", Type: SRSTypeProjected, Description: "CGCS2000 3度带 26带 (中央经线78°)", } // 27带 中央经线81° SRS_CGCS2000_3_27 = &GDBSpatialReference{ EPSG: 4515, Name: "CGCS2000 / 3-degree Gauss-Kruger zone 27", Type: SRSTypeProjected, Description: "CGCS2000 3度带 27带 (中央经线81°)", } // 28带 中央经线84° SRS_CGCS2000_3_28 = &GDBSpatialReference{ EPSG: 4516, Name: "CGCS2000 / 3-degree Gauss-Kruger zone 28", Type: SRSTypeProjected, Description: "CGCS2000 3度带 28带 (中央经线84°)", } // 29带 中央经线87° SRS_CGCS2000_3_29 = &GDBSpatialReference{ EPSG: 4517, Name: "CGCS2000 / 3-degree Gauss-Kruger zone 29", Type: SRSTypeProjected, Description: "CGCS2000 3度带 29带 (中央经线87°)", } // 30带 中央经线90° SRS_CGCS2000_3_30 = &GDBSpatialReference{ EPSG: 4518, Name: "CGCS2000 / 3-degree Gauss-Kruger zone 30", Type: SRSTypeProjected, Description: "CGCS2000 3度带 30带 (中央经线90°)", } // 31带 中央经线93° SRS_CGCS2000_3_31 = &GDBSpatialReference{ EPSG: 4519, Name: "CGCS2000 / 3-degree Gauss-Kruger zone 31", Type: SRSTypeProjected, Description: "CGCS2000 3度带 31带 (中央经线93°)", } // 32带 中央经线96° SRS_CGCS2000_3_32 = &GDBSpatialReference{ EPSG: 4520, Name: "CGCS2000 / 3-degree Gauss-Kruger zone 32", Type: SRSTypeProjected, Description: "CGCS2000 3度带 32带 (中央经线96°)", } // 33带 中央经线99° SRS_CGCS2000_3_33 = &GDBSpatialReference{ EPSG: 4521, Name: "CGCS2000 / 3-degree Gauss-Kruger zone 33", Type: SRSTypeProjected, Description: "CGCS2000 3度带 33带 (中央经线99°)", } // 34带 中央经线102° SRS_CGCS2000_3_34 = &GDBSpatialReference{ EPSG: 4522, Name: "CGCS2000 / 3-degree Gauss-Kruger zone 34", Type: SRSTypeProjected, Description: "CGCS2000 3度带 34带 (中央经线102°)", } // 35带 中央经线105° SRS_CGCS2000_3_35 = &GDBSpatialReference{ EPSG: 4523, Name: "CGCS2000 / 3-degree Gauss-Kruger zone 35", Type: SRSTypeProjected, Description: "CGCS2000 3度带 35带 (中央经线105°)", } // 36带 中央经线108° SRS_CGCS2000_3_36 = &GDBSpatialReference{ EPSG: 4524, Name: "CGCS2000 / 3-degree Gauss-Kruger zone 36", Type: SRSTypeProjected, Description: "CGCS2000 3度带 36带 (中央经线108°)", } // 37带 中央经线111° SRS_CGCS2000_3_37 = &GDBSpatialReference{ EPSG: 4525, Name: "CGCS2000 / 3-degree Gauss-Kruger zone 37", Type: SRSTypeProjected, Description: "CGCS2000 3度带 37带 (中央经线111°)", } // 38带 中央经线114° SRS_CGCS2000_3_38 = &GDBSpatialReference{ EPSG: 4526, Name: "CGCS2000 / 3-degree Gauss-Kruger zone 38", Type: SRSTypeProjected, Description: "CGCS2000 3度带 38带 (中央经线114°)", } // 39带 中央经线117° SRS_CGCS2000_3_39 = &GDBSpatialReference{ EPSG: 4527, Name: "CGCS2000 / 3-degree Gauss-Kruger zone 39", Type: SRSTypeProjected, Description: "CGCS2000 3度带 39带 (中央经线117°)", } // 40带 中央经线120° SRS_CGCS2000_3_40 = &GDBSpatialReference{ EPSG: 4528, Name: "CGCS2000 / 3-degree Gauss-Kruger zone 40", Type: SRSTypeProjected, Description: "CGCS2000 3度带 40带 (中央经线120°)", } // 41带 中央经线123° SRS_CGCS2000_3_41 = &GDBSpatialReference{ EPSG: 4529, Name: "CGCS2000 / 3-degree Gauss-Kruger zone 41", Type: SRSTypeProjected, Description: "CGCS2000 3度带 41带 (中央经线123°)", } // 42带 中央经线126° SRS_CGCS2000_3_42 = &GDBSpatialReference{ EPSG: 4530, Name: "CGCS2000 / 3-degree Gauss-Kruger zone 42", Type: SRSTypeProjected, Description: "CGCS2000 3度带 42带 (中央经线126°)", } // 43带 中央经线129° SRS_CGCS2000_3_43 = &GDBSpatialReference{ EPSG: 4531, Name: "CGCS2000 / 3-degree Gauss-Kruger zone 43", Type: SRSTypeProjected, Description: "CGCS2000 3度带 43带 (中央经线129°)", } // 44带 中央经线132° SRS_CGCS2000_3_44 = &GDBSpatialReference{ EPSG: 4532, Name: "CGCS2000 / 3-degree Gauss-Kruger zone 44", Type: SRSTypeProjected, Description: "CGCS2000 3度带 44带 (中央经线132°)", } // 45带 中央经线135° SRS_CGCS2000_3_45 = &GDBSpatialReference{ EPSG: 4533, Name: "CGCS2000 / 3-degree Gauss-Kruger zone 45", Type: SRSTypeProjected, Description: "CGCS2000 3度带 45带 (中央经线135°)", } )
CGCS2000 3度带投影坐标系 (EPSG: 4513-4533) 中央经线从75°到135°,每3度一个带
var ( // 25带 中央经线75° (带带号前缀) SRS_CGCS2000_3_CM_75E = &GDBSpatialReference{ EPSG: 4534, Name: "CGCS2000 / 3-degree Gauss-Kruger CM 75E", Type: SRSTypeProjected, Description: "CGCS2000 3度带 中央经线75° (带带号前缀)", } // 26带 中央经线78° (带带号前缀) SRS_CGCS2000_3_CM_78E = &GDBSpatialReference{ EPSG: 4535, Name: "CGCS2000 / 3-degree Gauss-Kruger CM 78E", Type: SRSTypeProjected, Description: "CGCS2000 3度带 中央经线78° (带带号前缀)", } // 27带 中央经线81° (带带号前缀) SRS_CGCS2000_3_CM_81E = &GDBSpatialReference{ EPSG: 4536, Name: "CGCS2000 / 3-degree Gauss-Kruger CM 81E", Type: SRSTypeProjected, Description: "CGCS2000 3度带 中央经线81° (带带号前缀)", } // 28带 中央经线84° (带带号前缀) SRS_CGCS2000_3_CM_84E = &GDBSpatialReference{ EPSG: 4537, Name: "CGCS2000 / 3-degree Gauss-Kruger CM 84E", Type: SRSTypeProjected, Description: "CGCS2000 3度带 中央经线84° (带带号前缀)", } // 29带 中央经线87° (带带号前缀) SRS_CGCS2000_3_CM_87E = &GDBSpatialReference{ EPSG: 4538, Name: "CGCS2000 / 3-degree Gauss-Kruger CM 87E", Type: SRSTypeProjected, Description: "CGCS2000 3度带 中央经线87° (带带号前缀)", } // 30带 中央经线90° (带带号前缀) SRS_CGCS2000_3_CM_90E = &GDBSpatialReference{ EPSG: 4539, Name: "CGCS2000 / 3-degree Gauss-Kruger CM 90E", Type: SRSTypeProjected, Description: "CGCS2000 3度带 中央经线90° (带带号前缀)", } // 31带 中央经线93° (带带号前缀) SRS_CGCS2000_3_CM_93E = &GDBSpatialReference{ EPSG: 4540, Name: "CGCS2000 / 3-degree Gauss-Kruger CM 93E", Type: SRSTypeProjected, Description: "CGCS2000 3度带 中央经线93° (带带号前缀)", } // 32带 中央经线96° (带带号前缀) SRS_CGCS2000_3_CM_96E = &GDBSpatialReference{ EPSG: 4541, Name: "CGCS2000 / 3-degree Gauss-Kruger CM 96E", Type: SRSTypeProjected, Description: "CGCS2000 3度带 中央经线96° (带带号前缀)", } // 33带 中央经线99° (带带号前缀) SRS_CGCS2000_3_CM_99E = &GDBSpatialReference{ EPSG: 4542, Name: "CGCS2000 / 3-degree Gauss-Kruger CM 99E", Type: SRSTypeProjected, Description: "CGCS2000 3度带 中央经线99° (带带号前缀)", } // 34带 中央经线102° (带带号前缀) SRS_CGCS2000_3_CM_102E = &GDBSpatialReference{ EPSG: 4543, Name: "CGCS2000 / 3-degree Gauss-Kruger CM 102E", Type: SRSTypeProjected, Description: "CGCS2000 3度带 中央经线102° (带带号前缀)", } // 35带 中央经线105° (带带号前缀) SRS_CGCS2000_3_CM_105E = &GDBSpatialReference{ EPSG: 4544, Name: "CGCS2000 / 3-degree Gauss-Kruger CM 105E", Type: SRSTypeProjected, Description: "CGCS2000 3度带 中央经线105° (带带号前缀)", } // 36带 中央经线108° (带带号前缀) SRS_CGCS2000_3_CM_108E = &GDBSpatialReference{ EPSG: 4545, Name: "CGCS2000 / 3-degree Gauss-Kruger CM 108E", Type: SRSTypeProjected, Description: "CGCS2000 3度带 中央经线108° (带带号前缀)", } // 37带 中央经线111° (带带号前缀) SRS_CGCS2000_3_CM_111E = &GDBSpatialReference{ EPSG: 4546, Name: "CGCS2000 / 3-degree Gauss-Kruger CM 111E", Type: SRSTypeProjected, Description: "CGCS2000 3度带 中央经线111° (带带号前缀)", } // 38带 中央经线114° (带带号前缀) SRS_CGCS2000_3_CM_114E = &GDBSpatialReference{ EPSG: 4547, Name: "CGCS2000 / 3-degree Gauss-Kruger CM 114E", Type: SRSTypeProjected, Description: "CGCS2000 3度带 中央经线114° (带带号前缀)", } // 39带 中央经线117° (带带号前缀) SRS_CGCS2000_3_CM_117E = &GDBSpatialReference{ EPSG: 4548, Name: "CGCS2000 / 3-degree Gauss-Kruger CM 117E", Type: SRSTypeProjected, Description: "CGCS2000 3度带 中央经线117° (带带号前缀)", } // 40带 中央经线120° (带带号前缀) SRS_CGCS2000_3_CM_120E = &GDBSpatialReference{ EPSG: 4549, Name: "CGCS2000 / 3-degree Gauss-Kruger CM 120E", Type: SRSTypeProjected, Description: "CGCS2000 3度带 中央经线120° (带带号前缀)", } // 41带 中央经线123° (带带号前缀) SRS_CGCS2000_3_CM_123E = &GDBSpatialReference{ EPSG: 4550, Name: "CGCS2000 / 3-degree Gauss-Kruger CM 123E", Type: SRSTypeProjected, Description: "CGCS2000 3度带 中央经线123° (带带号前缀)", } // 42带 中央经线126° (带带号前缀) SRS_CGCS2000_3_CM_126E = &GDBSpatialReference{ EPSG: 4551, Name: "CGCS2000 / 3-degree Gauss-Kruger CM 126E", Type: SRSTypeProjected, Description: "CGCS2000 3度带 中央经线126° (带带号前缀)", } // 43带 中央经线129° (带带号前缀) SRS_CGCS2000_3_CM_129E = &GDBSpatialReference{ EPSG: 4552, Name: "CGCS2000 / 3-degree Gauss-Kruger CM 129E", Type: SRSTypeProjected, Description: "CGCS2000 3度带 中央经线129° (带带号前缀)", } // 44带 中央经线132° (带带号前缀) SRS_CGCS2000_3_CM_132E = &GDBSpatialReference{ EPSG: 4553, Name: "CGCS2000 / 3-degree Gauss-Kruger CM 132E", Type: SRSTypeProjected, Description: "CGCS2000 3度带 中央经线132° (带带号前缀)", } // 45带 中央经线135° (带带号前缀) SRS_CGCS2000_3_CM_135E = &GDBSpatialReference{ EPSG: 4554, Name: "CGCS2000 / 3-degree Gauss-Kruger CM 135E", Type: SRSTypeProjected, Description: "CGCS2000 3度带 中央经线135° (带带号前缀)", } )
CGCS2000 3度带投影坐标系(带带号前缀)(EPSG: 4534-4554)
var CGCS2000_3DegreeCMMap = map[int]*GDBSpatialReference{ 75: SRS_CGCS2000_3_CM_75E, 78: SRS_CGCS2000_3_CM_78E, 81: SRS_CGCS2000_3_CM_81E, 84: SRS_CGCS2000_3_CM_84E, 87: SRS_CGCS2000_3_CM_87E, 90: SRS_CGCS2000_3_CM_90E, 93: SRS_CGCS2000_3_CM_93E, 96: SRS_CGCS2000_3_CM_96E, 99: SRS_CGCS2000_3_CM_99E, 102: SRS_CGCS2000_3_CM_102E, 105: SRS_CGCS2000_3_CM_105E, 108: SRS_CGCS2000_3_CM_108E, 111: SRS_CGCS2000_3_CM_111E, 114: SRS_CGCS2000_3_CM_114E, 117: SRS_CGCS2000_3_CM_117E, 120: SRS_CGCS2000_3_CM_120E, 123: SRS_CGCS2000_3_CM_123E, 126: SRS_CGCS2000_3_CM_126E, 129: SRS_CGCS2000_3_CM_129E, 132: SRS_CGCS2000_3_CM_132E, 135: SRS_CGCS2000_3_CM_135E, }
CGCS2000_3DegreeCMMap CGCS2000 3度带(带带号前缀)按中央经线映射表
var CGCS2000_3DegreeZoneMap = map[int]*GDBSpatialReference{ 25: SRS_CGCS2000_3_25, 26: SRS_CGCS2000_3_26, 27: SRS_CGCS2000_3_27, 28: SRS_CGCS2000_3_28, 29: SRS_CGCS2000_3_29, 30: SRS_CGCS2000_3_30, 31: SRS_CGCS2000_3_31, 32: SRS_CGCS2000_3_32, 33: SRS_CGCS2000_3_33, 34: SRS_CGCS2000_3_34, 35: SRS_CGCS2000_3_35, 36: SRS_CGCS2000_3_36, 37: SRS_CGCS2000_3_37, 38: SRS_CGCS2000_3_38, 39: SRS_CGCS2000_3_39, 40: SRS_CGCS2000_3_40, 41: SRS_CGCS2000_3_41, 42: SRS_CGCS2000_3_42, 43: SRS_CGCS2000_3_43, 44: SRS_CGCS2000_3_44, 45: SRS_CGCS2000_3_45, }
===================================================== 坐标系辅助函数 ===================================================== CGCS2000_3DegreeZoneMap CGCS2000 3度带映射表
Functions ¶
func AddField ¶ added in v1.3.9
func AddField(gdbPath string, layerName string, fieldDef FieldDefinition) error
AddField 向GDB图层添加字段 gdbPath: GDB文件路径 layerName: 图层名称 fieldDef: 字段定义
func AddGDBItemRelationship ¶ added in v1.4.3
func AddGDBItemRelationship(gdbPath string, originUUID string, destUUID string, relationType string) error
AddGDBItemRelationship 在GDB_ItemRelationships表中添加关系
func BatchConvertBinToGDB ¶
func BatchConvertBinToGDB(rootFolderPath string, outputGDBPath string, includeSubfolders bool) error
BatchConvertBinToGDB 批量转换bin文件到GDB(支持子文件夹)
func BatchCreateFeatureDatasets ¶ added in v1.4.3
func BatchCreateFeatureDatasets(gdbPath string, datasetNames []string, srs *GDBSpatialReference) error
BatchCreateFeatureDatasets 批量创建要素数据集
func BatchDeserializeFromFiles ¶
BatchDeserializeFromFiles 批量从bin文件反序列化图层(修复版本)
func BatchProcessTilesOptimized ¶
func BatchProcessTilesOptimized(layers []*GDALLayer, tiles []*TileInfo, baseOutputDir string, config *TileProcessingConfig) (map[int][]*TileClipResultM, error)
BatchProcessTilesOptimized 批量优化处理多个图层的瓦片
func BatchUpdateGDBMetadata ¶ added in v1.4.3
func BatchUpdateGDBMetadata(gdbPath string, metadataList map[string]*GDBLayerMetadataWrite) error
BatchUpdateGDBMetadata 批量更新多个图层的元数据 gdbPath: GDB文件路径 metadataList: 元数据列表 (图层名 -> 元数据)
func BatchUpdateGDBMetadataFromConfig ¶ added in v1.4.3
func BatchUpdateGDBMetadataFromConfig(gdbPath string, configs []GDBMetadataUpdateConfig) error
BatchUpdateGDBMetadataFromConfig 根据配置批量更新元数据
func BoundaryGeometry ¶ added in v1.3.2
func BoundaryGeometry(geometry C.OGRGeometryH) C.OGRGeometryH
BoundaryGeometry 计算几何体的边界
func BoundingBoxLayerGeometry ¶ added in v1.3.13
func BufferFeature ¶ added in v1.3.2
func BufferFeature(feature C.OGRFeatureH, distance float64, quadSegs int) C.OGRGeometryH
BufferFeature 对单个要素进行缓冲区分析 返回缓冲后的几何体
func BufferGeometry ¶ added in v1.3.2
func BufferGeometry(geometry C.OGRGeometryH, distance float64, quadSegs int) C.OGRGeometryH
BufferGeometry 对几何体进行缓冲区分析
func CentroidGeometry ¶ added in v1.3.2
func CentroidGeometry(geometry C.OGRGeometryH) C.OGRGeometryH
CentroidGeometry 计算几何体的质心
func CloneGeometry ¶ added in v1.3.2
func CloneGeometry(geometry C.OGRGeometryH) C.OGRGeometryH
CloneGeometry 克隆几何体
func CloseRings ¶ added in v1.3.2
func CloseRings(geometry C.OGRGeometryH) C.OGRGeometryH
CloseRings 闭合环
func Contains ¶ added in v1.3.2
func Contains(geom1, geom2 C.OGRGeometryH) bool
Contains 判断geom1是否包含geom2
func ConvertFile ¶
func ConvertFile(sourceFilePath string, targetFilePath string, sourceLayerName string, targetLayerName string, overwrite bool) error
ConvertFile 文件格式转换
func ConvertPostGISToShapefile ¶
将PostGIS数据直接转换为Shapefile
func ConvexHullGeometry ¶ added in v1.3.2
func ConvexHullGeometry(geometry C.OGRGeometryH) C.OGRGeometryH
ConvexHullGeometry 对几何体计算凸包
func CopyAllFeatures ¶ added in v1.3.15
CopyAllFeatures 复制所有要素从源图层到目标图层
func CopyFieldDefinitions ¶ added in v1.3.15
CopyFieldDefinitions 复制字段定义
func CopyLayerToFile ¶
func CopyLayerToFile(sourceLayer *GDALLayer, targetFilePath string, targetLayerName string, overwrite bool) error
CopyLayerToFile 复制图层到文件
func CountValidGeometries ¶ added in v1.3.2
CountValidGeometries 统计图层中有效几何体的数量
func CreateFeatureDataset ¶ added in v1.4.3
func CreateFeatureDataset(gdbPath string, metadata *GDBFeatureDatasetMetadata) error
CreateFeatureDataset 在GDB中创建要素数据集
func CreateFeatureDatasetWithSRS ¶ added in v1.4.3
func CreateFeatureDatasetWithSRS(gdbPath string, datasetName string, srs *GDBSpatialReference) error
CreateFeatureDatasetWithSRS 使用GDBSpatialReference创建要素数据集
func CreateFeatureDatasetWithSRSWrite ¶ added in v1.4.3
func CreateFeatureDatasetWithSRSWrite(gdbPath string, datasetName string, sr *GDBSpatialReferenceWrite) error
CreateFeatureDatasetWithSRSWrite 使用GDBSpatialReferenceWrite创建要素数据集
func CreateLineStringGeometry ¶ added in v1.3.2
func CreateLineStringGeometry(points [][2]float64) C.OGRGeometryH
CreateLineStringGeometry 创建线几何体
func CreatePoint3DGeometry ¶ added in v1.3.2
func CreatePoint3DGeometry(x, y, z float64) C.OGRGeometryH
CreatePoint3DGeometry 创建3D点几何体
func CreatePointGeometry ¶ added in v1.3.2
func CreatePointGeometry(x, y float64) C.OGRGeometryH
CreatePointGeometry 创建点几何体
func CreatePolygonGeometry ¶ added in v1.3.2
func CreatePolygonGeometry(rings [][][2]float64) C.OGRGeometryH
CreatePolygonGeometry 创建多边形几何体
func CreateSpatialReferenceFromEPSG ¶ added in v1.3.2
func CreateSpatialReferenceFromEPSG(epsgCode int) C.OGRSpatialReferenceH
CreateSpatialReferenceFromEPSG 从EPSG代码创建空间参考
func CreateSpatialReferenceFromProj4 ¶ added in v1.3.2
func CreateSpatialReferenceFromProj4(proj4 string) C.OGRSpatialReferenceH
CreateSpatialReferenceFromProj4 从Proj4字符串创建空间参考
func CreateSpatialReferenceFromWKT ¶ added in v1.3.2
func CreateSpatialReferenceFromWKT(wkt string) C.OGRSpatialReferenceH
CreateSpatialReferenceFromWKT 从WKT创建空间参考
func DecodeTerrainRGB ¶ added in v1.3.17
DecodeTerrainRGB 解码Terrain-RGB值为高程(辅助函数,用于验证)
func DeleteFeatureByObjectID ¶ added in v1.3.6
DeleteFeatureByObjectID 删除GDB图层中指定ObjectID的要素 gdbPath: GDB文件路径 layerName: 图层名称 objectID: 要删除的ObjectID
func DeleteFeatureDataset ¶ added in v1.4.3
DeleteFeatureDataset 删除要素数据集 注意:这只会删除GDB_Items中的记录,不会删除数据集中的要素类
func DeleteFeaturesByFilter ¶ added in v1.3.6
DeleteFeaturesByFilter 根据SQL过滤条件删除多个要素 gdbPath: GDB文件路径 layerName: 图层名称 whereClause: SQL WHERE条件,如 "OBJECTID = 0" 或 "OBJECTID IN (0, 1, 2)"
func DeleteField ¶ added in v1.3.9
DeleteField 从GDB图层删除字段 gdbPath: GDB文件路径 layerName: 图层名称 fieldName: 要删除的字段名称
func DeleteLayer ¶ added in v1.4.9
DeleteLayer 删除GDB文件中的指定图层 gdbPath: GDB文件路径 layerName: 要删除的图层名称
func DeleteLayerByIndex ¶ added in v1.4.9
DeleteLayerByIndex 通过索引删除GDB文件中的图层 gdbPath: GDB文件路径 layerIndex: 图层索引(从0开始)
func DeleteMultipleLayers ¶ added in v1.4.9
DeleteMultipleLayers 批量删除GDB文件中的多个图层 gdbPath: GDB文件路径 layerNames: 要删除的图层名称列表 continueOnError: 遇到错误是否继续删除其他图层
func DeleteShapeFeatureByFID ¶ added in v1.3.6
DeleteShapeFeatureByFID 删除Shapefile图层中指定FID的要素 shpPath: Shapefile文件路径(.shp文件) fid: 要删除的要素ID
func DeleteShapeFeaturesByFilter ¶ added in v1.3.6
DeleteShapeFeaturesByFilter 根据SQL过滤条件删除Shapefile中的多个要素 shpPath: Shapefile文件路径 whereClause: SQL WHERE条件,如 "ID > 100" 或 "NAME = 'test'"
func DestroyGeometry ¶ added in v1.3.2
func DestroyGeometry(geometry C.OGRGeometryH)
DestroyGeometry 销毁几何体
func DestroySpatialReference ¶ added in v1.3.2
func DestroySpatialReference(srs C.OGRSpatialReferenceH)
DestroySpatialReference 销毁空间参考
func DifferenceGeometry ¶ added in v1.3.2
func DifferenceGeometry(geom1, geom2 C.OGRGeometryH) C.OGRGeometryH
DifferenceGeometry 计算两个几何体的差集
func Disjoint ¶ added in v1.3.2
func Disjoint(geom1, geom2 C.OGRGeometryH) bool
Disjoint 判断两个几何体是否不相交
func Distance ¶ added in v1.3.2
func Distance(geom1, geom2 C.OGRGeometryH) float64
Distance 计算两个几何体之间的距离
func EncodeTerrainRGB ¶ added in v1.3.17
EncodeTerrainRGB 编码高程为Terrain-RGB值(辅助函数)
func EnsureFeatureDatasetExists ¶ added in v1.4.3
func EnsureFeatureDatasetExists(gdbPath string, datasetName string, srs *GDBSpatialReference) error
EnsureFeatureDatasetExists 确保要素数据集存在,如果不存在则创建
func EnsureObjectIDField ¶ added in v1.3.7
EnsureObjectIDField 确保shp文件包含objectid字段(不区分大小写) 如果不存在,则创建该字段并填充唯一值 shpPath: Shapefile文件路径 返回: 是否创建了新字段, error
func FeatureDatasetExists ¶ added in v1.4.3
FeatureDatasetExists 检查要素数据集是否存在
func GenerateTiles ¶
func GeometryFromWKT ¶ added in v1.3.2
func GeometryFromWKT(wkt string) C.OGRGeometryH
GeometryFromWKT 从WKT格式创建几何体
func GeometryToGeoJSON ¶ added in v1.3.2
func GeometryToGeoJSON(geometry C.OGRGeometryH) string
GeometryToGeoJSON 将几何体转换为GeoJSON格式
func GeometryToWKT ¶ added in v1.3.2
func GeometryToWKT(geometry C.OGRGeometryH) string
GeometryToWKT 将几何体转换为WKT格式
func GetAllSupportedTypeMappings ¶ added in v1.4.14
func GetAllSupportedTypeMappings() []map[string]interface{}
GetAllSupportedTypeMappings 获取所有支持的类型映射
func GetCoordinateDimension ¶ added in v1.3.2
func GetCoordinateDimension(geometry C.OGRGeometryH) int
GetCoordinateDimension 获取坐标维度
func GetDimension ¶ added in v1.3.2
func GetDimension(geometry C.OGRGeometryH) int
GetDimension 获取几何体维度
func GetEnvelope ¶ added in v1.3.2
func GetEnvelope(geometry C.OGRGeometryH) (minX, minY, maxX, maxY float64, err error)
GetEnvelope 获取几何体的外接矩形
func GetGDALLayerInfo ¶
GetGDALLayerInfo 获取GDALLayer的基本信息
func GetGDBItemUUID ¶ added in v1.4.3
GetGDBItemUUID 获取GDB_Items表中指定项目的UUID
func GetGDBRootUUID ¶ added in v1.4.3
GetGDBRootUUID 获取GDB根目录的UUID
func GetGeometryName ¶ added in v1.3.2
func GetGeometryName(geometry C.OGRGeometryH) string
GetGeometryName 获取几何体名称
func GetGeometryType ¶ added in v1.3.2
func GetGeometryType(geometry C.OGRGeometryH) string
GetGeometryType 获取几何体类型名称
func GetGeometryTypeFromWKBData ¶
GetGeometryTypeFromWKBData 从WKB数据中提取几何类型 wkbData: WKB二进制数据 返回几何类型代码
func GetLayerExtent ¶ added in v1.3.2
GetLayerExtent 获取图层范围
func GetLayerNames ¶ added in v1.4.9
GetLayerNames 获取GDB文件中所有图层的名称 gdbPath: GDB文件路径
func GetLayersInFeatureDataset ¶ added in v1.4.3
GetLayersInFeatureDataset 获取要素数据集中的所有图层
func GetNextDSID ¶ added in v1.4.3
GetNextDSID 获取下一个可用的DSID
func GetPointCount ¶ added in v1.3.2
func GetPointCount(geometry C.OGRGeometryH) int
GetPointCount 获取几何体点数
func GetSHPEPSGCode ¶ added in v1.4.8
GetSHPEPSGCode 读取SHP文件的投影信息并返回EPSG代码 shpPath: SHP文件路径 返回: EPSG代码(如果无法识别则返回0), 错误信息
func GetWKTFromEPSG ¶ added in v1.4.3
GetWKTFromEPSG 从EPSG代码获取WKT字符串
func InsertLayerToGDB ¶ added in v1.3.6
func InsertLayerToGDB(sourceLayer *GDALLayer, gdbPath string, targetLayerName string, options *InsertOptions) error
InsertLayerToGDB 将GDALLayer插入到GDB文件的对应图层中,并进行坐标转换 sourceLayer: 源图层(4326坐标系) gdbPath: 目标GDB文件路径 targetLayerName: 目标图层名称 options: 插入选项(可选)
func InsertLayerToShapefile ¶ added in v1.3.6
func InsertLayerToShapefile(sourceLayer *GDALLayer, shpPath string, options *InsertOptions) error
InsertLayerToShapefile 将GDALLayer插入到Shapefile中,并进行坐标转换 sourceLayer: 源图层(4326坐标系) shpPath: 目标Shapefile文件路径 options: 插入选项(可选)
func IntersectionGeometry ¶ added in v1.3.2
func IntersectionGeometry(geom1, geom2 C.OGRGeometryH) C.OGRGeometryH
IntersectionGeometry 计算两个几何体的交集
func Intersects ¶ added in v1.3.2
func Intersects(geom1, geom2 C.OGRGeometryH) bool
Intersects 判断两个几何体是否相交
func LatLonToWebMercator ¶ added in v1.2.11
LatLonToWebMercator 经纬度转Web墨卡托(符合Mapbox规范)
func LayerExists ¶ added in v1.4.9
LayerExists 检查GDB文件中是否存在指定图层 gdbPath: GDB文件路径 layerName: 图层名称
func LayerToGeoJSON ¶ added in v1.3.11
func LayerToGeoJSON(gdal *GDALLayer) (*geojson.FeatureCollection, error)
func LayerToGeoJSONWithTransform ¶ added in v1.3.4
func LayerToGeoJSONWithTransform(hLayer C.OGRLayerH, hTargetSRS C.OGRSpatialReferenceH) (*geojson.FeatureCollection, error)
func ListFeatureDatasets ¶ added in v1.4.3
ListFeatureDatasets 列出GDB中的所有要素数据集
func LonLatToTile ¶ added in v1.2.13
LonLatToTile 经纬度转瓦片坐标(符合Mapbox规范)
func MakeValidFeature ¶ added in v1.3.2
func MakeValidFeature(feature C.OGRFeatureH) C.OGRGeometryH
MakeValidFeature 对单个要素进行几何修复
func MakeValidGeometry ¶ added in v1.3.2
func MakeValidGeometry(geometry C.OGRGeometryH) C.OGRGeometryH
MakeValidGeometry 对几何体进行修复
func MoveLayerToFeatureDataset ¶ added in v1.4.3
func MoveLayerToFeatureDataset(gdbPath string, layerName string, datasetName string, srs *GDBSpatialReference) error
MoveLayerToFeatureDataset 将图层移动到指定的要素数据集
func Overlaps ¶ added in v1.3.2
func Overlaps(geom1, geom2 C.OGRGeometryH) bool
Overlaps 判断两个几何体是否重叠
func PackShapefile ¶ added in v1.3.6
PackShapefile 压缩Shapefile以回收删除要素后的空间 shpPath: Shapefile文件路径 注意:此操作会重建Shapefile,FID可能会改变
func PrintAllFeatureDatasets ¶ added in v1.4.3
PrintAllFeatureDatasets 打印GDB中所有要素数据集
func PrintFeatureDatasetInfo ¶ added in v1.4.3
PrintFeatureDatasetInfo 打印要素数据集信息
func ProcessBinFolderToGDB ¶
ProcessBinFolderToGDB 处理bin文件夹并转换为GDB的便捷函数
func QuickCreateFeatureDataset ¶ added in v1.4.3
QuickCreateFeatureDataset 快速创建要素数据集(使用CGCS2000坐标系)
func QuickCreateFeatureDatasetWithEPSG ¶ added in v1.4.3
QuickCreateFeatureDatasetWithEPSG 使用EPSG代码快速创建要素数据集
func ReadBinFilesAndConvertToGDB ¶
ReadBinFilesAndConvertToGDB 读取文件夹内所有bin文件并转换为GDB
func ReadTerrainTileDirect ¶ added in v1.4.16
func ReadTerrainTileDirect(imagePath string, z, x, y, tileSize int, encoding string) ([]byte, error)
ReadTerrainTileDirect 直接读取地形瓦片
func ReadTileDirect ¶ added in v1.4.16
ReadTileDirect 直接读取瓦片(一次性使用,每次打开关闭数据集) 适用于低频请求场景
func RemoveDuplicatePoints ¶ added in v1.3.2
func RemoveDuplicatePoints(geometry C.OGRGeometryH, tolerance float64) C.OGRGeometryH
RemoveDuplicatePoints 移除重复点
func RemoveGDBItemRelationship ¶ added in v1.4.3
RemoveGDBItemRelationship 删除指定目标项的所有父级关系
func RemoveLinePolygonBoundaryOverlapAndReturnLongest ¶ added in v1.3.10
func RemoveLinePolygonBoundaryOverlapAndReturnLongest(lineFeature C.OGRFeatureH, polygonFeature C.OGRFeatureH, tolerance float64) C.OGRGeometryH
RemoveLinePolygonBoundaryOverlapAndReturnLongest 移除线要素与面要素边界的重叠部分,返回最长的线段 lineFeature: 输入的线要素 polygonFeature: 输入的面要素 返回:处理后最长的线几何体
func RemoveLinePolygonBoundaryOverlapFromGeoJSON ¶ added in v1.3.10
func RemoveLinePolygonBoundaryOverlapFromGeoJSON(lineFeature, polygonFeature *geojson.Feature, tolerance float64) (*geojson.Feature, error)
RemoveLinePolygonBoundaryOverlapFromGeoJSON 使用geojson feature处理线与面的边界重叠 lineFeature: 输入的线geojson要素 polygonFeature: 输入的面geojson要素 返回:处理后最长线段的geojson要素
func RemoveLinePolygonBoundaryOverlapGeometryAndReturnLongest ¶ added in v1.3.10
func RemoveLinePolygonBoundaryOverlapGeometryAndReturnLongest(lineGeom C.OGRGeometryH, polygonGeom C.OGRGeometryH, tolerance float64) C.OGRGeometryH
RemoveLinePolygonBoundaryOverlapGeometryAndReturnLongest 移除线几何体与面几何体边界的重叠部分,返回最长的线段 lineGeom: 输入的线几何体 polygonGeom: 输入的面几何体 返回:处理后最长的线几何体
func SaveGDALLayerToPG ¶
func SaveGDALLayerToPG(DB *gorm.DB, gdalLayer *GDALLayer, tableName string, schema string, srid int) error
SaveGDALLayerToPG 将GDALLayer保存到PostgreSQL数据库
func SaveGDALLayerToPGBatch ¶
func SaveGDALLayerToPGBatch(DB *gorm.DB, gdalLayer *GDALLayer, tableName string, schema string, srid int, batchSize int) error
SaveGDALLayerToPGBatch 批量保存GDALLayer到PostgreSQL(优化版本)
func SaveGDBDefinitionsToFile ¶ added in v1.4.3
SaveGDBDefinitionsToFile 读取GDB_Items表中的Definition字段并保存到本地txt文件 gdbPath: GDB文件路径 outputPath: 输出文件路径(如果为空,则在GDB同级目录生成) 返回: 保存的文件路径和错误信息
func SegmentizeGeometry ¶ added in v1.3.2
func SegmentizeGeometry(geometry C.OGRGeometryH, maxLength float64) C.OGRGeometryH
SegmentizeGeometry 将几何体分段
func SimplifyFeature ¶ added in v1.3.2
func SimplifyFeature(feature C.OGRFeatureH, tolerance float64, preserveTopology bool) C.OGRGeometryH
SimplifyFeature 对单个要素进行简化
func SimplifyGeometry ¶ added in v1.3.2
func SimplifyGeometry(geometry C.OGRGeometryH, tolerance float64, preserveTopology bool) C.OGRGeometryH
SimplifyGeometry 对几何体进行简化
func SymDifferenceGeometry ¶ added in v1.3.2
func SymDifferenceGeometry(geom1, geom2 C.OGRGeometryH) C.OGRGeometryH
SymDifferenceGeometry 计算两个几何体的对称差集
func TileToWebMercatorBounds ¶ added in v1.2.13
TileToWebMercatorBounds 瓦片坐标转Web墨卡托边界
func TransformGeometry ¶ added in v1.3.2
func TransformGeometry(geometry C.OGRGeometryH, sourceSRS, targetSRS C.OGRSpatialReferenceH) C.OGRGeometryH
TransformGeometry 对几何体进行坐标转换
func UnionGeometry ¶ added in v1.3.2
func UnionGeometry(geom1, geom2 C.OGRGeometryH) C.OGRGeometryH
UnionGeometry 合并两个几何体
func UpdateGDBFieldAliases ¶ added in v1.4.3
UpdateGDBFieldAliases 批量更新字段别名 gdbPath: GDB文件路径 layerName: 图层名称 fieldAliases: 字段别名映射 (字段名 -> 别名)
func UpdateGDBItemRelationship ¶ added in v1.4.3
UpdateGDBItemRelationship 更新要素类的父级关系 将要素类从当前位置移动到指定的数据集中
func UpdateGDBLayerAlias ¶ added in v1.4.3
UpdateGDBLayerAlias 更新图层别名 gdbPath: GDB文件路径 layerName: 图层名称 aliasName: 新的别名
func UpdateGDBLayerAndFieldAliases ¶ added in v1.4.3
func UpdateGDBLayerAndFieldAliases(gdbPath string, layerName string, layerAlias string, fieldAliases map[string]string) error
UpdateGDBLayerAndFieldAliases 同时更新图层别名和字段别名 gdbPath: GDB文件路径 layerName: 图层名称 layerAlias: 图层别名 fieldAliases: 字段别名映射 (字段名 -> 别名)
func ValidateBinaryFormat ¶
ValidateBinaryFormat 验证二进制文件格式是否正确(修复版本)
func WebMercatorToLatLon ¶ added in v1.2.11
WebMercatorToLatLon Web墨卡托转经纬度(符合Mapbox规范)
func WriteDXFLayer ¶ added in v1.3.0
WriteDXFLayer 直接写入DXF图层
func WriteGDBLayer ¶
WriteGDBLayer 直接写入GDB图层
func WriteGDBLayerMetadata ¶ added in v1.4.3
func WriteGDBLayerMetadata(gdbPath string, layerName string, metadata *GDBLayerMetadataWrite) error
func WriteGeoJSONLayer ¶ added in v1.3.0
func WriteGeoJSONLayer(sourceLayer *GDALLayer, filePath string, layerName string, overwrite bool) error
WriteGeoJSONLayer 直接写入GeoJSON图层
func WriteGeospatialFile ¶
func WriteGeospatialFile(sourceLayer *GDALLayer, filePath string, layerName string, overwrite bool) error
WriteGeospatialFile 通用写入地理空间文件
func WriteKMLLayer ¶ added in v1.3.0
WriteKMLLayer 直接写入KML图层
func WriteKMZLayer ¶ added in v1.3.0
WriteKMZLayer 直接写入KMZ图层
Types ¶
type AreaOfInterest ¶ added in v1.4.3
type AreaOfInterest struct {
WestLongitude float64
SouthLatitude float64
EastLongitude float64
NorthLatitude float64
}
AreaOfInterest 感兴趣区域
type BorderFeatureInfo ¶
type BorderFeatureInfo struct {
Feature C.OGRFeatureH
TileIndices []int // 该要素出现在哪些分块中
GeometryWKT string // 几何体的WKT表示,用于去重比较
}
BorderFeatureInfo 边界要素信息
type ClipOptions ¶ added in v1.3.0
type ClipOptions struct {
OutputDir string // 输出目录
NameField string // 名称字段(默认 "NAME")
JPEGQuality int // JPEG质量 (1-100,默认85)
TileSize int // 输出瓦片大小(像素,0表示原始分辨率)
BufferDist float64 // 缓冲距离(单位:米,0表示不缓冲)
OverwriteExisting bool // 是否覆盖已存在的文件
ImageFormat string
}
ClipOptions 裁剪选项
type ClipResult ¶ added in v1.3.0
type ClipResult struct {
Name string
OutputPath string
Bounds [4]float64 // minX, minY, maxX, maxY
Width int
Height int
Error error
}
ClipResult 裁剪结果
type ClipResultByte ¶ added in v1.3.0
type ClipResultByte struct {
Name string
ImageData []byte // 图片二进制数据
Bounds [4]float64 // minX, minY, maxX, maxY
Width int
Height int
Error error
}
ClipResultByte 裁剪结果(二进制数据版本)
type DEFeatureClassInfo ¶ added in v1.4.2
type DEFeatureClassInfo struct {
XMLName xml.Name `xml:"DEFeatureClassInfo"`
CatalogPath string `xml:"CatalogPath"`
Name string `xml:"Name"`
DatasetType string `xml:"DatasetType"`
DSID string `xml:"DSID"`
HasOID string `xml:"HasOID"`
OIDFieldName string `xml:"OIDFieldName"`
AliasName string `xml:"AliasName"`
HasGlobalID string `xml:"HasGlobalID"`
GlobalIDFieldName string `xml:"GlobalIDFieldName"`
FeatureType string `xml:"FeatureType"`
ShapeType string `xml:"ShapeType"`
ShapeFieldName string `xml:"ShapeFieldName"`
HasM string `xml:"HasM"`
HasZ string `xml:"HasZ"`
HasSpatialIndex string `xml:"HasSpatialIndex"`
GPFieldInfoExs GPFieldInfoExs `xml:"GPFieldInfoExs"`
SpatialReference *SpatialReferenceXML `xml:"SpatialReference"` // 新增:空间参考
}
DEFeatureClassInfo XML解析结构 - 用于解析definition字段
type DatasetInfo ¶ added in v1.2.11
type DatasetInfo struct {
Width int
Height int
BandCount int
GeoTransform [6]float64
Projection string
HasGeoInfo bool
}
DatasetInfo 数据集信息
type DeserializeResult ¶
DeserializeResult 反序列化结果
func DeserializeLayerFromBinary ¶
func DeserializeLayerFromBinary(data []byte) (*DeserializeResult, error)
DeserializeLayerFromBinary 从二进制数据反序列化图层(修复版本)
type DonutBuilderOptions ¶ added in v1.3.3
type DonutBuilderOptions struct {
// MinAreaRatio 最小面积比例,小于此比例的洞将被忽略(相对于外部多边形)
MinAreaRatio float64
// MaxHoleCount 单个多边形最大洞数量,0表示无限制
MaxHoleCount int
// SimplifyTolerance 简化容差,0表示不简化
SimplifyTolerance float64
// MergeThreshold 合并阈值,距离小于此值的多边形将被合并
MergeThreshold float64
}
DonutBuilderOptions 环岛构建选项
type FastTileServer ¶ added in v1.4.16
type FastTileServer struct {
// contains filtered or unexported fields
}
FastTileServer 高性能瓦片服务器(使用内存缓存)
func NewFastTileServer ¶ added in v1.4.16
func NewFastTileServer(imagePath string, options *FastTileServerOptions) (*FastTileServer, error)
NewFastTileServer 创建高性能瓦片服务器
func (*FastTileServer) ClearCache ¶ added in v1.4.16
func (fs *FastTileServer) ClearCache()
ClearCache 清空缓存
func (*FastTileServer) GetBounds ¶ added in v1.4.16
func (fs *FastTileServer) GetBounds() (minLon, minLat, maxLon, maxLat float64)
GetBounds 获取边界
func (*FastTileServer) GetTile ¶ added in v1.4.16
func (fs *FastTileServer) GetTile(z, x, y int) ([]byte, error)
GetTile 获取瓦片(带缓存)
func (*FastTileServer) GetTileNoCache ¶ added in v1.4.16
func (fs *FastTileServer) GetTileNoCache(z, x, y int) ([]byte, error)
GetTileNoCache 获取瓦片(不使用缓存,最快)
type FastTileServerOptions ¶ added in v1.4.16
FastTileServerOptions 高性能服务器选项
type FeatureAnalysisResult ¶
FeatureAnalysisResult 要素分析结果
type FeatureData ¶
FeatureData 要素数据
type FeatureGroup ¶
type FeatureGroup struct {
GroupKey string // 分组键(由多个字段值组成)
Features []C.OGRFeatureH // 该组的所有要素
Fields map[string]string // 分组字段的值
}
FeatureGroup 要素分组
type FieldAnalysisResult ¶
FieldAnalysisResult 字段分析结果
type FieldDefinition ¶ added in v1.3.9
type FieldDefinition struct {
Name string // 字段名称
Type FieldType // 字段类型
Width int // 字段宽度
Precision int // 精度(用于数值类型)
Nullable bool // 是否允许NULL
Default interface{} // 默认值
}
FieldDefinition 字段定义结构
type FieldMapping ¶ added in v1.3.6
FieldMapping 字段映射结构
type FieldMergeStrategy ¶
type FieldMergeStrategy int
FieldMergeStrategy 字段合并策略枚举
const ( // UseTable1Fields 只使用第一个表的字段 UseTable1Fields FieldMergeStrategy = iota // UseTable2Fields 只使用第二个表的字段 UseTable2Fields // MergePreferTable1 合并字段,冲突时优先使用table1 MergePreferTable1 // MergePreferTable2 合并字段,冲突时优先使用table2 MergePreferTable2 // MergeWithPrefix 合并字段,使用前缀区分来源 MergeWithPrefix )
func (FieldMergeStrategy) String ¶
func (s FieldMergeStrategy) String() string
type FieldType ¶ added in v1.3.9
type FieldType int
FieldType 字段类型枚举
const ( FieldTypeInteger FieldType = C.OFTInteger FieldTypeInteger64 FieldType = C.OFTInteger64 FieldTypeReal FieldType = C.OFTReal FieldTypeString FieldType = C.OFTString FieldTypeDate FieldType = C.OFTDate FieldTypeTime FieldType = C.OFTTime FieldTypeDateTime FieldType = C.OFTDateTime FieldTypeBinary FieldType = C.OFTBinary )
type FieldTypeCompatibility ¶ added in v1.4.14
type FieldTypeCompatibility struct {
IsCompatible bool // 是否兼容
SourceType string // 源类型
TargetType string // 目标类型
ConversionNotes string // 转换说明
DataLossRisk bool // 是否有数据丢失风险
}
FieldTypeCompatibility 字段类型兼容性检查结果
func CheckFieldTypeCompatibility ¶ added in v1.4.14
func CheckFieldTypeCompatibility(pgType string) FieldTypeCompatibility
CheckFieldTypeCompatibility 检查字段类型在PostgreSQL和GDB之间的兼容性
type FieldValue ¶ added in v1.3.9
type FieldValue struct {
Values map[string]interface{} // 字段名 -> 值
}
FieldValue 字段值结构
type FieldsInfo ¶
type FieldsInfo struct {
Name string
Type C.OGRFieldType
FromTable string // 标记字段来源表
}
FieldsInfo 字段信息结构
type FileGeoReader ¶
FileGeoReader 文件地理数据读取器
func MakeGDBReader ¶
func MakeGDBReader(filePath string) (*FileGeoReader, error)
MakeGDBReader 创建GDB读取器
func MakeShapeFileReader ¶
func MakeShapeFileReader(filePath string) (*FileGeoReader, error)
MakeShapeFileReader 创建Shapefile读取器
func NewFileGeoReader ¶
func NewFileGeoReader(filePath string) (*FileGeoReader, error)
NewFileGeoReader 创建新的文件地理数据读取器
func (*FileGeoReader) GetLayerInfo ¶
func (r *FileGeoReader) GetLayerInfo(layerName ...string) (map[string]interface{}, error)
GetLayerInfo 获取图层信息
func (*FileGeoReader) ListLayers ¶
func (r *FileGeoReader) ListLayers() ([]string, error)
ListLayers 列出所有图层
func (*FileGeoReader) ReadDXFFile ¶ added in v1.3.0
func (r *FileGeoReader) ReadDXFFile(layerName ...string) (*GDALLayer, error)
ReadDXFFile 读取DXF文件
func (*FileGeoReader) ReadGDBFile ¶
func (r *FileGeoReader) ReadGDBFile(layerName ...string) (*GDALLayer, error)
ReadGDBFile 读取GDB文件
func (*FileGeoReader) ReadGeoJSONFile ¶ added in v1.3.0
func (r *FileGeoReader) ReadGeoJSONFile(layerName ...string) (*GDALLayer, error)
ReadGeoJSONFile 读取GeoJSON文件
func (*FileGeoReader) ReadKMLFile ¶ added in v1.3.0
func (r *FileGeoReader) ReadKMLFile(layerName ...string) (*GDALLayer, error)
ReadKMLFile 读取KML文件
func (*FileGeoReader) ReadKMZFile ¶ added in v1.3.0
func (r *FileGeoReader) ReadKMZFile(layerName ...string) (*GDALLayer, error)
ReadKMZFile 读取KMZ文件(压缩的KML)
func (*FileGeoReader) ReadLayer ¶
func (r *FileGeoReader) ReadLayer(layerName ...string) (*GDALLayer, error)
ReadLayer 通用读取图层方法
func (*FileGeoReader) ReadShapeFile ¶
func (r *FileGeoReader) ReadShapeFile(layerName ...string) (*GDALLayer, error)
ReadShapeFile 读取Shapefile
type FileGeoWriter ¶
type FileGeoWriter struct {
FilePath string
FileType string // "shp", "gdb"
Overwrite bool // 是否覆盖已存在的文件
}
FileGeoWriter 文件地理数据写入器
func NewFileGeoWriter ¶
func NewFileGeoWriter(filePath string, overwrite bool) (*FileGeoWriter, error)
NewFileGeoWriter 创建新的文件地理数据写入器
func (*FileGeoWriter) WriteDXFFile ¶ added in v1.3.0
func (w *FileGeoWriter) WriteDXFFile(sourceLayer *GDALLayer, layerName string) error
WriteDXFFile 写入DXF文件
func (*FileGeoWriter) WriteGDBFile ¶
func (w *FileGeoWriter) WriteGDBFile(sourceLayer *GDALLayer, layerName string) error
WriteGDBFile 写入GDB文件
func (*FileGeoWriter) WriteGeoJSONFile ¶ added in v1.3.0
func (w *FileGeoWriter) WriteGeoJSONFile(sourceLayer *GDALLayer, layerName string) error
WriteGeoJSONFile 写入GeoJSON文件
func (*FileGeoWriter) WriteKMLFile ¶ added in v1.3.0
func (w *FileGeoWriter) WriteKMLFile(sourceLayer *GDALLayer, layerName string) error
WriteKMLFile 写入KML文件
func (*FileGeoWriter) WriteKMZFile ¶ added in v1.3.0
func (w *FileGeoWriter) WriteKMZFile(sourceLayer *GDALLayer, layerName string) error
WriteKMZFile 写入KMZ文件(压缩的KML)
func (*FileGeoWriter) WriteLayer ¶
func (w *FileGeoWriter) WriteLayer(sourceLayer *GDALLayer, layerName string) error
WriteLayer 通用写入图层方法
func (*FileGeoWriter) WriteShapeFile ¶
func (w *FileGeoWriter) WriteShapeFile(sourceLayer *GDALLayer, layerName string) error
WriteShapeFile 写入Shapefile
type GDALFeature ¶ added in v1.3.14
type GDALFeature struct {
Feature C.OGRFeatureH
}
GDALFeature 要素包装结构
func WrapFeature ¶ added in v1.3.15
func WrapFeature(Feature C.OGRFeatureH) *GDALFeature
WrapFeature 将C类型要素包装为Go类型
func (*GDALFeature) GetFeature ¶ added in v1.3.15
func (f *GDALFeature) GetFeature() C.OGRFeatureH
GetFeature 获取底层C句柄(用于需要直接操作C类型的场景)
func (*GDALFeature) GetFieldAsDouble ¶ added in v1.3.15
func (f *GDALFeature) GetFieldAsDouble(fieldName string) float64
GetFieldAsDouble 获取浮点字段值
func (*GDALFeature) GetFieldAsInteger ¶ added in v1.3.15
func (f *GDALFeature) GetFieldAsInteger(fieldName string) int
GetFieldAsInteger 获取整数字段值
func (*GDALFeature) GetFieldAsString ¶ added in v1.3.15
func (f *GDALFeature) GetFieldAsString(fieldName string) string
GetFieldAsString 获取字符串字段值
func (*GDALFeature) GetFieldAsStringByIndex ¶ added in v1.3.15
func (f *GDALFeature) GetFieldAsStringByIndex(index int) string
GetFieldAsStringByIndex 通过索引获取字符串字段值
func (*GDALFeature) GetFieldCount ¶ added in v1.3.15
func (f *GDALFeature) GetFieldCount() int
GetFieldCount 获取字段数量
func (*GDALFeature) GetFieldIndex ¶ added in v1.3.15
func (f *GDALFeature) GetFieldIndex(fieldName string) int
GetFieldIndex 获取字段索引
func (*GDALFeature) GetGeometry ¶ added in v1.3.14
func (f *GDALFeature) GetGeometry() C.OGRGeometryH
GetGeometry 获取几何对象
func (*GDALFeature) GetGeometryCopy ¶ added in v1.3.15
func (f *GDALFeature) GetGeometryCopy() C.OGRGeometryH
GetGeometryCopy 获取几何对象的副本(调用者需要负责释放)
func (*GDALFeature) IsValid ¶ added in v1.3.15
func (f *GDALFeature) IsValid() bool
IsValid 检查要素是否有效
func (*GDALFeature) SetFieldDouble ¶ added in v1.3.15
func (f *GDALFeature) SetFieldDouble(fieldName string, value float64) error
SetFieldDouble 设置浮点字段值
func (*GDALFeature) SetFieldInteger ¶ added in v1.3.15
func (f *GDALFeature) SetFieldInteger(fieldName string, value int) error
SetFieldInteger 设置整数字段值
func (*GDALFeature) SetFieldString ¶ added in v1.3.14
func (f *GDALFeature) SetFieldString(fieldName, value string) error
SetFieldString 设置字符串字段值
func (*GDALFeature) SetFieldStringByIndex ¶ added in v1.3.15
func (f *GDALFeature) SetFieldStringByIndex(index int, value string)
SetFieldStringByIndex 通过索引设置字符串字段值
func (*GDALFeature) SetGeometry ¶ added in v1.3.14
func (f *GDALFeature) SetGeometry(geom C.OGRGeometryH) error
SetGeometry 设置几何对象
func (*GDALFeature) SetGeometryDirectly ¶ added in v1.3.15
func (f *GDALFeature) SetGeometryDirectly(geom C.OGRGeometryH) error
SetGeometryDirectly 设置几何对象(转移所有权,不复制)
type GDALLayer ¶
type GDALLayer struct {
// contains filtered or unexported fields
}
func AreaOnAreaAnalysis ¶ added in v1.3.12
func BatchBuffer ¶ added in v1.3.2
BatchBuffer 批量缓冲区分析(支持不同的缓冲距离)
func BoundaryLayer ¶ added in v1.3.2
BoundaryLayer 计算图层中每个要素的边界
func BufferLayer ¶ added in v1.3.2
BufferLayer 对整个图层进行缓冲区分析 distance: 缓冲距离(单位与数据坐标系一致) quadSegs: 圆弧的四分之一段数,默认30,值越大越平滑
func BufferLayerAuto ¶ added in v1.3.2
BufferLayerAuto 根据图形的面积和周长自动计算缓冲距离并创建缓冲区 对于带环岛的面要素,只缓冲外环,内环保持不变
func CentroidLayer ¶ added in v1.3.2
CentroidLayer 计算图层中每个要素的质心
func ConvertGeoJSONToGDALLayer ¶ added in v1.3.0
func ConvertGeoJSONToGDALLayer(fc *geojson.FeatureCollection, layerName string) (*GDALLayer, error)
func ConvexHullLayer ¶ added in v1.3.2
ConvexHullLayer 对整个图层计算凸包
func CreateMemoryLayer ¶ added in v1.3.14
CreateMemoryLayer 创建内存图层
func DeserializeLayerFromFile ¶
DeserializeLayerFromFile 从bin文件反序列化图层(修复版本)
func DifferenceLayer ¶ added in v1.3.2
DifferenceLayer 计算两个图层的差集(layer1 - layer2)
func DissolveLayer ¶ added in v1.3.2
DissolveLayer 融合图层(按字段融合)
func DonutBuilder ¶ added in v1.3.3
func DonutBuilderWithOptions ¶ added in v1.3.3
func DonutBuilderWithOptions(sourceLayer *GDALLayer, options *DonutBuilderOptions) (*GDALLayer, error)
DonutBuilderWithOptions 带选项的环岛构建函数
func FilterByExtent ¶ added in v1.3.2
FilterByExtent 按范围过滤图层
func FilterByGeometry ¶ added in v1.3.2
func FilterByGeometry(sourceLayer *GDALLayer, filterGeom C.OGRGeometryH) (*GDALLayer, error)
FilterByGeometry 按几何体过滤图层
func IntersectionLayer ¶ added in v1.3.2
IntersectionLayer 计算两个图层的交集
func MakeValidLayer ¶ added in v1.3.2
MakeValidLayer 对整个图层进行几何修复
func MergeFeaturesToLayer ¶ added in v1.3.2
func MergeFeaturesToLayer(features []C.OGRFeatureH, layerName string, srs C.OGRSpatialReferenceH) (*GDALLayer, error)
MergeFeaturesToLayer 将多个要素合并到一个新图层
func ReadDXFLayer ¶ added in v1.3.0
ReadDXFLayer 直接读取DXF图层
func ReadGDBLayer ¶
ReadGDBLayer 直接读取GDB图层
func ReadGeoJSONLayer ¶ added in v1.3.0
ReadGeoJSONLayer 直接读取GeoJSON图层
func ReadGeospatialFile ¶
ReadGeospatialFile 通用读取地理空间文件
func ReadKMLLayer ¶ added in v1.3.0
ReadKMLLayer 直接读取KML图层
func ReadKMZLayer ¶ added in v1.3.0
ReadKMZLayer 直接读取KMZ图层
func ReadShapeFileLayer ¶
ReadShapeFileLayer 直接读取Shapefile图层
func SafeDeserializeLayerFromFile ¶
SafeDeserializeLayerFromFile 安全版本的文件反序列化
func SimplifyLayer ¶ added in v1.3.2
func SimplifyLayer(sourceLayer *GDALLayer, tolerance float64, preserveTopology bool) (*GDALLayer, error)
SimplifyLayer 对整个图层进行简化 tolerance: 简化容差 preserveTopology: 是否保持拓扑关系
func TransformLayer ¶ added in v1.3.2
func TransformLayer(sourceLayer *GDALLayer, targetSRS C.OGRSpatialReferenceH) (*GDALLayer, error)
TransformLayer 对图层进行坐标转换
func UnionAllLayer ¶ added in v1.3.2
UnionAllLayer 将图层中所有要素合并为一个几何体
func (*GDALLayer) CleanupDeserializedLayer ¶
func (layer *GDALLayer) CleanupDeserializedLayer()
CleanupDeserializedLayer 清理反序列化的图层资源(修复版本)
func (*GDALLayer) CreateEmptyFeature ¶ added in v1.3.14
func (gl *GDALLayer) CreateEmptyFeature() *GDALFeature
CreateEmptyFeature 创建空要素
func (*GDALLayer) CreateFeature ¶ added in v1.3.14
func (gl *GDALLayer) CreateFeature(f *GDALFeature) error
CreateFeature 将要素添加到图层
func (*GDALLayer) CreateFeatureFromHandle ¶ added in v1.3.15
func (gl *GDALLayer) CreateFeatureFromHandle(handle C.OGRFeatureH) error
CreateFeatureFromHandle 从C句柄创建要素到图层
func (*GDALLayer) CreateField ¶ added in v1.3.14
func (l *GDALLayer) CreateField(fieldDefn C.OGRFieldDefnH) error
CreateField 创建字段
func (*GDALLayer) GetFeatureCount ¶
GetFeatureCount 获取要素数量
func (*GDALLayer) GetFieldDefn ¶ added in v1.3.14
func (l *GDALLayer) GetFieldDefn(index int) C.OGRFieldDefnH
GetFieldDefn 获取字段定义
func (*GDALLayer) GetFieldName ¶
GetFieldName 获取字段名称
func (*GDALLayer) GetFieldType ¶
GetFieldType 获取字段类型
func (*GDALLayer) GetGeometryType ¶
GetGeometryType 获取几何类型
func (*GDALLayer) GetLayerDefn ¶
func (gl *GDALLayer) GetLayerDefn() C.OGRFeatureDefnH
GetLayerDefn 获取图层定义
func (*GDALLayer) GetNextFeature ¶
func (gl *GDALLayer) GetNextFeature() *GDALFeature
GetNextFeature 获取下一个要素(返回Go包装类型)
func (*GDALLayer) GetNextFeatureRow ¶ added in v1.3.15
func (gl *GDALLayer) GetNextFeatureRow() C.OGRFeatureH
GetNextFeature 获取下一个要素
func (*GDALLayer) GetSpatialRef ¶
func (gl *GDALLayer) GetSpatialRef() C.OGRSpatialReferenceH
GetSpatialRef 获取空间参考系统
func (*GDALLayer) IterateFeatures ¶
func (gl *GDALLayer) IterateFeatures(callback func(feature C.OGRFeatureH))
IterateFeatures 遍历所有要素
func (*GDALLayer) PrintLayerSummary ¶
func (gl *GDALLayer) PrintLayerSummary()
PrintLayerSummary 打印图层摘要信息(简化版)
type GDBExtentInfo ¶ added in v1.4.3
GDBExtentInfo 范围信息
type GDBFeatureDatasetMetadata ¶ added in v1.4.3
type GDBFeatureDatasetMetadata struct {
Name string // 数据集名称
DSID int // 数据集ID
SpatialReference *GDBSpatialReferenceWrite // 空间参考
}
GDBFeatureDatasetMetadata 要素数据集元数据
func GetFeatureDatasetInfo ¶ added in v1.4.3
func GetFeatureDatasetInfo(gdbPath string, datasetName string) (*GDBFeatureDatasetMetadata, error)
GetFeatureDatasetInfo 获取要素数据集的详细信息
func NewGDBFeatureDatasetMetadata ¶ added in v1.4.3
func NewGDBFeatureDatasetMetadata(name string) *GDBFeatureDatasetMetadata
NewGDBFeatureDatasetMetadata 创建新的要素数据集元数据
func (*GDBFeatureDatasetMetadata) GenerateFeatureDatasetDefinitionXML ¶ added in v1.4.3
func (m *GDBFeatureDatasetMetadata) GenerateFeatureDatasetDefinitionXML() string
GenerateFeatureDatasetDefinitionXML 生成要素数据集的Definition XML
func (*GDBFeatureDatasetMetadata) WithSpatialReference ¶ added in v1.4.3
func (m *GDBFeatureDatasetMetadata) WithSpatialReference(sr *GDBSpatialReferenceWrite) *GDBFeatureDatasetMetadata
WithSpatialReference 设置空间参考
func (*GDBFeatureDatasetMetadata) WithSpatialReferenceFromGDB ¶ added in v1.4.3
func (m *GDBFeatureDatasetMetadata) WithSpatialReferenceFromGDB(srs *GDBSpatialReference) *GDBFeatureDatasetMetadata
WithSpatialReferenceFromGDB 从GDBSpatialReference设置空间参考
type GDBFieldMetadata ¶ added in v1.4.3
type GDBFieldMetadata struct {
Name string // 字段名称
AliasName string // 字段别名(中文名)
ModelName string // 模型名称
FieldType string // 字段类型 (esriFieldTypeString, esriFieldTypeInteger, esriFieldTypeDouble等)
IsNullable bool // 是否可空
Length int // 字段长度(字符串类型)
Precision int // 精度(数值类型)
Scale int // 小数位数
Required bool // 是否必需
Editable bool // 是否可编辑
}
GDBFieldMetadata 字段元数据(用于写入)
type GDBItemRelationship ¶ added in v1.4.3
type GDBItemRelationship struct {
ObjectID int // 对象ID
UUID string // 关系UUID
Type string // 关系类型UUID
OriginID string // 源项UUID (父级,如数据集)
DestID string // 目标项UUID (子级,如要素类)
Attributes string // 属性
Properties int // 属性值
}
GDBItemRelationship 表示GDB_ItemRelationships表中的一条记录
type GDBLayerFieldInfo ¶ added in v1.4.2
type GDBLayerFieldInfo struct {
Name string `json:"name" xml:"Name"` // 字段名称
AliasName string `json:"alias_name" xml:"AliasName"` // 字段别名(中文名)
FieldType string `json:"field_type" xml:"FieldType"` // 字段类型
IsNullable bool `json:"is_nullable" xml:"IsNullable"` // 是否可空
Length int `json:"length,omitempty" xml:"Length"` // 字段长度(字符串类型)
Precision int `json:"precision,omitempty" xml:"Precision"` // 精度(数值类型)
Scale int `json:"scale,omitempty" xml:"Scale"` // 小数位数
}
GDBLayerFieldInfo 图层字段信息
type GDBLayerInfo ¶
type GDBLayerInfo struct {
LayerName string
GeoType string
FieldInfos []FieldInfo
FeatureData []FeatureData
}
GDBLayerInfo 直接从GDB获取的图层信息
func GDBToPostGIS ¶
func GDBToPostGIS(gdbPath string, targetLayers []string) ([]GDBLayerInfo, error)
GDBToPostGIS 直接将GDB转换为PostGIS可用的数据结构 targetLayers: 指定要导入的图层名称列表,如果为空或nil则导入所有图层
type GDBLayerMetaData ¶ added in v1.4.2
type GDBLayerMetaData struct {
// 基本信息
Name string `json:"name"` // 图层名称
AliasName string `json:"alias_name"` // 图层别名
Path string `json:"path"` // 图层路径
CatalogPath string `json:"catalog_path"` // 目录路径
UUID string `json:"uuid"` // 唯一标识
TypeUUID string `json:"type_uuid"` // 类型UUID
EPSG int `json:"epsg"` // EPSG代码
// 数据集信息
DatasetName string `json:"dataset_name"` // 所属要素数据集名称
DatasetType string `json:"dataset_type"` // 数据集类型 (esriDTFeatureClass等)
DSID int `json:"dsid"` // 数据集ID
FeatureType string `json:"feature_type"` // 要素类型 (esriFTSimple等)
// 几何信息
ShapeType string `json:"shape_type"` // 几何类型 (esriGeometryPoint/Polygon/Polyline等)
ShapeFieldName string `json:"shape_field_name"` // 几何字段名
HasM bool `json:"has_m"` // 是否有M值
HasZ bool `json:"has_z"` // 是否有Z值
HasSpatialIndex bool `json:"has_spatial_index"` // 是否有空间索引
// OID信息
HasOID bool `json:"has_oid"` // 是否有OID
OIDFieldName string `json:"oid_field_name"` // OID字段名
// GlobalID信息
HasGlobalID bool `json:"has_global_id"` // 是否有GlobalID
GlobalIDFieldName string `json:"global_id_field_name"` // GlobalID字段名
// 字段信息
Fields []GDBLayerFieldInfo `json:"fields"` // 字段列表
}
GDBLayerMetaData 图层元数据
func ReadGDBLayerMetadataByName ¶ added in v1.4.2
func ReadGDBLayerMetadataByName(gdbPath string, layerName string) (*GDBLayerMetaData, error)
ReadGDBLayerMetadataByName 读取指定图层的元数据
func (*GDBLayerMetaData) GetFieldAliasMap ¶ added in v1.4.2
func (m *GDBLayerMetaData) GetFieldAliasMap() map[string]string
GetFieldAliasMap 获取字段别名映射 (字段名 -> 别名)
func (*GDBLayerMetaData) GetFieldByAlias ¶ added in v1.4.2
func (m *GDBLayerMetaData) GetFieldByAlias(aliasName string) *GDBLayerFieldInfo
GetFieldByAlias 根据别名获取字段信息
func (*GDBLayerMetaData) GetFieldByName ¶ added in v1.4.2
func (m *GDBLayerMetaData) GetFieldByName(fieldName string) *GDBLayerFieldInfo
GetFieldByName 根据字段名获取字段信息
func (*GDBLayerMetaData) PrintMetadata ¶ added in v1.4.2
func (m *GDBLayerMetaData) PrintMetadata()
PrintMetadata 打印图层元数据信息
type GDBLayerMetadataCollection ¶ added in v1.4.2
type GDBLayerMetadataCollection struct {
GDBPath string `json:"gdb_path"` // GDB路径
GDBName string `json:"gdb_name"` // GDB名称
Layers []*GDBLayerMetaData `json:"layers"` // 图层列表
// 按数据集分组
DatasetGroups map[string][]*GDBLayerMetaData `json:"dataset_groups"` // 数据集名称 -> 图层列表
// 统计信息
TotalLayers int `json:"total_layers"` // 总图层数
}
GDBLayerMetadataCollection GDB图层元数据集合
func ReadGDBLayerMetadata ¶ added in v1.4.2
func ReadGDBLayerMetadata(gdbPath string) (*GDBLayerMetadataCollection, error)
ReadGDBLayerMetadata 读取GDB文件的所有图层元数据 gdbPath: GDB文件路径 返回: GDBLayerMetadataCollection 包含所有图层的元数据信息
func (*GDBLayerMetadataCollection) GetAllFieldAliases ¶ added in v1.4.2
func (c *GDBLayerMetadataCollection) GetAllFieldAliases() map[string]map[string]string
GetAllFieldAliases 获取所有图层的字段别名映射 返回: map[图层名]map[字段名]别名
func (*GDBLayerMetadataCollection) GetLayerByAlias ¶ added in v1.4.2
func (c *GDBLayerMetadataCollection) GetLayerByAlias(aliasName string) *GDBLayerMetaData
GetLayerByAlias 根据图层别名获取图层元数据
func (*GDBLayerMetadataCollection) GetLayerByName ¶ added in v1.4.2
func (c *GDBLayerMetadataCollection) GetLayerByName(layerName string) *GDBLayerMetaData
GetLayerByName 根据图层名获取图层元数据
func (*GDBLayerMetadataCollection) GetLayersByDataset ¶ added in v1.4.2
func (c *GDBLayerMetadataCollection) GetLayersByDataset(datasetName string) []*GDBLayerMetaData
GetLayersByDataset 获取指定数据集下的所有图层
func (*GDBLayerMetadataCollection) PrintCollection ¶ added in v1.4.2
func (c *GDBLayerMetadataCollection) PrintCollection()
PrintCollection 打印元数据集合信息
type GDBLayerMetadataWrite ¶ added in v1.4.3
type GDBLayerMetadataWrite struct {
// 基本信息
Name string // 图层名称
AliasName string // 图层别名
LayerPath string // 图层路径(用于GDB_Items的Path字段,不包含图层名)
CatalogPath string // 目录路径DSID int // 数据集ID
FeatureType string
DSID int
// 数据集信息
DatasetType string // 数据集类型 (esriDTFeatureClass)FeatureType string // 要素类型 (esriFTSimple)
Versioned bool // 是否版本化
CanVersion bool // 是否可版本化
ConfigurationKeyword string // 配置关键字
RequiredGeodatabaseClientVersion string // 所需地理数据库客户端版本
// 几何信息
ShapeType string // 几何类型 (esriGeometryPoint/Polygon/Polyline等)
ShapeFieldName string // 几何字段名 (默认SHAPE)
HasM bool // 是否有M值
HasZ bool // 是否有Z值
HasSpatialIndex bool // 是否有空间索引
// OID信息
HasOID bool // 是否有OID
OIDFieldName string // OID字段名 (默认OBJECTID)
// GlobalID信息
HasGlobalID bool // 是否有GlobalID
GlobalIDFieldName string // GlobalID字段名
// CLSID信息
CLSID string // 类ID
EXTCLSID string // 扩展类ID
// 字段信息
Fields []GDBFieldMetadata // 字段列表
// 空间参考
SpatialReference *GDBSpatialReferenceWrite // 空间参考系统
// 范围信息
Extent *GDBExtentInfo // 数据范围
// 面积和长度字段
AreaFieldName string // 面积字段名
LengthFieldName string // 长度字段名
// 编辑追踪
EditorTrackingEnabled bool // 是否启用编辑追踪
CreatorFieldName string // 创建者字段名
CreatedAtFieldName string // 创建时间字段名
EditorFieldName string // 编辑者字段名
EditedAtFieldName string // 编辑时间字段名
IsTimeInUTC bool // 时间是否为UTC
// 其他
ChangeTracked bool // 是否追踪变更
FieldFilteringEnabled bool // 是否启用字段过滤
RasterFieldName string // 栅格字段名
}
GDBLayerMetadataWrite 图层元数据(用于写入)
func CreateMetadataWriteFromLayer ¶ added in v1.4.3
func CreateMetadataWriteFromLayer(gdbPath string, layerName string) (*GDBLayerMetadataWrite, error)
CreateMetadataWriteFromLayer 从GDB图层读取信息创建元数据写入对象
func NewGDBLayerMetadataWrite ¶ added in v1.4.3
func NewGDBLayerMetadataWrite(layerName string) *GDBLayerMetadataWrite
NewGDBLayerMetadataWrite 创建新的图层元数据写入对象
func (*GDBLayerMetadataWrite) AddDateField ¶ added in v1.4.3
func (m *GDBLayerMetadataWrite) AddDateField(name, alias string, nullable bool) *GDBLayerMetadataWrite
AddDateField 添加日期字段
func (*GDBLayerMetadataWrite) AddDoubleField ¶ added in v1.4.3
func (m *GDBLayerMetadataWrite) AddDoubleField(name, alias string, precision, scale int, nullable bool) *GDBLayerMetadataWrite
AddDoubleField 添加双精度浮点字段
func (*GDBLayerMetadataWrite) AddField ¶ added in v1.4.3
func (m *GDBLayerMetadataWrite) AddField(field GDBFieldMetadata) *GDBLayerMetadataWrite
AddField 添加字段
func (*GDBLayerMetadataWrite) AddIntegerField ¶ added in v1.4.3
func (m *GDBLayerMetadataWrite) AddIntegerField(name, alias string, nullable bool) *GDBLayerMetadataWrite
AddIntegerField 添加整数字段
func (*GDBLayerMetadataWrite) AddStringField ¶ added in v1.4.3
func (m *GDBLayerMetadataWrite) AddStringField(name, alias string, length int, nullable bool) *GDBLayerMetadataWrite
AddStringField 添加字符串字段
func (*GDBLayerMetadataWrite) Clone ¶ added in v1.4.3
func (m *GDBLayerMetadataWrite) Clone() *GDBLayerMetadataWrite
Clone 克隆元数据对象
func (*GDBLayerMetadataWrite) GenerateDefinitionXML ¶ added in v1.4.3
func (m *GDBLayerMetadataWrite) GenerateDefinitionXML() (string, error)
GenerateDefinitionXML 生成Definition字段的XML内容
func (*GDBLayerMetadataWrite) GenerateDefinitionXMLFormatted ¶ added in v1.4.3
func (m *GDBLayerMetadataWrite) GenerateDefinitionXMLFormatted() (string, error)
GenerateDefinitionXMLFormatted 生成格式化的XML(用于调试)
func (*GDBLayerMetadataWrite) PrintMetadataInfo ¶ added in v1.4.3
func (m *GDBLayerMetadataWrite) PrintMetadataInfo()
PrintMetadataInfo 打印元数据信息(用于调试)
func (*GDBLayerMetadataWrite) ValidateMetadata ¶ added in v1.4.3
func (m *GDBLayerMetadataWrite) ValidateMetadata() []string
ValidateMetadata 验证元数据完整性
func (*GDBLayerMetadataWrite) WithAliasName ¶ added in v1.4.3
func (m *GDBLayerMetadataWrite) WithAliasName(alias string) *GDBLayerMetadataWrite
WithAliasName 设置图层别名
func (*GDBLayerMetadataWrite) WithAreaAndLengthFields ¶ added in v1.4.3
func (m *GDBLayerMetadataWrite) WithAreaAndLengthFields(areaField, lengthField string) *GDBLayerMetadataWrite
WithAreaAndLengthFields 设置面积和长度字段名
func (*GDBLayerMetadataWrite) WithDSID ¶ added in v1.4.3
func (m *GDBLayerMetadataWrite) WithDSID(dsid int) *GDBLayerMetadataWrite
WithDSID 设置数据集ID
func (*GDBLayerMetadataWrite) WithExtent ¶ added in v1.4.3
func (m *GDBLayerMetadataWrite) WithExtent(xMin, yMin, xMax, yMax float64) *GDBLayerMetadataWrite
WithExtent 设置范围
func (*GDBLayerMetadataWrite) WithHasM ¶ added in v1.4.3
func (m *GDBLayerMetadataWrite) WithHasM(hasM bool) *GDBLayerMetadataWrite
WithHasM 设置是否有M值
func (*GDBLayerMetadataWrite) WithHasZ ¶ added in v1.4.3
func (m *GDBLayerMetadataWrite) WithHasZ(hasZ bool) *GDBLayerMetadataWrite
WithHasZ 设置是否有Z值
func (*GDBLayerMetadataWrite) WithLayerPath ¶ added in v1.4.3
func (m *GDBLayerMetadataWrite) WithLayerPath(path string) *GDBLayerMetadataWrite
func (*GDBLayerMetadataWrite) WithOIDFieldName ¶ added in v1.4.3
func (m *GDBLayerMetadataWrite) WithOIDFieldName(name string) *GDBLayerMetadataWrite
WithOIDFieldName 设置OID字段名
func (*GDBLayerMetadataWrite) WithShapeFieldName ¶ added in v1.4.3
func (m *GDBLayerMetadataWrite) WithShapeFieldName(name string) *GDBLayerMetadataWrite
WithShapeFieldName 设置几何字段名
func (*GDBLayerMetadataWrite) WithShapeType ¶ added in v1.4.3
func (m *GDBLayerMetadataWrite) WithShapeType(shapeType string) *GDBLayerMetadataWrite
WithShapeType 设置几何类型
func (*GDBLayerMetadataWrite) WithSpatialReference ¶ added in v1.4.3
func (m *GDBLayerMetadataWrite) WithSpatialReference(srs *GDBSpatialReferenceWrite) *GDBLayerMetadataWrite
WithSpatialReference 设置空间参考
type GDBMetadataUpdateConfig ¶ added in v1.4.3
type GDBMetadataUpdateConfig struct {
LayerName string // 图层名称
LayerAlias string // 图层别名(可选,为空则不更新)
FieldAliases map[string]string // 字段别名映射(可选)
}
GDBMetadataUpdateConfig 元数据更新配置
type GDBSpatialReference ¶ added in v1.4.3
type GDBSpatialReference struct {
EPSG int // EPSG代码
Name string // 坐标系名称
Type GDBSpatialReferenceType // 坐标系类型
Description string // 描述信息
WKT string // WKT定义(可选,用于自定义坐标系)
Proj4 string // Proj4定义(可选)
}
GDBSpatialReference 空间参考系统结构
func GetAllCGCS2000_3DegreeCMZones ¶ added in v1.4.3
func GetAllCGCS2000_3DegreeCMZones() []*GDBSpatialReference
GetAllCGCS2000_3DegreeCMZones 获取所有CGCS2000 3度带(带带号前缀)坐标系列表
func GetAllCGCS2000_3DegreeZones ¶ added in v1.4.3
func GetAllCGCS2000_3DegreeZones() []*GDBSpatialReference
GetAllCGCS2000_3DegreeZones 获取所有CGCS2000 3度带坐标系列表
func GetCGCS2000_3DegreeByCentralMeridian ¶ added in v1.4.3
func GetCGCS2000_3DegreeByCentralMeridian(centralMeridian int) (*GDBSpatialReference, error)
GetCGCS2000_3DegreeByCentralMeridian 根据中央经线获取CGCS2000 3度带坐标系(带带号前缀) centralMeridian: 中央经线 (75, 78, 81, ..., 135)
func GetCGCS2000_3DegreeByLongitude ¶ added in v1.4.3
func GetCGCS2000_3DegreeByLongitude(longitude float64, withZonePrefix bool) (*GDBSpatialReference, error)
GetCGCS2000_3DegreeByLongitude 根据经度自动计算并获取对应的CGCS2000 3度带坐标系 longitude: 经度值 withZonePrefix: 是否使用带带号前缀的坐标系
func GetCGCS2000_3DegreeZone ¶ added in v1.4.3
func GetCGCS2000_3DegreeZone(zone int) (*GDBSpatialReference, error)
GetCGCS2000_3DegreeZone 根据带号获取CGCS2000 3度带坐标系 zone: 带号 (25-45)
func GetSHPSpatialReference ¶ added in v1.4.8
func GetSHPSpatialReference(shpPath string) (*GDBSpatialReference, error)
GetSHPSpatialReference 读取SHP文件的完整空间参考信息 shpPath: SHP文件路径 返回: GDBSpatialReference结构体, 错误信息
func NewGDBSpatialReferenceFromEPSG ¶ added in v1.4.3
func NewGDBSpatialReferenceFromEPSG(epsg int) *GDBSpatialReference
NewGDBSpatialReferenceFromEPSG 根据EPSG代码创建空间参考
func NewGDBSpatialReferenceFromProj4 ¶ added in v1.4.3
func NewGDBSpatialReferenceFromProj4(proj4 string, name string) *GDBSpatialReference
NewGDBSpatialReferenceFromProj4 根据Proj4创建空间参考
func NewGDBSpatialReferenceFromWKT ¶ added in v1.4.3
func NewGDBSpatialReferenceFromWKT(wkt string, name string) *GDBSpatialReference
NewGDBSpatialReferenceFromWKT 根据WKT创建空间参考
func (*GDBSpatialReference) String ¶ added in v1.4.3
func (srs *GDBSpatialReference) String() string
String 返回坐标系的字符串表示
func (*GDBSpatialReference) ToOGRGDBSpatialReference ¶ added in v1.4.3
func (srs *GDBSpatialReference) ToOGRGDBSpatialReference() (C.OGRSpatialReferenceH, error)
ToOGRGDBSpatialReference 将GDBSpatialReference转换为GDAL的OGRSpatialReferenceH
type GDBSpatialReferenceType ¶ added in v1.4.3
type GDBSpatialReferenceType int
const ( SRSTypeGeographic GDBSpatialReferenceType = iota // 地理坐标系 SRSTypeProjected // 投影坐标系 )
type GDBSpatialReferenceWrite ¶ added in v1.4.3
type GDBSpatialReferenceWrite struct {
WKT string // WKT字符串
WKID int // 空间参考ID
LatestWKID int // 最新WKID
XOrigin float64 // X原点
YOrigin float64 // Y原点
XYScale float64 // XY比例
ZOrigin float64 // Z原点
ZScale float64 // Z比例
MOrigin float64 // M原点
MScale float64 // M比例
XYTolerance float64 // XY容差
ZTolerance float64 // Z容差
MTolerance float64 // M容差
HighPrecision bool // 是否高精度
IsProjected bool // 是否为投影坐标系
}
GDBSpatialReferenceWrite 空间参考写入结构
func ConvertGDBSpatialReferenceToWrite ¶ added in v1.4.3
func ConvertGDBSpatialReferenceToWrite(srs *GDBSpatialReference) *GDBSpatialReferenceWrite
ConvertGDBSpatialReferenceToWrite 将GDBSpatialReference转换为GDBSpatialReferenceWrite
func NewCGCS2000SpatialReference ¶ added in v1.4.3
func NewCGCS2000SpatialReference() *GDBSpatialReferenceWrite
NewCGCS2000SpatialReference 创建CGCS2000地理坐标系空间参考
func NewCGCS2000_3DegreeGK_Zone ¶ added in v1.4.3
func NewCGCS2000_3DegreeGK_Zone(zone int) *GDBSpatialReferenceWrite
NewCGCS2000_3DegreeGK_Zone 创建CGCS2000 3度带高斯克吕格投影坐标系 zone: 带号 (如35表示中央经线105度)
func NewCGCS2000_6DegreeGK_Zone ¶ added in v1.4.3
func NewCGCS2000_6DegreeGK_Zone(zone int) *GDBSpatialReferenceWrite
NewCGCS2000_6DegreeGK_Zone 创建CGCS2000 6度带高斯克吕格投影坐标系 zone: 带号 (如18表示中央经线105度)
func NewGDBSpatialReferenceWrite ¶ added in v1.4.3
func NewGDBSpatialReferenceWrite() *GDBSpatialReferenceWrite
NewGDBSpatialReferenceWrite 创建新的空间参考写入对象
func NewSpatialReferenceFromEPSG ¶ added in v1.4.3
func NewSpatialReferenceFromEPSG(epsg int) (*GDBSpatialReferenceWrite, error)
NewSpatialReferenceFromEPSG 从EPSG代码创建空间参考
func NewSpatialReferenceFromWKT ¶ added in v1.4.3
func NewSpatialReferenceFromWKT(wkt string) (*GDBSpatialReferenceWrite, error)
NewSpatialReferenceFromWKT 从WKT创建空间参考
func NewUTMSpatialReference ¶ added in v1.4.3
func NewUTMSpatialReference(zone int, isNorth bool) *GDBSpatialReferenceWrite
NewUTMSpatialReference 创建UTM投影坐标系空间参考 zone: UTM带号 (1-60) isNorth: 是否为北半球
func NewWGS84SpatialReference ¶ added in v1.4.3
func NewWGS84SpatialReference() *GDBSpatialReferenceWrite
NewWGS84SpatialReference 创建WGS84地理坐标系空间参考
func NewWebMercatorSpatialReference ¶ added in v1.4.3
func NewWebMercatorSpatialReference() *GDBSpatialReferenceWrite
NewWebMercatorSpatialReference 创建Web墨卡托投影坐标系空间参考
func (*GDBSpatialReferenceWrite) WithIsProjected ¶ added in v1.4.3
func (sr *GDBSpatialReferenceWrite) WithIsProjected(isProjected bool) *GDBSpatialReferenceWrite
WithIsProjected 设置是否为投影坐标系
func (*GDBSpatialReferenceWrite) WithMParams ¶ added in v1.4.3
func (sr *GDBSpatialReferenceWrite) WithMParams(origin, scale, tolerance float64) *GDBSpatialReferenceWrite
WithMParams 设置M参数
func (*GDBSpatialReferenceWrite) WithOrigin ¶ added in v1.4.3
func (sr *GDBSpatialReferenceWrite) WithOrigin(xOrigin, yOrigin float64) *GDBSpatialReferenceWrite
WithOrigin 设置原点
func (*GDBSpatialReferenceWrite) WithWKID ¶ added in v1.4.3
func (sr *GDBSpatialReferenceWrite) WithWKID(wkid int) *GDBSpatialReferenceWrite
WithWKID 设置WKID
func (*GDBSpatialReferenceWrite) WithWKT ¶ added in v1.4.3
func (sr *GDBSpatialReferenceWrite) WithWKT(wkt string) *GDBSpatialReferenceWrite
WithWKT 设置WKT
func (*GDBSpatialReferenceWrite) WithXYScale ¶ added in v1.4.3
func (sr *GDBSpatialReferenceWrite) WithXYScale(scale float64) *GDBSpatialReferenceWrite
WithXYScale 设置XY比例
func (*GDBSpatialReferenceWrite) WithXYTolerance ¶ added in v1.4.3
func (sr *GDBSpatialReferenceWrite) WithXYTolerance(tolerance float64) *GDBSpatialReferenceWrite
WithXYTolerance 设置XY容差
func (*GDBSpatialReferenceWrite) WithZParams ¶ added in v1.4.3
func (sr *GDBSpatialReferenceWrite) WithZParams(origin, scale, tolerance float64) *GDBSpatialReferenceWrite
WithZParams 设置Z参数
type GPFieldInfoEx ¶ added in v1.4.2
type GPFieldInfoEx struct {
Name string `xml:"Name"`
AliasName string `xml:"AliasName"`
ModelName string `xml:"ModelName"`
FieldType string `xml:"FieldType"`
IsNullable string `xml:"IsNullable"`
Length string `xml:"Length"`
Precision string `xml:"Precision"`
Scale string `xml:"Scale"`
Required string `xml:"Required"`
Editable string `xml:"Editable"`
}
GPFieldInfoEx 单个字段信息
type GPFieldInfoExs ¶ added in v1.4.2
type GPFieldInfoExs struct {
GPFieldInfoEx []GPFieldInfoEx `xml:"GPFieldInfoEx"`
}
GPFieldInfoExs 字段信息数组
type GeoJsonLayers ¶
type GeoJsonLayers struct {
Layer *geojson.FeatureCollection
LayerName string
GeoType string
}
func GDBToGeoJSON ¶
func GDBToGeoJSON(gdbPath string) ([]GeoJsonLayers, error)
type GeoTiffWriter ¶ added in v1.4.15
type GeoTiffWriter struct {
// contains filtered or unexported fields
}
GeoTiffWriter GeoTIFF写入器
func NewGeoTiffWriter ¶ added in v1.4.15
func NewGeoTiffWriter(width, height, bands, tileSize int, geoTransform [6]float64) (*GeoTiffWriter, error)
NewGeoTiffWriter 创建GeoTIFF写入器
func (*GeoTiffWriter) ExportToFile ¶ added in v1.4.15
func (w *GeoTiffWriter) ExportToFile(filename string) error
ExportToFile 导出为GeoTIFF文件
func (*GeoTiffWriter) ExportToMemory ¶ added in v1.4.15
func (w *GeoTiffWriter) ExportToMemory() ([]byte, error)
ExportToMemory 导出为内存中的GeoTIFF
func (*GeoTiffWriter) GetDimensions ¶ added in v1.4.15
func (w *GeoTiffWriter) GetDimensions() (width, height, bands int)
GetDimensions 获取尺寸
type Geometry ¶
type Geometry struct {
// contains filtered or unexported fields
}
Geometry 表示几何对象的Go包装器
func CreateGeometryFromWKBHex ¶
CreateGeometryFromWKBHex 从十六进制WKB字符串创建几何对象 wkbHex: 十六进制格式的WKB字符串 返回几何对象和可能的错误
type GeometryPrecisionConfig ¶
type GeosAnalysisResult ¶
GeosAnalysisResult 相交分析结果
func SpatialClipAnalysis ¶
func SpatialClipAnalysis(inputLayer, methodlayer *GDALLayer, config *ParallelGeosConfig) (*GeosAnalysisResult, error)
SpatialClipAnalysis并行空间裁剪分析
func SpatialEraseAnalysis ¶
func SpatialEraseAnalysis(inputLayer, methodlayer *GDALLayer, config *ParallelGeosConfig) (*GeosAnalysisResult, error)
SpatialEraseAnalysis执行并行空间擦除分析
func SpatialIdentityAnalysis ¶
func SpatialIdentityAnalysis(inputLayer, methodLayer *GDALLayer, config *ParallelGeosConfig) (*GeosAnalysisResult, error)
func SpatialIntersectionAnalysis ¶
func SpatialIntersectionAnalysis(inputLayer, methodLayer *GDALLayer, config *ParallelGeosConfig, strategy FieldMergeStrategy) (*GeosAnalysisResult, error)
并行空间相交分析
func SpatialSymDifferenceAnalysis ¶
func SpatialSymDifferenceAnalysis(inputLayer, methodLayer *GDALLayer, config *ParallelGeosConfig) (*GeosAnalysisResult, error)
func SpatialUpdateAnalysis ¶
func SpatialUpdateAnalysis(inputLayer, methodLayer *GDALLayer, config *ParallelGeosConfig) (*GeosAnalysisResult, error)
SpatialUpdateAnalysisParallel 执行并行空间更新分析
func UnionAnalysis ¶
func UnionAnalysis(inputLayer *GDALLayer, groupFields []string, outputTableName string, precisionConfig *GeometryPrecisionConfig, progressCallback ProgressCallback) (*GeosAnalysisResult, error)
UnionAnalysis 对数据进行融合分析
func UnionByFieldsWithPrecision ¶
func UnionByFieldsWithPrecision(inputLayer *GDALLayer, groupFields []string, outputLayerName string, precisionConfig *GeometryPrecisionConfig, progressCallback ProgressCallback) (*GeosAnalysisResult, error)
UnionByFieldsWithPrecision 便捷函数:按指定字段执行Union操作(带精度控制)
func (*GeosAnalysisResult) PrintIntersectionSummary ¶
func (result *GeosAnalysisResult) PrintIntersectionSummary()
打印相交分析摘要
type GroupTileFiles ¶
func ReadAndGroupBinFiles ¶
func ReadAndGroupBinFiles(uuid string) ([]GroupTileFiles, error)
ReadAndGroupBinFiles 读取layer1和layer2文件夹中的bin文件并按文件名分组
type ImageProcessor ¶ added in v1.3.18
type ImageProcessor struct {
// contains filtered or unexported fields
}
ImageProcessor GDAL图像处理器
func NewImageProcessor ¶ added in v1.3.18
func NewImageProcessor(width, height, bands int) (*ImageProcessor, error)
func NewImageProcessorRGB ¶ added in v1.4.0
func NewImageProcessorRGB(width, height int) (*ImageProcessor, error)
NewImageProcessorRGB 创建RGB图像处理器(3通道)
func NewImageProcessorRGBA ¶ added in v1.4.0
func NewImageProcessorRGBA(width, height int) (*ImageProcessor, error)
NewImageProcessorRGBA 创建RGBA图像处理器(4通道)
func (*ImageProcessor) AddTileFromBuffer ¶ added in v1.3.18
func (p *ImageProcessor) AddTileFromBuffer(data []byte, format string, dstX, dstY int) error
func (*ImageProcessor) AddTileFromBufferWithSize ¶ added in v1.4.0
func (p *ImageProcessor) AddTileFromBufferWithSize(data []byte, format string, srcX, srcY, srcWidth, srcHeight int, dstX, dstY int) error
AddTileFromBufferWithSize 从内存缓冲区添加瓦片,支持指定源区域
func (*ImageProcessor) Clear ¶ added in v1.4.0
func (p *ImageProcessor) Clear() error
Clear 清空画布(填充透明)
func (*ImageProcessor) Close ¶ added in v1.3.18
func (p *ImageProcessor) Close()
func (*ImageProcessor) CropAndExport ¶ added in v1.3.18
func (p *ImageProcessor) CropAndExport(cropX, cropY, cropWidth, cropHeight int, format string) ([]byte, error)
func (*ImageProcessor) CropScaleAndExport ¶ added in v1.4.1
func (p *ImageProcessor) CropScaleAndExport( cropX, cropY, cropWidth, cropHeight int, outputWidth, outputHeight int, format string, ) ([]byte, error)
CropScaleAndExport 裁剪、缩放并导出
func (*ImageProcessor) Export ¶ added in v1.4.0
func (p *ImageProcessor) Export(format string) ([]byte, error)
Export 导出整个画布
func (*ImageProcessor) ExportToFile ¶ added in v1.4.0
func (p *ImageProcessor) ExportToFile(filename string, quality int) error
ExportToFile 导出到文件
func (*ImageProcessor) GetDimensions ¶ added in v1.4.0
func (p *ImageProcessor) GetDimensions() (width, height, bands int)
GetDimensions 获取画布尺寸
type ImportFieldMapping ¶ added in v1.4.2
type ImportFieldMapping struct {
SourceIndex int
TargetIndex int
SourceName string
TargetName string
SourceType C.OGRFieldType
TargetType C.OGRFieldType
}
ImportFieldMapping 导入字段映射结构
type ImportResult ¶ added in v1.4.2
type ImportResult struct {
TotalCount int // 总记录数
InsertedCount int // 成功插入数
FailedCount int // 失败数
SkippedCount int // 跳过数
Errors []string // 错误信息列表
}
ImportResult 导入结果
func ImportGDALLayerToGDB ¶ added in v1.4.2
func ImportGDALLayerToGDB(sourceLayer *GDALLayer, gdbPath string, gdbLayerName string, options *ImportToGDBOptions) (*ImportResult, error)
ImportGDALLayerToGDB 将GDALLayer直接导入到GDB(通用方法) 这个函数可以处理任何来源的GDALLayer,不仅限于PostGIS
func ImportGDALLayerToGDBV2 ¶ added in v1.4.3
func ImportGDALLayerToGDBV2(sourceLayer *GDALLayer, gdbPath string, gdbLayerName string, options *ImportToGDBOptionsV2) (*ImportResult, error)
ImportGDALLayerToGDBV2 将GDALLayer直接导入到GDB(支持目标坐标系)
func ImportPostGISToGDB ¶ added in v1.4.2
func ImportPostGISToGDB(postGISConfig *PostGISConfig, gdbPath string, gdbLayerName string, options *ImportToGDBOptions) (*ImportResult, error)
ImportPostGISToGDB 将PostGIS数据表导入到GDB文件的指定图层 postGISConfig: PostGIS配置 gdbPath: GDB文件路径 gdbLayerName: GDB目标图层名称 options: 导入选项(可选)
func ImportPostGISToGDBV2 ¶ added in v1.4.3
func ImportPostGISToGDBV2(postGISConfig *PostGISConfig, gdbPath string, gdbLayerName string, options *ImportToGDBOptionsV2) (*ImportResult, error)
ImportPostGISToGDBV2 将PostGIS数据表导入到GDB文件的指定图层(支持目标坐标系)
func ImportPostGISToGDBV3 ¶ added in v1.4.3
func ImportPostGISToGDBV3(postGISConfig *PostGISConfig, gdbPath string, gdbLayerName string, options *ImportToGDBOptionsV3) (*ImportResult, error)
ImportPostGISToGDBV3 将PostGIS数据表导入到GDB文件(V3版本,支持元数据设置)
func ImportPostGISToGDBV3Auto ¶ added in v1.4.3
func ImportPostGISToGDBV3Auto(postGISConfig *PostGISConfig, gdbPath string, layerName string, options *ImportToGDBOptionsV3) (*ImportResult, error)
ImportPostGISToGDBV3Auto 自动处理要素数据集的导入函数
func ImportPostGISToNewGDBLayer ¶ added in v1.4.2
func ImportPostGISToNewGDBLayer(postGISConfig *PostGISConfig, gdbPath string, layerName string, options *ImportToGDBOptions) (*ImportResult, error)
ImportPostGISToNewGDBLayer 将PostGIS数据表导入到GDB文件,创建新图层 如果图层已存在,根据选项决定是覆盖还是追加
func ImportPostGISToNewGDBLayerV2 ¶ added in v1.4.3
func ImportPostGISToNewGDBLayerV2(postGISConfig *PostGISConfig, gdbPath string, layerName string, options *ImportToGDBOptionsV2) (*ImportResult, error)
===================================================== 优化后的导入函数 ===================================================== ImportPostGISToNewGDBLayerV2 将PostGIS数据表导入到GDB文件,创建新图层(支持目标坐标系)
func ImportPostGISToNewGDBLayerV3 ¶ added in v1.4.3
func ImportPostGISToNewGDBLayerV3(postGISConfig *PostGISConfig, gdbPath string, layerName string, options *ImportToGDBOptionsV3) (*ImportResult, error)
ImportPostGISToNewGDBLayerV3 将PostGIS数据表导入到GDB文件,创建新图层(V3版本)
func ImportPostGISToNewGDBLayerV3WithDataset ¶ added in v1.4.3
func ImportPostGISToNewGDBLayerV3WithDataset(postGISConfig *PostGISConfig, gdbPath string, layerName string, options *ImportToGDBOptionsV3) (*ImportResult, error)
ImportPostGISToNewGDBLayerV3WithDataset 将PostGIS数据表导入到GDB文件,自动创建要素数据集
type ImportToGDBOptions ¶ added in v1.4.2
type ImportToGDBOptions struct {
GeomField string // PostGIS几何字段名(默认"geom")
BatchSize int // 批处理大小(默认1000)
UseTransaction bool // 是否使用事务(默认false)
StrictMode bool // 严格模式,遇到错误立即停止
SkipInvalidGeometry bool // 跳过无效几何(默认false)
ValidateGeometry bool // 验证几何有效性(默认false)
AllowNullGeometry bool // 允许空几何(默认false)
FieldMapping map[string]string // 字段映射(源字段->目标字段),为空则自动匹配同名字段
ExcludeFields []string // 排除的字段列表
IncludeFields []string // 仅包含的字段列表(优先级高于ExcludeFields)
}
ImportToGDBOptions 导入选项
type ImportToGDBOptionsV2 ¶ added in v1.4.3
type ImportToGDBOptionsV2 struct {
// 基础选项
GeomField string // PostGIS几何字段名(默认"geom")
BatchSize int // 批处理大小(默认1000)
UseTransaction bool // 是否使用事务(默认false)
StrictMode bool // 严格模式,遇到错误立即停止
SkipInvalidGeometry bool // 跳过无效几何(默认false)
ValidateGeometry bool // 验证几何有效性(默认false)
AllowNullGeometry bool // 允许空几何(默认false)
FieldMapping map[string]string // 字段映射(源字段->目标字段)
ExcludeFields []string // 排除的字段列表
IncludeFields []string // 仅包含的字段列表
// 坐标系选项(新增)
TargetSRS *GDBSpatialReference // 目标坐标系(如果为nil,则使用源坐标系或图层默认坐标系)
SourceSRS *GDBSpatialReference // 源坐标系(如果源数据没有坐标系信息时使用)
ForceTransform bool // 强制进行坐标转换(即使源和目标坐标系相同)
TransformOptions *TransformOptions // 坐标转换选项
}
ImportToGDBOptionsV2 导入选项(增强版,支持目标坐标系)
func NewImportToGDBOptionsV2 ¶ added in v1.4.3
func NewImportToGDBOptionsV2() *ImportToGDBOptionsV2
NewImportToGDBOptionsV2 创建默认的导入选项
func (*ImportToGDBOptionsV2) WithCGCS2000_3DegreeByCM ¶ added in v1.4.3
func (opts *ImportToGDBOptionsV2) WithCGCS2000_3DegreeByCM(centralMeridian int) (*ImportToGDBOptionsV2, error)
WithCGCS2000_3DegreeByCM 设置目标坐标系为CGCS2000 3度带(按中央经线)
func (*ImportToGDBOptionsV2) WithCGCS2000_3DegreeZone ¶ added in v1.4.3
func (opts *ImportToGDBOptionsV2) WithCGCS2000_3DegreeZone(zone int) (*ImportToGDBOptionsV2, error)
WithCGCS2000_3DegreeZone 设置目标坐标系为CGCS2000 3度带
func (*ImportToGDBOptionsV2) WithSourceSRS ¶ added in v1.4.3
func (opts *ImportToGDBOptionsV2) WithSourceSRS(srs *GDBSpatialReference) *ImportToGDBOptionsV2
WithSourceSRS 设置源坐标系
func (*ImportToGDBOptionsV2) WithTargetSRS ¶ added in v1.4.3
func (opts *ImportToGDBOptionsV2) WithTargetSRS(srs *GDBSpatialReference) *ImportToGDBOptionsV2
WithTargetSRS 设置目标坐标系
type ImportToGDBOptionsV3 ¶ added in v1.4.3
type ImportToGDBOptionsV3 struct {
ImportToGDBOptionsV2 // 继承V2选项
LayerPath string
LayerAlias string // 图层别名
FieldAliases map[string]string // 字段别名映射
AutoUpdateMetadata bool // 导入后自动更新元数据
SpatialReferenceOverride *GDBSpatialReferenceWrite // 空间参考覆盖设置
}
ImportToGDBOptionsV3 导入选项(V3版本,支持元数据设置)
func NewImportToGDBOptionsV3 ¶ added in v1.4.3
func NewImportToGDBOptionsV3() *ImportToGDBOptionsV3
NewImportToGDBOptionsV3 创建默认的V3导入选项
func (*ImportToGDBOptionsV3) WithAutoUpdateMetadata ¶ added in v1.4.3
func (opts *ImportToGDBOptionsV3) WithAutoUpdateMetadata(auto bool) *ImportToGDBOptionsV3
WithAutoUpdateMetadata 设置是否自动更新元数据
func (*ImportToGDBOptionsV3) WithFieldAlias ¶ added in v1.4.3
func (opts *ImportToGDBOptionsV3) WithFieldAlias(fieldName, alias string) *ImportToGDBOptionsV3
WithFieldAlias 添加字段别名
func (*ImportToGDBOptionsV3) WithFieldAliases ¶ added in v1.4.3
func (opts *ImportToGDBOptionsV3) WithFieldAliases(aliases map[string]string) *ImportToGDBOptionsV3
WithFieldAliases 批量设置字段别名
func (*ImportToGDBOptionsV3) WithLayerAlias ¶ added in v1.4.3
func (opts *ImportToGDBOptionsV3) WithLayerAlias(alias string) *ImportToGDBOptionsV3
WithLayerAlias 设置图层别名
func (*ImportToGDBOptionsV3) WithLayerPath ¶ added in v1.4.3
func (opts *ImportToGDBOptionsV3) WithLayerPath(path string) *ImportToGDBOptionsV3
func (*ImportToGDBOptionsV3) WithSpatialReferenceOverride ¶ added in v1.4.3
func (opts *ImportToGDBOptionsV3) WithSpatialReferenceOverride(sr *GDBSpatialReferenceWrite) *ImportToGDBOptionsV3
WithSpatialReferenceOverride 设置空间参考覆盖
func (*ImportToGDBOptionsV3) WithTargetSRS ¶ added in v1.4.3
func (opts *ImportToGDBOptionsV3) WithTargetSRS(srs *GDBSpatialReference) *ImportToGDBOptionsV3
WithTargetSRS 设置目标空间参考(继承方法)
type InsertOptions ¶ added in v1.3.6
type InsertOptions struct {
StrictMode bool // 严格模式,遇到错误立即停止
SyncInterval int // 同步间隔(每插入多少条要素同步一次)
SkipInvalidGeometry bool // 跳过无效几何
CreateMissingFields bool // 创建缺失的字段(如果目标图层支持)
}
InsertOptions 插入选项
type LayerAnalysisResult ¶
type LayerAnalysisResult struct {
LayerName string
GeomType string
Fields []FieldAnalysisResult
Features []FeatureAnalysisResult
FeatureCount int
}
LayerAnalysisResult 图层分析结果
type LayerMetadata ¶
LayerMetadata 图层元数据
func GetBinaryMetadata ¶
func GetBinaryMetadata(data []byte) (*LayerMetadata, error)
GetBinaryMetadata 获取二进制文件的元数据信息(修复版本)
type MBTilesGenerator ¶ added in v1.2.11
type MBTilesGenerator struct {
// contains filtered or unexported fields
}
MBTilesGenerator MBTiles生成器
func NewMBTilesGenerator ¶ added in v1.2.11
func NewMBTilesGenerator(imagePath string, options *MBTilesOptions) (*MBTilesGenerator, error)
NewMBTilesGenerator 创建MBTiles生成器
func (*MBTilesGenerator) EstimateTileCount ¶ added in v1.2.11
func (gen *MBTilesGenerator) EstimateTileCount() int
EstimateTileCount 估算瓦片数量
func (*MBTilesGenerator) Generate ¶ added in v1.2.11
func (gen *MBTilesGenerator) Generate(outputPath string, metadata map[string]string) error
Generate 生成MBTiles文件
func (*MBTilesGenerator) GenerateTerrainMBTiles ¶ added in v1.3.17
func (gen *MBTilesGenerator) GenerateTerrainMBTiles(outputPath string, options *TerrainOptions) error
GenerateTerrainMBTiles 生成Mapbox规范的地形瓦片MBTiles文件 demPath: DEM高程数据文件路径 outputPath: 输出MBTiles文件路径 options: 生成选项
func (*MBTilesGenerator) GenerateWithConcurrency ¶ added in v1.2.12
func (gen *MBTilesGenerator) GenerateWithConcurrency(outputPath string, metadata map[string]string, concurrency int) error
GenerateWithConcurrency 并发生成MBTiles文件
func (*MBTilesGenerator) GetBounds ¶ added in v1.2.11
func (gen *MBTilesGenerator) GetBounds() (minLon, minLat, maxLon, maxLat float64)
GetBounds 获取边界(经纬度)
func (*MBTilesGenerator) GetDatasetInfo ¶ added in v1.2.11
func (gen *MBTilesGenerator) GetDatasetInfo() DatasetInfo
GetDatasetInfo 获取数据集信息
type MBTilesOptions ¶ added in v1.2.11
type MBTilesOptions struct {
TileSize int // 瓦片大小,默认256
MinZoom int // 最小缩放级别,默认0
MaxZoom int // 最大缩放级别,默认18
Metadata map[string]string // 自定义元数据
Concurrency int // 并发数,默认为CPU核心数
ProgressCallback ProgressCallback // 进度回调函数
BatchSize int // 批量插入大小,默认1000
}
MBTilesOptions MBTiles生成选项
type OptimizedTileProcessor ¶
type OptimizedTileProcessor struct {
// contains filtered or unexported fields
}
OptimizedTileProcessor 优化的瓦片处理器
func NewOptimizedTileProcessor ¶
func NewOptimizedTileProcessor(sourceLayer *GDALLayer, tiles []*TileInfo, config *TileProcessingConfig) (*OptimizedTileProcessor, error)
NewOptimizedTileProcessor 创建优化的瓦片处理器
func (*OptimizedTileProcessor) GroupAndExportByTiles ¶
func (p *OptimizedTileProcessor) GroupAndExportByTiles(outputDir string) ([]*TileClipResultM, error)
GroupAndExportByTiles 使用优化的方法按瓦片分组并导出为bin文件
type PGConfig ¶
type PGConfig struct {
XMLName xml.Name `xml:"config"`
Dbname string `xml:"dbname"`
Host string `xml:"host"`
Port string `xml:"port"`
Username string `xml:"user"`
Password string `xml:"password"`
}
var MainConfig PGConfig
type ParallelGeosConfig ¶
type ParallelGeosConfig struct {
TileCount int // 分块数量 (N*N)
MaxWorkers int // 最大工作协程数
BufferDistance float64 // 分块缓冲距离
IsMergeTile bool // 是否合并瓦片
ProgressCallback ProgressCallback // 进度回调
PrecisionConfig *GeometryPrecisionConfig // 几何精度配置
}
ParallelGeosConfig 并行相交分析配置
type PostGISConfig ¶
type PostGISConfig struct {
Host string
Port string
Database string
User string
Password string
Schema string
Table string
}
PostGISConfig PostGIS连接配置
type PostGISFieldInfo ¶
type PostGISFieldInfo struct {
Name string
Type string
Width int
Precision int
IsNullable bool
DefaultValue *string
IsPrimaryKey bool
IsGeometry bool
GeometryType string // POINT, LINESTRING, POLYGON等
SRID int
}
PostGISFieldInfo 字段信息
type PostGISLayer ¶
type PostGISLayer struct {
LayerName string
Records []PostGISRecord
Fields []PostGISFieldInfo
}
PostGISLayer 表示PostGIS图层数据
type PostGISReader ¶
type PostGISReader struct {
// contains filtered or unexported fields
}
PostGISReader PostGIS读取器
func MakePGReader ¶
func MakePGReader(table string) *PostGISReader
func NewPostGISReader ¶
func NewPostGISReader(config *PostGISConfig) *PostGISReader
NewPostGISReader 创建新的PostGIS读取器
func (*PostGISReader) ReadGeometryTable ¶
func (r *PostGISReader) ReadGeometryTable() (*GDALLayer, error)
ReadGeometryTable 读取PostGIS几何表数据
type PostGISReaderFiltered ¶ added in v1.4.2
type PostGISReaderFiltered struct {
// contains filtered or unexported fields
}
PostGISReaderFiltered 带过滤条件的PostGIS读取器
func (*PostGISReaderFiltered) ReadGeometryTable ¶ added in v1.4.2
func (r *PostGISReaderFiltered) ReadGeometryTable() (*GDALLayer, error)
ReadGeometryTable 读取带过滤条件的几何表
type PostGISRecord ¶
PostGISRecord 表示从PostGIS查询得到的记录
type ProgressCallback ¶
ProgressCallback 进度回调函数类型 返回值:true继续执行,false取消执行
type ProgressData ¶
type ProgressData struct {
// contains filtered or unexported fields
}
ProgressData 进度数据结构,用于在C和Go之间传递信息
type RasterDataset ¶ added in v1.2.11
type RasterDataset struct {
// contains filtered or unexported fields
}
RasterDataset 栅格数据集
func OpenRasterDataset ¶ added in v1.2.11
func OpenRasterDataset(imagePath string, reProj bool) (*RasterDataset, error)
imagePath: 影像文件路径
func (*RasterDataset) ClipPixelRasterByLayerByte ¶ added in v1.3.2
func (rd *RasterDataset) ClipPixelRasterByLayerByte(layer *GDALLayer, options *ClipOptions) ([]ClipResultByte, error)
ClipPixelRasterByLayerByte 使用矢量图层裁剪像素坐标系栅格数据并返回二进制数据 此方法不使用gdalwarp,而是将矢量栅格化为掩膜后进行裁剪
func (*RasterDataset) ClipRasterByLayer ¶ added in v1.3.0
func (rd *RasterDataset) ClipRasterByLayer(layer *GDALLayer, options *ClipOptions) ([]ClipResult, error)
ClipRasterByLayer 使用矢量图层裁剪栅格数据
func (*RasterDataset) ClipRasterByLayerByte ¶ added in v1.3.0
func (rd *RasterDataset) ClipRasterByLayerByte(layer *GDALLayer, options *ClipOptions) ([]ClipResultByte, error)
ClipRasterByLayerByte 使用矢量图层裁剪栅格数据并返回二进制数据
func (*RasterDataset) GetActiveDataset ¶ added in v1.3.0
func (rd *RasterDataset) GetActiveDataset() C.GDALDatasetH
func (*RasterDataset) GetBounds ¶ added in v1.2.11
func (rd *RasterDataset) GetBounds() (minX, minY, maxX, maxY float64)
GetBounds 获取边界(Web墨卡托坐标)
func (*RasterDataset) GetBoundsLatLon ¶ added in v1.2.11
func (rd *RasterDataset) GetBoundsLatLon() (minLon, minLat, maxLon, maxLat float64)
GetBoundsLatLon 获取边界(经纬度)
func (*RasterDataset) GetInfo ¶ added in v1.2.11
func (rd *RasterDataset) GetInfo() DatasetInfo
GetInfo 获取数据集信息
func (*RasterDataset) GetTileRange ¶ added in v1.2.11
func (rd *RasterDataset) GetTileRange(zoom int) (minTileX, minTileY, maxTileX, maxTileY int)
GetTileRange 获取指定缩放级别的瓦片范围(符合Mapbox规范)
func (*RasterDataset) ReadTile ¶ added in v1.2.11
func (rd *RasterDataset) ReadTile(zoom, x, y, tileSize int) ([]byte, error)
ReadTile 读取瓦片数据(黑色背景转透明)
func (*RasterDataset) ReadTileRaw ¶ added in v1.3.17
func (rd *RasterDataset) ReadTileRaw(zoom, x, y, tileSize int) ([]float32, error)
ReadTileRaw 读取瓦片原始高程数据(返回float32数组,用于地形处理)
func (*RasterDataset) ReadTileRawWithNoData ¶ added in v1.3.17
func (rd *RasterDataset) ReadTileRawWithNoData(zoom, x, y, tileSize int) ([]float32, float32, error)
ReadTileRawWithNoData 读取瓦片原始高程数据,同时返回NoData值
type RasterTileResult ¶ added in v1.2.12
RasterTileResult 瓦片结果
type RasterTiler ¶ added in v1.3.6
type RasterTiler struct {
// contains filtered or unexported fields
}
RasterTiler 栅格切片器
func NewRasterTiler ¶ added in v1.3.6
func NewRasterTiler(raster *RasterDataset, options *TileOptions) (*RasterTiler, error)
NewRasterTiler 创建栅格切片器
func (*RasterTiler) ClipByTiles ¶ added in v1.3.6
func (t *RasterTiler) ClipByTiles(clipOptions *ClipOptions) ([]ClipResultByte, error)
ClipByTiles 使用切片图层裁剪栅格并返回二进制数据
func (*RasterTiler) CreateTileLayer ¶ added in v1.3.6
func (t *RasterTiler) CreateTileLayer() (*GDALLayer, error)
CreateTileLayer 创建切片矢量图层(内存图层)
func (*RasterTiler) GenerateTiles ¶ added in v1.3.6
func (t *RasterTiler) GenerateTiles() error
GenerateTiles 生成切片信息
func (*RasterTiler) GetGridInfo ¶ added in v1.3.6
func (t *RasterTiler) GetGridInfo() (rows, cols int)
GetGridInfo 获取网格信息
func (*RasterTiler) GetTileByIndex ¶ added in v1.3.6
func (t *RasterTiler) GetTileByIndex(index int) (*TileInfo2, error)
GetTileByIndex 根据索引获取切片信息
func (*RasterTiler) GetTileByRowCol ¶ added in v1.3.6
func (t *RasterTiler) GetTileByRowCol(row, col int) (*TileInfo2, error)
GetTileByRowCol 根据行列号获取切片信息
func (*RasterTiler) GetTileCount ¶ added in v1.3.6
func (t *RasterTiler) GetTileCount() int
GetTileCount 获取切片数量
func (*RasterTiler) GetTileLayer ¶ added in v1.3.6
func (t *RasterTiler) GetTileLayer() *GDALLayer
GetTileLayer 获取已创建的切片图层
func (*RasterTiler) GetTiles ¶ added in v1.3.6
func (t *RasterTiler) GetTiles() []TileInfo2
GetTiles 获取切片信息列表
type SHPLayerInfo ¶
type SHPLayerInfo struct {
LayerName string
GeoType string
FieldInfos []FieldInfo
FeatureData []FeatureData
}
SHPLayerInfo SHP图层信息结构
func SHPToPostGIS ¶
func SHPToPostGIS(shpPath string) (SHPLayerInfo, error)
SHPToPostGIS 将SHP文件转换为PostGIS格式
type SerializedLayerData ¶
SerializedLayerData 表示序列化的图层数据
type SpatialReference ¶
type SpatialReference struct {
// contains filtered or unexported fields
}
SpatialReference 表示空间参考系统的Go包装器
func CreateEPSG4490WithCorrectAxis ¶
func CreateEPSG4490WithCorrectAxis() (*SpatialReference, error)
type SpatialReferenceXML ¶ added in v1.4.7
type SyncFieldOptions ¶ added in v1.3.9
type SyncFieldOptions struct {
SourceField string // PostGIS源字段名
TargetField string // GDB目标字段名
SourceIDField string // PostGIS的ID字段名(默认为"objectid")
TargetIDField string // GDB的ID字段名("FID"或"OBJECTID")
UseFID bool // 是否使用FID作为关联字段(默认true)
BatchSize int // 批处理大小(默认1000)
UseTransaction bool // 是否使用事务(默认true)
UpdateNullValues bool // 是否更新NULL值(默认false)
FieldMapping map[string]string // 多字段映射(源字段->目标字段)
WhereClause string // SQL过滤条件(可选)
}
SyncFieldOptions 字段同步选项
type SyncResult ¶ added in v1.3.9
type SyncResult struct {
TotalCount int // 总记录数
UpdatedCount int // 成功更新数
FailedCount int // 失败数
SkippedCount int // 跳过数
Errors []string // 错误信息列表
}
SyncResult 同步结果
func SyncFieldFromPostGIS ¶ added in v1.3.9
func SyncFieldFromPostGIS(postGISConfig *PostGISConfig, gdbPath string, gdbLayerName string, options *SyncFieldOptions) (*SyncResult, error)
SyncFieldFromPostGIS 从PostGIS同步字段值到GDB postGISConfig: PostGIS配置 gdbPath: GDB文件路径 gdbLayerName: GDB图层名称 options: 同步选项
type TableStructureInfo ¶
type TableStructureInfo struct {
TableName string
Schema string
Fields []PostGISFieldInfo
}
func GetTableStructure ¶
func GetTableStructure(DB *gorm.DB, tableName string) (*TableStructureInfo, error)
type TerrainOptions ¶ added in v1.3.17
type TerrainOptions struct {
TileSize int // 瓦片大小,默认256(Mapbox Terrain-RGB使用256或512)
MinZoom int // 最小缩放级别
MaxZoom int // 最大缩放级别
Encoding string // 编码方式: "mapbox" 或 "terrarium"
Concurrency int // 并发数
BatchSize int // 批量插入大小
ProgressCallback ProgressCallback // 进度回调
}
TerrainOptions 地形瓦片生成选项
type TerrainTileResult ¶ added in v1.3.17
TerrainTileResult 地形瓦片结果
type TileClipResultM ¶
type TileClipResultM struct {
Index int // 瓦片索引
Success bool // 是否成功
Error error // 错误信息
OutputPath string // 输出文件路径
FeatureCount int // 要素数量
}
TileClipResultM 表示瓦片裁剪结果
func ClipAndSerializeLayerByTilesOptimized ¶
func ClipAndSerializeLayerByTilesOptimized(layer *GDALLayer, tiles []*TileInfo, uuid string, config *TileProcessingConfig, progressCallback TileProgressCallback) ([]*TileClipResultM, error)
ClipAndSerializeLayerByTilesOptimized 优化版本的主要接口函数
type TileInfo ¶
type TileInfo struct {
Index int // 分块索引
MinX float64 // 边界框
MinY float64
MaxX float64
MaxY float64
Envelope C.OGRGeometryH // 分块包络几何体
}
TileInfo 分块信息
type TileInfo2 ¶ added in v1.3.6
type TileInfo2 struct {
Name string // 切片名称
Index int // 切片索引
Row int // 行号
Col int // 列号
Bounds [4]float64 // 切片边界 [minX, minY, maxX, maxY]
PixelBounds [4]int // 像素边界 [minX, minY, maxX, maxY]
Width int // 切片宽度(像素)
Height int // 切片高度(像素)
}
TileInfo 切片信息
type TileOptions ¶ added in v1.3.6
type TileOptions struct {
TileWidth int // 切片宽度(像素)
TileHeight int // 切片高度(像素)
OverlapX int // X方向重叠像素数
OverlapY int // Y方向重叠像素数
NamePrefix string // 切片名称前缀
StartIndex int // 起始索引
BufferDist float64 // 缓冲距离(可选)
}
TileOptions 切片选项
type TileProcessingConfig ¶
type TileProcessingConfig struct {
MaxConcurrency int // 最大并发数
BufferSize int // 预分配缓冲区大小
EnableProgress bool // 是否启用进度回调
}
TileProcessingConfig 瓦片处理配置
type TileProgressCallback ¶
ProgressCallback 进度回调函数
type TileResult ¶
type TileResult struct {
TileIndex int
InteriorFeatures []C.OGRFeatureH // 完全在分块内部的要素
BorderFeatures []C.OGRFeatureH // 可能跨越边界的要素
Error error
ProcessTime time.Duration
}
修改分块结果结构,标记边界要素
type TileServer ¶ added in v1.4.16
type TileServer struct {
// contains filtered or unexported fields
}
TileServer 动态瓦片服务器(免切片)
func NewTileServer ¶ added in v1.4.16
func NewTileServer(imagePath string, options *TileServerOptions) (*TileServer, error)
NewTileServer 创建动态瓦片服务器
func (*TileServer) GetBounds ¶ added in v1.4.16
func (ts *TileServer) GetBounds() (minLon, minLat, maxLon, maxLat float64)
GetBounds 获取边界(经纬度)
func (*TileServer) GetTerrainTile ¶ added in v1.4.16
func (ts *TileServer) GetTerrainTile(z, x, y int, encoding string) ([]byte, error)
GetTerrainTile 获取地形瓦片(Terrain-RGB格式)
func (*TileServer) GetTile ¶ added in v1.4.16
func (ts *TileServer) GetTile(z, x, y int) ([]byte, error)
GetTile 获取瓦片(核心方法 - 高性能)
func (*TileServer) GetTilePNG ¶ added in v1.4.16
func (ts *TileServer) GetTilePNG(z, x, y int) ([]byte, error)
GetTilePNG 获取PNG格式瓦片
func (*TileServer) GetTileRange ¶ added in v1.4.16
func (ts *TileServer) GetTileRange(zoom int) (minTileX, minTileY, maxTileX, maxTileY int)
GetTileRange 获取指定缩放级别的瓦片范围
type TileServerOptions ¶ added in v1.4.16
type TileServerOptions struct {
TileSize int // 瓦片大小,默认256
PoolSize int // 数据集池大小,默认为CPU核心数
Reproject bool // 是否重投影到Web Mercator
}
TileServerOptions 瓦片服务器选项
type TransformErrorAction ¶ added in v1.4.3
type TransformErrorAction int
TransformErrorAction 转换错误处理方式
const ( TransformErrorSkip TransformErrorAction = iota // 跳过该要素 TransformErrorFail // 失败并停止 TransformErrorKeepRaw // 保留原始坐标 )
type TransformOptions ¶ added in v1.4.3
type TransformOptions struct {
// 转换精度控制
AreaOfInterest *AreaOfInterest // 感兴趣区域(用于选择最佳转换方法)
// 高程处理
IncludeZ bool // 是否包含Z值转换
// 错误处理
OnTransformError TransformErrorAction // 转换错误时的处理方式
}
TransformOptions 坐标转换选项
type UnionConfig ¶
type UnionConfig struct {
GroupFields []string // 分组字段列表
OutputLayerName string // 输出图层名称
GeomType C.OGRwkbGeometryType // 输出几何类型
PrecisionConfig *GeometryPrecisionConfig // 几何精度配置
ProgressCallback ProgressCallback // 进度回调
}
UnionConfig Union操作配置
type UnionProcessor ¶
type UnionProcessor struct {
// contains filtered or unexported fields
}
在 UnionProcessor 结构体中添加并发控制字段
func NewUnionProcessor ¶
func NewUnionProcessor(config *UnionConfig) *UnionProcessor
修改 NewUnionProcessor 函数
func (*UnionProcessor) ProcessUnion ¶
func (up *UnionProcessor) ProcessUnion(inputLayer *GDALLayer) (*GeosAnalysisResult, error)
ProcessUnion 执行Union操作
Source Files
¶
- Clip.go
- CreateMemoryLayer.go
- DataTransform.go
- Deserialize.go
- Erase.go
- GDALFeature.go
- GDALLayer.go
- GDBCoordinateSystems.go
- GDBDataSetGen.go
- GDBEdit.go
- GDBEditV2.go
- GDBMetaDataReader.go
- GDBMetaDataWriter.go
- GdalLaylerToPG.go
- GeoTools.go
- GeojsonEdit.go
- Identity.go
- ImageProcessor.go
- Intersect.go
- LayerConfig.go
- MbtilesGen.go
- PrintSummary.go
- RasterClip.go
- RasterWatch.go
- RaterReader.go
- ReaderWriter.go
- SHPEdit.go
- SymDifference.go
- TileGenerate.go
- Tiler.go
- Union.go
- Update.go
- cgo_header.go
- configs.go
- field_mapping.go
- test_gogeo.go
- tiff_writer.go