gdal_dart 0.2.4
gdal_dart: ^0.2.4 copied to clipboard
Dart FFI package for raster and vector geodata based on GDAL.
Changelog #
Alle relevanten Änderungen des Pakets werden hier dokumentiert.
0.2.4 #
Added #
Gdal.getCRSInfo()— CRS-Metadaten (Name, Typ, Bounding Box, Projektionsmethode) per Authority-Key abrufen, per-Isolate gecachedCrsInfoModell — immutables Dart-Objekt mit allen CRS-Metadaten aus der PROJ-DatenbankCrsTypeEnum — Geographic 2D/3D, Projected, Vertical, Compound, etc.- Native
OSRCRSInfoStruct-Binding (erste FFI-Struct im Codebase) - Lazy Symbol-Lookup für
OSRGetCRSInfoListFromDatabase/OSRDestroyCRSInfoList— bricht nicht auf GDAL < 3.0
0.2.3 #
Added #
Gdal.getOrCreateWKT()— per-Isolate WKT-Cache mit Authority-Key (z.B."EPSG:4326"), vermeidet wiederholteproj.db-Lookups- Windows-Mutex-Guard (
CreateMutexW) für thread-sichere Treiberregistrierung auf Windows
Fixed #
- POSIX
_flockGuardedRegisterwirft beifd < 0stattallRegister()direkt aufzurufen — verhindert potentiellen Doppelaufruf
0.2.2 #
Added #
Gdal.setConfigOption()/Gdal.getConfigOption()— GDAL-Konfigurationsoptionen lesen und setzen (viaCPLSetConfigOption/CPLGetConfigOption)
0.2.1 #
0.2.0 #
Added #
- OGR-Vektor-Lesen — GeoJSON, GeoPackage und Shapefile über eine einheitliche API lesen
Gdal.openVector()— Format-agnostischer Einstiegspunkt für Vektor-DatasetsVectorDataset— Layer-Zugriff mitlayerCount,layer(),layerByName()OgrLayer— Feature-Iteration (lazy viasync*), Schema-Zugriff (fieldDefinitions), Extent, Spatial ReferenceOgrLayer.setSpatialFilterRect()/clearSpatialFilter()— Server-seitige räumliche Filterung über GDALOgrLayer.setAttributeFilter()/clearAttributeFilter()— SQL-WHERE-basierte Attribut-FilterungFeature— Immutables Dart-Objekt mitfid,attributesundgeometryGeometrysealed class mitPoint,LineString,Polygon,MultiPoint,MultiLineString,MultiPolygon,GeometryCollectionOgrFieldTypeEnum für OGR-FeldtypenOgrExceptionfür Vektor-spezifische Fehler- Native OGR-Brücke (
gdal_ogr.dart) mit 30 C-API-Funktionen coverage-uncoveredDocker-Stage für per-Datei Uncovered-Lines-Report- Beispiel:
example/vector_example.dart - Test-Fixtures:
points.geojson,mixed_geometries.geojson
0.1.0 #
Added #
GdalEinstiegspunkt mitopenGeoTiff(),createGeoTiff(),spatialReferenceFromEpsg(),spatialReferenceFromWkt(),versionString,versionNumber,driverCountGeoTiffDatasetzum Lesen:width,height,bandCount,projectionWkt,geoTransform,spatialReference,band()GeoTiffWriterzum Schreiben:setGeoTransform(),setProjection(),setNoData(),writeAsUint8/Uint16/Int16/Float32/Float64(), GettergeoTransform,projectionWkt; GTiff-ErstellungsoptionenRasterBandmit typisierten Leseoperationen (readAsUint8, …), Tile-Zugriff (tileWindow,readBlock,tileCountX/Y), Overview-Support (overviewCount,overview()), Metadaten (dataType,noDataValue,blockWidth/Height,width,height)SpatialReferencefür CRS:fromWkt,fromEpsg,toWkt(),toWkt2(),authorityName,authorityCode,isSame()GeoTransformModell mitfromList/toList, Gleichheit,toStringRasterDataTypeEnum (byte_,uint16,int16,uint32,int32_,float32,float64) mitgdalValueundsizeInBytesRasterWindowModell mit Validierung (non-negative Offsets, positive Dimensionen)- Exception-Hierarchie:
GdalException,GdalLibraryLoadException,GdalDatasetClosedException,GdalFileException(mit.path),GdalIOException - Plattformabhängiger Library-Lader mit
GDAL_LIBRARY_PATHUmgebungsvariable - Native OSR-Bridge (
GdalSrs) für Spatial-Reference-Funktionen ffigen.yamlfür GDAL- und OSR-Header- Multi-Stage-Dockerfile (analyze, test, coverage, doc, bindings, publish-check)
- GitHub Actions für CI und pub.dev-Publish
- Testfixtures:
tiny.tif,tiled.tif,multiband_uint16.tif,float32.tif,not_a_tiff.bin - Beispiele:
example/gdal_dart_example.dart,example/tile_processing_example.dart - Tile-Processing-Modul (
lib/src/processing/):GeoTIFFTileProcessorfür RGBA-Tile-Rendering und Elevation-Daten- Adaptive Triangulation mit BVH-Index (portiert aus v-map TypeScript)
- Nearest-Neighbor- und bilineare Interpolation
- Normalisierung für Uint8–Float64-Datentypen
- Vordefinierte Colormaps: viridis, terrain, turbo, rainbow, grayscale
- Martini-kompatible Elevation-Ausgabe
CoordinateTransformfür Koordinatentransformation zwischen CRS via GDAL OCT API:transformPoint(),transformPoints()GeoTiffSource— Convenience-Klasse, die ein GeoTIFF-Dataset mit vorberechneten WGS 84 Bounds und Koordinatentransformation bündelt (portiert aus v-map TypeScriptgeotiff-source.ts)Gdal.coordinateTransform()undGdal.openGeoTiffSource()als Factory-MethodenOSRSetAxisMappingStrategy-Binding:SpatialReferencesetzt automatischOAMS_TRADITIONAL_GIS_ORDER(lon/lat-Achsenreihenfolge)