This topic describes the release notes for Ganos. Ganos is a spatio-temporal database engine.

Minor engine version Description
4.6
  • New features:
    • Raster data stored in self-managed Multi-Cloud Object Storage (MinIO) buckets can be accessed. For more information, see Object storage paths.
    • The ST_PointValues function is added. This function is used to return the pixel values of all bands.
  • Bug fixes:
    • The bug due to which the ST_Clip function causes the incorrect order of bands is fixed.
    • The bug that causes low performance during raster updates is fixed. This bug is due to missing indexes on primary keys.
    • The bug that retries are not supported when you cannot access the trajectory objects stored in an Object Storage Service (OSS) bucket is fixed.
4.5
  • New features:

    Ganos is compatible with PostgreSQL 14.

  • Performance improvements:

    The cache for trajectory objects stored in external storage media is increased. This improves access performance.

  • Bug fixes:
    • The bug that causes missing file suffixes when raster data is exported to an OSS bucket is fixed.
    • The bug that causes failed statistics on specific raster data is fixed.
4.4
  • New features:
    • The ST_LinearStretch function is supported. This function is used to linearly stretch a raster and return a new raster.
    • The ST_BuildPercentiles function is supported. This function is used to calculate the percentiles of the specified bands of a raster.
    • The ST_ComputeStatistics function is supported. This function is used to collect all statistics about a raster. The statistics include the histogram and percentiles.
    • The ST_Percentile function is supported. This function is used to query the percentiles of the specified bands of a raster.
  • Performance improvements:
    • The ST_SummaryStats and ST_BuildHistogram functions support parallel computing.
    • The S​T_ExportTo function is optimized. If the specified file exists, the function returns false rather than an error message.
    • The ST_ImportFrom function is optimized. If an import error occurs, the function returns the details about the error. Users can troubleshoot the error based on the error details.
  • Bug fixes:
    • The bug due to which half a pixel of a raster that is cropped may be lost when values are rounded up or rounded down is fixed.
    • The bug due to which the data of a raster cannot be properly imported or collected if the data contains values such as NAN and INF is fixed.
4.3
  • New features:
    • The ST_PixelAsPolygon function is supported. This function is used to convert a specified pixel of a raster into a polygon object.
    • The ST_PixelAsPolygons function is supported. This function is used to convert the pixels at a specified position of a raster into polygon objects.
    • The ST_PixelAsPoint function is supported. This function is used to convert a specified pixel of a raster into a geometric object that is represented by a specified point of the geometric object.
    • The ST_PixelAsCentroid function is supported. This function is used to convert a specified pixel of a raster into a geometric object that is represented by the point in the center of the geometric object.
    • The ST_PixelAsPoints function is supported. This function is used to convert the pixels at a specified position of a raster into geometric objects, each of which is represented by a specified point in the geometric object.
    • The ST_PixelAsCentroids function is supported. This function is used to convert the pixels at a specified position of a raster into geometric objects, each of which is represented by the point in the center of the geometric object.
  • Performance improvements:
  • Bug fixes:
    • The bug due to which an incorrect spatial reference identifier (SRID) is obtained when raster data is imported in the Network Common Data Form (NetCDF) format is fixed.
    • The bug due to which multiple bounding boxes cannot be properly updated if the results of the equals operations on these bounding boxes are incorrect is fixed.
4.1
  • Performance improvements:
    • The ST_ImportFrom function is optimized to allow Ganos to map an OSS object to an in-memory file. This way, data import is accelerated.
    • The operator family trajgist_ops_multi is supported for GiST indexing and TrajGiST indexing. You can create a GiST index or a TrajGiST index on multiple bounding boxes. For more information, see GiST indexing and TrajGiST indexing.
    • Vector pyramids are optimized to support queries of metadata.
  • Bug fixes:
    • The bug that causes memory leaks when Ganos is used to check whether two specified trajectories intersect is fixed.
4.0
  • Performance improvements:
    • The functions that are used to calculate the different values of a raster surface are optimized to return rasters rather than pixel matrixes. These functions are ST_Hillshade, ST_Slope, and ST_Aspect.
    • The ST_Split function is optimized to split a trajectory into sub-trajectories based on a specified rule.
  • Bug fixes:

    The bug due to which the ST_SrEqual function fails to check whether two spatial reference systems are the same in specific scenarios is fixed.

