mirror of
https://github.com/qgis/QGIS.git
synced 2025-03-04 00:30:59 -05:00
Adds a native k-means clustering algorithm. Based on a port of PostGIS' ST_ClusterKMeans function, this new algorithm adds a new cluster ID field to a set of input features identify the feature's cluster based on the k-means clustering approach. If non-point geometries are used as input, the clustering is based off the centroid of the input geometries.
87 lines
3.6 KiB
XML
87 lines
3.6 KiB
XML
<?xml version="1.0" encoding="utf-8" ?>
|
|
<ogr:FeatureCollection
|
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
|
xsi:schemaLocation="http://ogr.maptools.org/ kmeans_points_5.xsd"
|
|
xmlns:ogr="http://ogr.maptools.org/"
|
|
xmlns:gml="http://www.opengis.net/gml">
|
|
<gml:boundedBy>
|
|
<gml:Box>
|
|
<gml:coord><gml:X>0</gml:X><gml:Y>-5</gml:Y></gml:coord>
|
|
<gml:coord><gml:X>8</gml:X><gml:Y>3</gml:Y></gml:coord>
|
|
</gml:Box>
|
|
</gml:boundedBy>
|
|
|
|
<gml:featureMember>
|
|
<ogr:kmeans_points_5 fid="points.0">
|
|
<ogr:geometryProperty><gml:Point srsName="EPSG:4326"><gml:coordinates>1,1</gml:coordinates></gml:Point></ogr:geometryProperty>
|
|
<ogr:id>1</ogr:id>
|
|
<ogr:id2>2</ogr:id2>
|
|
<ogr:CLUSTER_ID5>2</ogr:CLUSTER_ID5>
|
|
</ogr:kmeans_points_5>
|
|
</gml:featureMember>
|
|
<gml:featureMember>
|
|
<ogr:kmeans_points_5 fid="points.1">
|
|
<ogr:geometryProperty><gml:Point srsName="EPSG:4326"><gml:coordinates>3,3</gml:coordinates></gml:Point></ogr:geometryProperty>
|
|
<ogr:id>2</ogr:id>
|
|
<ogr:id2>1</ogr:id2>
|
|
<ogr:CLUSTER_ID5>2</ogr:CLUSTER_ID5>
|
|
</ogr:kmeans_points_5>
|
|
</gml:featureMember>
|
|
<gml:featureMember>
|
|
<ogr:kmeans_points_5 fid="points.2">
|
|
<ogr:geometryProperty><gml:Point srsName="EPSG:4326"><gml:coordinates>2,2</gml:coordinates></gml:Point></ogr:geometryProperty>
|
|
<ogr:id>3</ogr:id>
|
|
<ogr:id2>0</ogr:id2>
|
|
<ogr:CLUSTER_ID5>2</ogr:CLUSTER_ID5>
|
|
</ogr:kmeans_points_5>
|
|
</gml:featureMember>
|
|
<gml:featureMember>
|
|
<ogr:kmeans_points_5 fid="points.3">
|
|
<ogr:geometryProperty><gml:Point srsName="EPSG:4326"><gml:coordinates>5,2</gml:coordinates></gml:Point></ogr:geometryProperty>
|
|
<ogr:id>4</ogr:id>
|
|
<ogr:id2>2</ogr:id2>
|
|
<ogr:CLUSTER_ID5>4</ogr:CLUSTER_ID5>
|
|
</ogr:kmeans_points_5>
|
|
</gml:featureMember>
|
|
<gml:featureMember>
|
|
<ogr:kmeans_points_5 fid="points.4">
|
|
<ogr:geometryProperty><gml:Point srsName="EPSG:4326"><gml:coordinates>4,1</gml:coordinates></gml:Point></ogr:geometryProperty>
|
|
<ogr:id>5</ogr:id>
|
|
<ogr:id2>1</ogr:id2>
|
|
<ogr:CLUSTER_ID5>4</ogr:CLUSTER_ID5>
|
|
</ogr:kmeans_points_5>
|
|
</gml:featureMember>
|
|
<gml:featureMember>
|
|
<ogr:kmeans_points_5 fid="points.5">
|
|
<ogr:geometryProperty><gml:Point srsName="EPSG:4326"><gml:coordinates>0,-5</gml:coordinates></gml:Point></ogr:geometryProperty>
|
|
<ogr:id>6</ogr:id>
|
|
<ogr:id2>0</ogr:id2>
|
|
<ogr:CLUSTER_ID5>1</ogr:CLUSTER_ID5>
|
|
</ogr:kmeans_points_5>
|
|
</gml:featureMember>
|
|
<gml:featureMember>
|
|
<ogr:kmeans_points_5 fid="points.6">
|
|
<ogr:geometryProperty><gml:Point srsName="EPSG:4326"><gml:coordinates>8,-1</gml:coordinates></gml:Point></ogr:geometryProperty>
|
|
<ogr:id>7</ogr:id>
|
|
<ogr:id2>0</ogr:id2>
|
|
<ogr:CLUSTER_ID5>0</ogr:CLUSTER_ID5>
|
|
</ogr:kmeans_points_5>
|
|
</gml:featureMember>
|
|
<gml:featureMember>
|
|
<ogr:kmeans_points_5 fid="points.7">
|
|
<ogr:geometryProperty><gml:Point srsName="EPSG:4326"><gml:coordinates>7,-1</gml:coordinates></gml:Point></ogr:geometryProperty>
|
|
<ogr:id>8</ogr:id>
|
|
<ogr:id2>0</ogr:id2>
|
|
<ogr:CLUSTER_ID5>0</ogr:CLUSTER_ID5>
|
|
</ogr:kmeans_points_5>
|
|
</gml:featureMember>
|
|
<gml:featureMember>
|
|
<ogr:kmeans_points_5 fid="points.8">
|
|
<ogr:geometryProperty><gml:Point srsName="EPSG:4326"><gml:coordinates>0,-1</gml:coordinates></gml:Point></ogr:geometryProperty>
|
|
<ogr:id>9</ogr:id>
|
|
<ogr:id2>0</ogr:id2>
|
|
<ogr:CLUSTER_ID5>3</ogr:CLUSTER_ID5>
|
|
</ogr:kmeans_points_5>
|
|
</gml:featureMember>
|
|
</ogr:FeatureCollection>
|