Las últimas versiones de MapServer (6.0+) son compatibles con la agrupación en el lado del servidor: http://mapserver.org/mapfile/cluster.html
Desde la versión 6.0, MapServer tiene la capacidad de combinar múltiples entidades de una capa de puntos en entidades individuales (agregadas) en función de sus posiciones relativas. Solo se admiten capas POINT. Esta característica se agregó a través de MS RFC 69: Soporte para la agrupación de características en capas de puntos.
La propuesta para esta funcionalidad se detalla en: http://mapserver.org/development/rfc/ms-rfc-69.html
Una configuración de muestra a continuación:
LAYER
NAME "my-cluster"
TYPE POINT
...
CLUSTER
MAXDISTANCE 20 # in pixels
REGION "ellipse" # can be rectangle or ellipse
GROUP (expression) # an expression to create separate groups for each value
FILTER (expression) # a logical expression to specify the grouping condition
END
Esta capa se puede servir como cualquier otra como un WMS (MapServer también admite mosaico).
No he intentado esto, y los documentos no están claros, pero también puede admitir un servicio WFS agrupado.
Una alternativa es hacer clustering en el nivel de la base de datos en lugar de en el nivel del servidor web, entonces puede usar cualquier servidor WMS, vea: Clustering espacial con PostGIS .