3.9
  • New features:
    • The ST_removeDriftPoints function is added. This function is used to delete the drift points of a trajectory based on a specified rule.
    • The ST_Split function is added. This function is used to split a trajectory based on a specified spatial geometric object.
    • The ST_ExportTo function is added. This function is used to export a trajectory as an external file. Only metadata is retained in the database that stores the trajectory.
    • The ST_IsExternal function is added. This function is used to check whether a trajectory is stored in an external file.
    • The ST_importFrom function is added. This function is used to migrate a trajectory from the external file that stores the trajectory to the original database.
    • The ST_StorageLocation function is added. This function is used to query the location of an external file of a trajectory.
    • The ST_AKID function is added. This function is used to query the AccessKey ID that is used to read trajectory data from OSS.
    • The ST_SetAccessKey function is added. This function is used to configure an AccessKey pair that is used to read trajectory data from OSS. An AccessKey pair consists of an AccessKey ID and an AccessKey secret. An AccessKey ID is similar to a username, and an AccessKey secret is similar to a password.
    • The ST_SetAkId function is added. This function is used to configure an AccessKey ID that is used to read trajectory data from OSS.
    • The ST_SetAkSecret function is added. This function is used to configure an AccessKey secret that is used to read trajectory data from OSS.
    • The ST_SetStorageLocation function is added. This function is used to specify the storage location of an external file when trajectory data is read from the external file.
    • The ST_DeleteGTF function is added. This function is used to delete the files that contain the exported trajectories from a specified folder.
  • Bug fixes:
    • The bug due to which data cannot be filtered based on strings when a vector pyramid is being created is fixed.
    • The bug due to which layers cannot be displayed when QGIS is connected is fixed.
3.8
  • New features:
    • The ST_AsDatasetFile function is added. This function is used to convert a specified part of a raster into a BYTEA-type file.
    • The ST_RasterDrivers function is added. This function is used to query all drivers that are supported by raster data sources in Ganos.
    • The Ganos_FDW module is added. This module provides the FOREIGN DATA WRAPPER (FDW) plug-in. This plug-in is used to access the spatial vector data that is stored in OSS buckets.
      • The ST_FDWDrivers function is added. This function is used to obtain all drivers that are supported by the data sources of the Ganos_FDW plug-in.
      • The ST_ForeignTables function is added. This function is used to query the name of a table from an external database.
      • The ST_RegForeignTables function is added. This function is used to define a table in data sources that are supported by the Ganos_FDW plug-in as an external table.
  • Bug fixes:

    The bug due to which the ST_Clip function encounters reprojection failures when a spatial reference system is specified is fixed.

3.7
  • Performance improvements:

    The ST_SubRaster function is optimized. This function can be used to convert a raster into a new raster based on the data that is extracted from a specified pyramid level or specified bands of the original raster. This function can also be used to convert multi-band remote sensing images into three-band images that can be recognized by AI technologies.

  • Bug fixes:
    • The bug due to which Ganos unexpectedly exits when Ganos parses invalid histograms is fixed.
    • The bug due to which Ganos unexpectedly exits after projection settings are modified is fixed.
    • The bug due to which Ganos unexpectedly exits when raster data is imported into Ganos is fixed.
3.6
  • New features:
    • The ST_RPCGeoreference function is added. This function is used to query the rational polynomial coefficients (RPC) model of a raster.
    • The ST_SetRPCGeoreference function is added. This function is used to configure the RPC model of a raster.
    • The ST_RPCRectify function is added. This function is used to calibrate a raster based on the RPC model of the raster and return a calibrated raster.
    • A parallel mechanism is added. This mechanism is used to create GiST indexes in parallel.
  • Bug fixes:

    The bug that may prevent the pg_dump plug-in from backing up custom SRIDs is fixed.

3.5
  • Performance improvements:

    Ganos is optimized. When a raster is updated based on a different raster, Ganos can automatically delete the data chunks of the original raster.

  • Bug fixes:
    • The bug due to which trajectory-related plug-ins cannot be upgraded is fixed.
    • The bug that causes resampling errors when the Average resampling method is used to resample rasters is fixed.
    • The bug due to which inaccurate results are returned for queries on a trajectory object is fixed. This bug is triggered when multiple timestamps show the same trajectory point along the trajectory.
    • The bug due to which Ganos exits when the conversion of geo-spatial objects fails is fixed. Ganos is optimized to report the causes of the failures.
