mirror of
https://github.com/qgis/QGIS.git
synced 2025-12-15 00:07:25 -05:00
PostgreSQL: Add new geometry types
Allow PolyhedralSurface and TIN in PostgreSQL table. Add a new GeometryColumnType and Capabilities : Surfaces.
This commit is contained in:
parent
9c5f936222
commit
dc65b077aa
@ -84,6 +84,7 @@ QgsAbstractDatabaseProviderConnection.Curves = QgsAbstractDatabaseProviderConnec
|
||||
QgsAbstractDatabaseProviderConnection.SinglePoint = QgsAbstractDatabaseProviderConnection.GeometryColumnCapability.SinglePoint
|
||||
QgsAbstractDatabaseProviderConnection.SingleLineString = QgsAbstractDatabaseProviderConnection.GeometryColumnCapability.SingleLineString
|
||||
QgsAbstractDatabaseProviderConnection.SinglePolygon = QgsAbstractDatabaseProviderConnection.GeometryColumnCapability.SinglePolygon
|
||||
QgsAbstractDatabaseProviderConnection.PolyhedralSurfaces = QgsAbstractDatabaseProviderConnection.GeometryColumnCapability.PolyhedralSurfaces
|
||||
QgsAbstractDatabaseProviderConnection.GeometryColumnCapability.baseClass = QgsAbstractDatabaseProviderConnection
|
||||
QgsAbstractDatabaseProviderConnection.GeometryColumnCapabilities = lambda flags=0: QgsAbstractDatabaseProviderConnection.GeometryColumnCapability(flags)
|
||||
QgsAbstractDatabaseProviderConnection.GeometryColumnCapabilities.baseClass = QgsAbstractDatabaseProviderConnection
|
||||
|
||||
@ -373,6 +373,7 @@ This information is calculated from the geometry columns types.
|
||||
SinglePoint,
|
||||
SingleLineString,
|
||||
SinglePolygon,
|
||||
PolyhedralSurfaces,
|
||||
};
|
||||
|
||||
typedef QFlags<QgsAbstractDatabaseProviderConnection::GeometryColumnCapability> GeometryColumnCapabilities;
|
||||
|
||||
@ -373,6 +373,7 @@ This information is calculated from the geometry columns types.
|
||||
SinglePoint,
|
||||
SingleLineString,
|
||||
SinglePolygon,
|
||||
PolyhedralSurfaces,
|
||||
};
|
||||
|
||||
typedef QFlags<QgsAbstractDatabaseProviderConnection::GeometryColumnCapability> GeometryColumnCapabilities;
|
||||
|
||||
@ -533,6 +533,7 @@ class CORE_EXPORT QgsAbstractDatabaseProviderConnection : public QgsAbstractProv
|
||||
SinglePoint = 1 << 5, //!< Supports single point types (as distinct from multi point types) \since QGIS 3.28
|
||||
SingleLineString = 1 << 6, //!< Supports single linestring types (as distinct from multi line types) \since QGIS 3.28
|
||||
SinglePolygon = 1 << 7, //!< Supports single polygon types (as distinct from multi polygon types) \since QGIS 3.28
|
||||
PolyhedralSurfaces = 1 << 8, //!< Supports polyhedral surfaces (PolyhedralSurface, TIN) types (as distinct from multi polygon types) \since QGIS 3.40
|
||||
};
|
||||
// TODO QGIS 4.0 -- remove SinglePart
|
||||
|
||||
|
||||
@ -169,6 +169,12 @@ QgsNewVectorTableDialog::QgsNewVectorTableDialog( QgsAbstractDatabaseProviderCon
|
||||
addGeomItem( Qgis::WkbType::MultiSurface );
|
||||
}
|
||||
|
||||
if ( conn->geometryColumnCapabilities().testFlag( QgsAbstractDatabaseProviderConnection::GeometryColumnCapability::PolyhedralSurfaces ) )
|
||||
{
|
||||
addGeomItem( Qgis::WkbType::PolyhedralSurface );
|
||||
addGeomItem( Qgis::WkbType::TIN );
|
||||
}
|
||||
|
||||
mGeomTypeCbo->setCurrentIndex( 0 );
|
||||
|
||||
const bool hasZ { conn->geometryColumnCapabilities().testFlag( QgsAbstractDatabaseProviderConnection::GeometryColumnCapability::Z ) };
|
||||
|
||||
@ -124,7 +124,8 @@ void QgsPostgresProviderConnection::setDefaultCapabilities()
|
||||
GeometryColumnCapability::SinglePoint,
|
||||
GeometryColumnCapability::SingleLineString,
|
||||
GeometryColumnCapability::SinglePolygon,
|
||||
GeometryColumnCapability::Curves
|
||||
GeometryColumnCapability::Curves,
|
||||
GeometryColumnCapability::PolyhedralSurfaces
|
||||
};
|
||||
mSqlLayerDefinitionCapabilities =
|
||||
{
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user