data mining - How to use ELKI clustering with LatLngDistanceFunction -


the default settings clustering seems work fine- euclideandistancefunction. however, want run clustering spatial data in form of lng/lat , when change distance function elki crashes on me:

running: -dbc.in /tmp/test_data_lnglat-test.dat -db.index tree.spatial.rstarvariants.deliclu.deliclutreefactory -algorithm clustering.deliclu -algorithm.distancefunction geo.lnglatdistancefunction -deliclu.minpts 4 task failed java.lang.unsupportedoperationexception: mbr mbr mindist not yet implemented. @ de.lmu.ifi.dbs.elki.distance.distancefunction.geo.lnglatdistancefunction.doublemindist(unknown source) @ de.lmu.ifi.dbs.elki.algorithm.knnjoin.processdatapagesdouble(unknown source) @ de.lmu.ifi.dbs.elki.algorithm.knnjoin.processdatapagesoptimize(unknown source) @ de.lmu.ifi.dbs.elki.algorithm.knnjoin.initheaps(unknown source) @ de.lmu.ifi.dbs.elki.algorithm.knnjoin.run(unknown source) @ de.lmu.ifi.dbs.elki.algorithm.clustering.deliclu.run(unknown source) @ sun.reflect.nativemethodaccessorimpl.invoke0(native method) @ sun.reflect.nativemethodaccessorimpl.invoke(nativemethodaccessorimpl.java:39) @ sun.reflect.delegatingmethodaccessorimpl.invoke(delegatingmethodaccessorimpl.java:25) @ java.lang.reflect.method.invoke(method.java:597) @ de.lmu.ifi.dbs.elki.algorithm.abstractalgorithm.run(unknown source) @ de.lmu.ifi.dbs.elki.workflow.algorithmstep.runalgorithms(unknown source) @ […] 

its not clear (to me) error means. possible clustering functions not work geo spatial data?

is there simple workaround this? difficult implement required function (mindset)?

as error pretty states:

mbr mbr mindist not yet implemented.

however, algorithm tried use - deliclu - needs compute minimum distance between 2 rectangles. in geodetic coordinates, not in 2d plane.

you welcome contribute adequate formulas. spherical geometry not trivial, aware computing minimal rectangle-to-rectangle distance non trivial. not sufficient @ 4 corners. far, have solved point-to-rectangle case. it's doable - rectangles axis aligned - nobody far bothered sit down , math, , sit down more , optimize formulas require little trigonometric functions possible.

the simplest workaround use optics regular r-tree (use bulk loads str!) instead of deliclu, because algorithm yield identical result, not need rectangle-to-rectangle minimum distance. in theory, deliclu faster; in practise not hold, because of more complex (and harder optimize) code of knn joins on r-trees.


Comments

Popular posts from this blog

blackberry 10 - how to add multiple markers on the google map just by url? -

php - guestbook returning database data to flash -

java - Using an Integer ArrayList in Android -