22QString QgsStDbscanClusteringAlgorithm::name()
const
24 return QStringLiteral(
"stdbscanclustering" );
27QString QgsStDbscanClusteringAlgorithm::displayName()
const
29 return QObject::tr(
"ST-DBSCAN clustering" );
32QString QgsStDbscanClusteringAlgorithm::shortDescription()
const
34 return QObject::tr(
"Clusters spatiotemporal point features using a time and density based scan algorithm." );
37QStringList QgsStDbscanClusteringAlgorithm::tags()
const
39 return QObject::tr(
"clustering,clusters,density,based,points,temporal,time,interval,duration,distance" ).split(
',' );
42QString QgsStDbscanClusteringAlgorithm::group()
const
44 return QObject::tr(
"Vector analysis" );
47QString QgsStDbscanClusteringAlgorithm::groupId()
const
49 return QStringLiteral(
"vectoranalysis" );
52void QgsStDbscanClusteringAlgorithm::initAlgorithm(
const QVariantMap & )
58 addParameter(
new QgsProcessingParameterDistance( QStringLiteral(
"EPS" ), QObject::tr(
"Maximum distance between clustered points" ), 1, QStringLiteral(
"INPUT" ),
false, 0 ) );
59 auto durationParameter = std::make_unique<QgsProcessingParameterDuration>( QStringLiteral(
"EPS2" ), QObject::tr(
"Maximum time duration between clustered points" ), 0,
false, 0 );
61 addParameter( durationParameter.release() );
63 auto dbscanStarParam = std::make_unique<QgsProcessingParameterBoolean>( QStringLiteral(
"DBSCAN*" ), QObject::tr(
"Treat border points as noise (DBSCAN*)" ),
false,
true );
65 addParameter( dbscanStarParam.release() );
67 auto fieldNameParam = std::make_unique<QgsProcessingParameterString>( QStringLiteral(
"FIELD_NAME" ), QObject::tr(
"Cluster field name" ), QStringLiteral(
"CLUSTER_ID" ) );
69 addParameter( fieldNameParam.release() );
70 auto sizeFieldNameParam = std::make_unique<QgsProcessingParameterString>( QStringLiteral(
"SIZE_FIELD_NAME" ), QObject::tr(
"Cluster size field name" ), QStringLiteral(
"CLUSTER_SIZE" ) );
72 addParameter( sizeFieldNameParam.release() );
79QString QgsStDbscanClusteringAlgorithm::shortHelpString()
const
81 return QObject::tr(
"Clusters point features based on a 2D implementation of spatiotemporal density-based clustering of applications with noise (ST-DBSCAN) algorithm.\n\n"
82 "For more details, please see the following papers:\n"
83 "* Ester, M., H. P. Kriegel, J. Sander, and X. Xu, \"A Density-Based Algorithm for Discovering Clusters in Large Spatial Databases with Noise\". In: Proceedings of the 2nd International Conference on Knowledge Discovery and Data Mining, Portland, OR, AAAI Press, pp. 226-231. 1996\n"
84 "* Birant, Derya, and Alp Kut. \"ST-DBSCAN: An algorithm for clustering spatial–temporal data.\" Data & Knowledge Engineering 60.1 (2007): 208-221.\n"
85 "* Peca, I., Fuchs, G., Vrotsou, K., Andrienko, N. V., & Andrienko, G. L. (2012). Scalable Cluster Analysis of Spatial Events. In EuroVA@ EuroVis." );
88QgsStDbscanClusteringAlgorithm *QgsStDbscanClusteringAlgorithm::createInstance()
const
90 return new QgsStDbscanClusteringAlgorithm();
@ VectorPoint
Vector point layers.
@ DateTime
Accepts datetime fields.
@ Advanced
Parameter is an advanced parameter which should be hidden from users by default.
A numeric output for processing algorithms.
A double numeric parameter for distance values.
A feature sink output for processing algorithms.
An input feature source (such as vector layers) parameter for processing algorithms.
A vector layer or feature source field parameter for processing algorithms.
A numeric parameter for processing algorithms.