2

I am new to geodata processing.

For my sample project I am trying to solve next problem.

I have array of geo points. If we place it on plot we can visually see that there are areas where density is higher. I need to find this areas.

I heard about R-tree's and bounding box, but can someone advise me on what way should I go and what material should I read?

example boud

1 Answer 1

5

You could use model-based clustering; e.g. mclust (Manual) is a contributed R package for model-based clustering, classification, and density estimation based on finite normal mixture modeling. It provides functions for parameter estimation via the EM algorithm for normal mixture models with a variety of covariance structures.

## create example data set 
set.seed(1)
library("MASS")
x <- rbind(mvrnorm(150, c(50,50), 35*diag(c(1, 1))),
           mvrnorm(150, c(70,70), 20*matrix(c(1, 0.8, 0.8, 1), 2, 2)))
plot(V2 ~ V1, data=x, col=group)

scatterplot

library("mclust")

res <- Mclust(x[, 1:2])
res
##'Mclust' model object:
## best model: ellipsoidal, varying volume, shape, and orientation (VVV) with 2 components

summary(res)
## ----------------------------------------------------
## Gaussian finite mixture model fitted by EM algorithm 
## ----------------------------------------------------
## 
## Mclust VVV (ellipsoidal, varying volume, shape, and orientation) model with 2 components:
## 
##  log.likelihood   n df   BIC   ICL
##           -1953 300 11 -3968 -3973

## 
## Clustering table:
##   1   2 
## 152 148
## 

plot(res, what="classification")

Mclust result

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.