3.4
  • New features:
    • Feature signatures are supported for large spatio-temporal objects. This accelerates the process of creating indexes on spatio-temporal data, expedites spatial joins, and optimizes the storage method for spatio-temporal objects. The polar_enable_storage_partial parameter is added. This parameter is used to specify optimized storage for spatio-temporal objects. Optimized storage allows you to store the metadata of spatio-temporal objects in-row and store the entity data of spatio-temporal objects off-row. For more information, see Feature signature-based storage optimization for large spatio-temporal objects.
    • The ST_ImportFrom function is added. This function is used to import rasters in parallel.
    • The ST_BuildPyramid function is added. This function is used to build pyramids for rasters in parallel.
    • Empty trajectory objects are supported, and null trajectory objects can be returned if the specified requirements are not met.
  • Bug fixes:
    • The bug due to which the ST_AddZ function returns inaccurate results is fixed. This bug is triggered when the values of input parameters are 16-bit signed integers.
    • The bug due to which the trajectory module cannot be upgraded is fixed.
    • The bug due to which specific functions of the trajectory module cannot use indexes is fixed.
    • The bug due to which specific ND functions cannot run as expected is fixed. If this bug is triggered, these ND functions cannot identify two periods of time that do not intersect and consequently return the value error rather than the value false.
3.3
  • New features:
    • The ST_JaccardSimilarity function is added. This function is used to calculate the similarity between trajectory objects.
    • The ST_Transform function is added. This function is used to convert a trajectory object from a spatial reference system into a different spatial reference system.
  • Performance improvements:

    A new parameter is provided. This parameter is used to specify the spatial extent of a vector pyramid when Ganos cannot automatically calculate the spatial extent of the vector pyramid that you want to build.

  • Bug fixes:

    The bug that causes invalid data catalogs is fixed.

3.2
  • New features:
    • BYTEA-type images can be returned for vector pyramids. This feature can be used to visualize vector data.
    • The JPEG 2000 compression algorithm is added. This algorithm is used to compress 16-bit raster data before the data is stored.
    • The ganos_update function is added. Users can run the select ganos_update() ; command to upgrade all plug-ins of Ganos to the latest versions.
    • The TRAJECTORY data type is added:
      • Native spatio-temporal indexes are supported.
      • GiST indexes are supported for trajectory objects, and six operator families are provided for you to create GiST indexes in six dimensions.
      • The BOXND data type is added. This data type is used to describe the spatio-temporal extents of trajectory objects and store trajectory objects.
      • The following operators are added. These operators are used to compare the spatio-temporal relationships between two objects from different dimensions: && operator, @> operator, and <@ operator. The && operator is used to check whether two objects intersect. The @> operator is used to check whether the left operand-specified object includes the right operand-specified object. The <@ operator is used to check whether the left operand-specified object is included in the right operand-specified object.
      • The ST_ndIntersects, ST_ndDWithin, ST_ndContains, and ST_ndWithin functions are added. These functions are used to process trajectory objects.
      • New features are added. These features are used to collect statistics about trajectory objects and estimate scan costs based on the statistics.
      • TrajGiST indexes are supported. TrajGiST indexing is an improved indexing method.
  • Performance improvements:
    • The ST_DWithin function is optimized to query distances at higher performance.
    • The GiST index-based two-phase query optimization method is used to query spatio-temporal extents at higher performance.
    • The mechanism that is used to build vector pyramids is optimized:
      • The source data from all coordinate systems that provide SRIDs is supported. The source data is based on the EPSG:3857 or EPSG:4326 coordinate reference system.
      • The pixelSize parameter is added. This parameter is used to aggregate point data. The aggregation helps reduce the number of tiles.
  • Bug fixes:
    • The bug that causes an improper intersection of trajectory objects on the t axis is fixed.
    • The bug that causes failures in updating rasters is fixed.
    • The bug due to which binary files do not respond after they are upgraded to later versions is fixed.
    • The bug that causes an abnormally large number of tiles at the top layer of a vector pyramid when the default parameter settings are used to build point data for the vector pyramid is fixed.
