LuciadCPillar 2024.0.04
luciad::GeoPackageFeatureModelCreateOptions::Builder Class Referencefinal

Builder for the GeoPackage model create options. More...

#include <luciad/formats/geopackage/GeoPackageFeatureModelCreateOptions.h>

Public Member Functions

 Builder (Builder &&other) noexcept
 
 Builder (const Builder &other)
 
 ~Builder ()
 
GeoPackageFeatureModelCreateOptions build ()
 Builds the GeoPackage feature model create options. More...
 
BuildercoordinateReference (std::shared_ptr< CoordinateReference > coordinateReference)
 The coordinate reference which is used in the new IFeatureModel. More...
 
BuilderdataType (DataType dataType)
 The data type on which the new IFeatureModel is based. More...
 
BuilderluciadExtensionsEnabled (bool enable)
 Sets whether the GeoPackage feature model gets the Luciad specific extensions. More...
 
Builderoperator= (Builder other) noexcept
 
BuilderoverwriteExistingTables (bool overwrite)
 Whether an existing table with the same name should be overwritten, or if it should result in an error. More...
 

Detailed Description

Builder for the GeoPackage model create options.

Since
2024.0

Constructor & Destructor Documentation

◆ Builder() [1/2]

luciad::GeoPackageFeatureModelCreateOptions::Builder::Builder ( const Builder other)

◆ Builder() [2/2]

luciad::GeoPackageFeatureModelCreateOptions::Builder::Builder ( Builder &&  other)
noexcept

◆ ~Builder()

luciad::GeoPackageFeatureModelCreateOptions::Builder::~Builder ( )

Member Function Documentation

◆ build()

GeoPackageFeatureModelCreateOptions luciad::GeoPackageFeatureModelCreateOptions::Builder::build ( )

Builds the GeoPackage feature model create options.

Setting the data type and coordinate reference is mandatory.

Returns
the options for the GeoPackage model encoder.
Exceptions
LogicExceptionif not all mandatory parameters are set.

◆ coordinateReference()

Builder & luciad::GeoPackageFeatureModelCreateOptions::Builder::coordinateReference ( std::shared_ptr< CoordinateReference coordinateReference)

The coordinate reference which is used in the new IFeatureModel.

Calling this function is mandatory.

Parameters
coordinateReferencethe coordinate reference.
Returns
this builder.
Exceptions
luciad::InvalidArgumentExceptioncoordinateReference may not be nullptr.

◆ dataType()

Builder & luciad::GeoPackageFeatureModelCreateOptions::Builder::dataType ( DataType  dataType)

The data type on which the new IFeatureModel is based.

Calling this function is mandatory.

Parameters
dataTypethe data type.
Returns
this builder.

◆ luciadExtensionsEnabled()

Builder & luciad::GeoPackageFeatureModelCreateOptions::Builder::luciadExtensionsEnabled ( bool  enable)

Sets whether the GeoPackage feature model gets the Luciad specific extensions.

These extensions include:

  • lcdx_geom_CIRCLE the Luciad circle geometry.
  • lcdx_geom_ELLIPSE the Luciad ellipse geometry.
  • lcdx_geom_ELLIPTICALARC the Luciad elliptical arc geometry.

With these extensions the geopackage accepts the following geometries:

Calling this function is optional. The default value is true.

Parameters
enablewhether the new feature model has Luciad specific extensions.
Returns
this builder.

◆ operator=()

Builder & luciad::GeoPackageFeatureModelCreateOptions::Builder::operator= ( Builder  other)
noexcept

◆ overwriteExistingTables()

Builder & luciad::GeoPackageFeatureModelCreateOptions::Builder::overwriteExistingTables ( bool  overwrite)

Whether an existing table with the same name should be overwritten, or if it should result in an error.

Defaults to false; which means a conflict results in an error. Setting this to true means the existing data is overwritten with an empty table.

Parameters
overwritewhether an existing table with the same name should be overwritten.
Returns
this builder.
See also
GeoPackageModelEncoder::createEmptyGeoPackageDataSet for details on overwriting.