3.0
  • New features:
    • NetCDF files that contain subsets are supported. These files can be imported into specified layers based on the layer names that you specify.
    • The following functions are added to query and specify the custom metadata and time series data of a raster file:
      • The ST_MetaItems function is used to query the names of all custom metadata items in a raster file.
      • The ST_MetaData function is used to query the custom metadata items of a raster file and return metadata items in the JSON format.
      • The ST_SetMetaData function is used to configure the metadata items of a raster file.
      • The ST_BeginDateTime function is used to query the start time of a raster file.
      • The ST_EndDateTime function is used to query the end time of a raster file.
      • The ST_SetBeginDateTime function is used to specify the start time of a raster file.
      • The ST_SetEndDateTime function is used to specify the end time of a raster file.
      • The ST_SetDateTime function is used to specify the start time, end time, and band acquisition time of a raster file.
    • The following functions are added to convert a raster into a BYTEA-type image:
      • The ST_AsImage function is used to convert a raster into a BYTEA-type image.
      • The ST_AsPNG function is used to convert a raster into a BYTEA-type image and save the image as a PNG file.
      • The ST_AsJPEG function is used to convert a raster into a BYTEA-type image and save the image as a JPEG file.
    • The GEOMGRID data type is added, and new functions are provided to manage this type of data:
      • The GEOMGRID data type is added.
      • The ST_AsText function is used to convert data from the GEOMGRID data type to the TEXT data type.
      • The ST_AsGeometry function is used to convert data from the GEOMGRID data type to the GEOMETRY data type.
      • The ST_AsBinary function is used to convert data from the GEOMGRID data type to the BINARY data type.
      • The ST_AsBox function is used to convert data from the GEOMGRID data type to the BOX data type.
      • The ST_AsGrid function is used to convert data from the GEOMETRY data type to the GEOMGRID data type.
      • The ST_GridFromText function is used to convert data from the TEXT data type to the GEOMGRID data type.
      • The ST_GridFromBinary function is used to convert data from the BINARY data type to the GEOMGRID data type.
      • The ST_Intersects function is used to check whether a grid object intersects with a geometric object.
      • The ST_Contains function is used to check whether a grid object includes another grid object or a geometric object.
      • The ST_Within function is used to check whether a grid object is included in another grid object or a geometric object.
    • The following functions are added to support vector pyramids and display vector pyramids at high speeds:
      • The ST_BuildPyramid function is used to build a vector pyramid.
      • The ST_DeletePyramid function is used to delete a vector pyramid.
      • The ST_Tile function is used to query the tile data of a vector pyramid in the MVT format.
  • Bug fixes:
    • The bug due to which memory resources are exhausted when you build pyramids is fixed.
    • The bug due to which Ganos cannot create a trajectory point on January 1, 2000 for a moving object is fixed.
    • The bug due to which the ST_Intersection function returns inaccurate sub-trajectories for a moving object is fixed.
2.9
  • New features:
    • The Cloud Optimized GeoTIFF (COG) format is supported. Ganos can read pyramid data that are stored in COG files.
    • The ST_AddZ function is added. This function is used to add the z coordinate to a geometric object based on the pixel values of the raster in which the geometric object resides.
    • The following functions are added to efficiently query the spatial extents of rasters based on pyramid levels:
      • The ST_Extent function is used to query the spatial extent of a raster and return a bounding box.
      • The ST_Envelope function is used to query the spatial extent of a raster and return a geometric object.
      • The ST_ConvexHull function is used to query the spatial extent of a raster and return a geometric object.
      • The ST_Height function is used to query the pixel height of a raster.
      • The ST_Width function is used to query the pixel width of a raster.
      • The ST_XMin function is used to query the minimum x coordinate of a raster.
      • The ST_YMin function is added to query the minimum y coordinate of a raster.
      • The ST_XMax function is used to query the maximum x coordinate of a raster.
      • The ST_YMax function is used to query the maximum y coordinate of a raster.
  • Bug fixes:
    • The bug that limits the performance of Ganos is fixed. This bug is triggered when Ganos splits external raster data into chunks by using the 1 × n chunking model. After this bug is fixed, you can customize the size per chunk.
    • The bug due to which the ST_Values function returns linear objects whose coordinates on specific axes do not follow the sorting rules is fixed.
    • The bug due to which the ST_BestPyramidLevel function returns negative values is fixed
    • The bug due to which the ST_BuildPyramid function repeatedly builds pyramids is fixed.
    • The bug due to which chunk tables cannot be cleared in a timely manner when you truncate raster tables is fixed.
    • The bug due to which the ST_ExportTo function is invalid on the CreateOption parameter is fixed.
    • The bug that causes errors when the ST_ClearChunks function is invoked is fixed. This bug is triggered when the name of the table on which the function is invoked contains both uppercase letters and lowercase letters.
    • The bug that causes failures in creating an overview for an external pyramid is fixed.
    • The bug that causes failures in creating an internal pyramid for a raster that has an external pyramid is fixed.
    • The bug due to which inaccurate statistics are returned for queries on rasters is fixed. This bug is triggered when the rasters contain NaN values.
2.8
  • New features:
    • The following functions are added to efficiently query the metadata of rasters:
      • The ST_XMin function is used to query the minimum x coordinate of a raster.
      • The ST_YMin function is used to query the minimum y coordinate of a raster.
      • The ST_XMax function is used to query the maximum x coordinate of a raster.
      • The ST_YMax function is used to query the maximum y coordinate of a raster.
      • The ST_ChunkHeight function is used to query the chunk height of a raster.
      • The ST_ChunkWidth function is used to query the chunk width of a raster.
      • The ST_ChunkBands function is used to query the number of bands based on which the data of a raster is split into chunks.
    • The ST_SrFromEsriWkt function is added to convert a spatial reference string from the Esri format to the OGC format.
    • The Zstandard (Zstd) compression algorithm and the Snappy compression algorithm are added. These algorithms are used to compress raster data.
    • Point cloud files can be copied in binary format.
    • The PROJ_LIB and GDAL_DATA environment variables can be configured, and the relevant data can be deployed.
  • Bug fixes:
    • The bug due to which Ganos unexpectedly exits when an invalid OSS path is specified is fixed.
    • The bug that causes inconsistencies between the imported SRIDs and original SRIDs of specific rasters is fixed.
2.7
  • New features:
    • The following MD5 functions are added. These functions are used to manage spatial rasters. The management operations include data consistency check and duplicate removal:
      • The ST_MD5Sum function is used to query the MD5 value of a raster.
      • The ST_SetMD5Sum function is used to specify the MD5 value of a raster.
    • The following functions are added to authenticate the spatial rasters that are stored in OSS buckets:
      • The ST_AKId function is used to query the AccessKey ID of a raster that is stored in an OSS bucket.
      • The ST_SetAccessKey function is used to specify the AccessKey ID and AccessKey secret of a raster that is stored in an OSS bucket.
      • The ST_SetAKId function is used to specify the AccessKey ID of a raster that is stored in an OSS bucket.
      • The ST_SetAKSecret function is used to specify the AccessKey secret of a raster that is stored in an OSS bucket.
    • The following functions are added to manage the metadata of a spatial raster:
      • The ST_ScaleX function is used to query the pixel width of a raster on the x axis of the spatial reference system.
      • The ST_ScaleY function is used to query the pixel width of a raster on the y axis of the spatial reference system.
      • The ST_SetScale function is used to specify the pixel width of a raster in the spatial reference system.
      • The ST_SkewX function is used to query the skew of a raster on the x axis of the spatial reference system.
      • The ST_SkewY function is used to query the skew of a raster on the y axis of the spatial reference system.
      • The ST_SetSkew function is used to specify the skew of a raster in the spatial reference system.
      • The ST_UpperLeftX function is used to query the x-coordinate of the pixel in the upper-left corner of a raster in the spatial reference system.
      • The ST_UpperLeftY function is used to query the y-coordinate of the pixel in the upper-left corner of a raster in the spatial reference system.
      • The ST_SetUpperLeft function is used to query the coordinates of the pixel in the upper-left corner of a raster in the spatial reference system.
      • The ST_PixelWidth function is used to query the pixel width of a raster in the spatial reference system.
      • The ST_PixelHeight function is used to query the pixel height of a raster in the spatial reference system.
  • Bug fixes:

    The bug that causes failures in upgrading extensions is fixed. This bug is triggered when aggregate functions are invoked during the upgrade process.

2.6
  • New features:

    The ST_Clip function is added. This function is used to clip objects based on pixel coordinates.

  • Bug fixes:
    • The name of the ST_NearestApproachDistance function is corrected.
    • The bug due to which the ST_MosaicFrom function unexpectedly exits is fixed.