Comments (11)
The duplicate entry is not that strange on a such small serie.
By the way, I haven't coded myself the jenks algorithm. The work has been done by a group of students of Toulouse University (France). I just integrated it (as it is) to my class.
the extractBounds() method returns array of bounds values.
I did a jenks classification on the serie [2,16,20,23,10,29] with QGIS. It returns classes 2-2, 2-2, 2-16, 16-23, 23-29.
I don't think the jenks method used in geostats is incorrect but I'll inquire.
Each algorithm has its own specificity (it's true for mapinfo, esri and qgis world).
Thanks for submitting your remark
from geostats.
Hi Simon,
Many thanks for all the info. That's interesting I didn't know that each algorithm has it's own specificity which explains why the ranges weren't matching the values of another implementation I have. :-)
On another note the following data set:
[8,9,9,8,9,9,8,8,8,25,12,8,12,8,8,8,9,8,8,11,8,8,8,8,8,8,9,9,8,8,8,8,8,9,8,8,9,8,8,8,8,8,8,9,8,9,12,8,9,8,8,11,10,8,12,9,12,8,8,
8,11,9,9,9,8,8,12,8,8,8,12,8,11,10,9,8,8,8,9,8,11,8,11,8,8,10,8,9,8,8,8,8,8,8,10,10,8,9,8,9,8,8,8,8,8,8,8,8,8,9,8,8,8,8,8,8,8
,8,8,8]
returns these ranges:
[8 - 8,8 - 8,8 - 8,8 - 8,8 - 8,8 - 8,8 - 8,8 - 8,8 - 8,8 - 8,8 - 8,8 - 8,8 - 8,8 - 8,8 - 8,8 - 8,8 - 8,8 - 8,8 - 8,8 - 8,8 - 8,8 - 8,8 - 8,8 - 8,8 - 8,8 - 8,8 - 8,8 - 8,8 - 8,8 - 8,8 - 8,8 - 8,8 - 8,8 - 8,8 - 8,8 - 8,8 - 8,8 - 8,8 - 8,8 - 8,8 - 8,8 - 8,8 - 8,8 - 8,8 - 8,8 - 8,8 - 8,8 - 8,8 - 8,8 - 8,8 - 8,8 - 8,8 - 8,8 - 8,8 - 8,8 - 8,8 - 8,8 - 8,8 - 8,8 - 8,8 - 8,8 - 8,8 - 8,8 - 8,8 - 8,8 - 8,8 - 8,8 - 8,8 - 8,8 - 8,8 - 8,8 - 8,8 - 8,8 - 8,8 - 8,8 - 8,8 - 8,8 - 8,8 - 9,9 - 9,9 - 9,9 - 9,9 - 9,9 - 9,9 - 9,9 - 9,9 - 9,9 - 9,9 - 9,9 - 9,9 - 9,9 - 9,9 - 9,9 - 9,9 - 9,9 - 9,9 - 9,9 - 9,9 - 9,9 - 9,9 - 10,10 - 10,10 - 10,10 - 10,10 - 10,10 - 11,11 - 11,11 - 11,11 - 11,11 - 11,11 - 11,11 - 12,12 - 12,12 - 12,12 - 12,12 - 12,12 - 12,12 - 12,12 - 25]
The alternative web based implementation I have returns the following ranges which seem to be more sensible:
[8,9,10 - 11,12,13 - 25]
On the whole geostats is great, thank you so much for all the hard work.
from geostats.
Do you have an online implementation of that?
(By the way, the jenks algorithm was also used by the mapfish framework geo-statistics extension)
from geostats.
The implementation I have is used in an online service for retrieving the University of Kentucky's engagement activities. To get to the Choropleth map click on "Engagement Map", to see the ranges in my previous comment select the year "2010" and the college "Student Affairs".
Thanks, I've just been browsing mapfish's website and reading through it, it looks really interesting!
from geostats.
I see. it seems Daniel J Lewis work (in python) is a very good one.
Have you done the Jenks algorithm transcription from python to javascript yourself? If not, do you know the JS version author? I'd like to know about the license and maybe integrate it to the geostats library after some tests and comparisons with the current one.
from geostats.
I've not had a chance to rewrite Daniel's Python implementation to JavaScript myself, however the author of the application has :-) I have been in communication with him and do have his contact details. I can provide you his email address, is there a discrete way of doing this here?
He has published the source code for the application online, there's also some information regarding its usage - he is happy for the code to be reused but the map service, data, and the ArcGIS Server services used in the application are copyright.
from geostats.
Sorry Simon, I forgot to include the link to the source code in my previous comment. I've updated my comment with the link.
from geostats.
Thanks for the link.
Regarding the email, you can send private message through github.
from geostats.
Simon, I've looked everywhere on github and I'm unable to find the private messaging facility. Could you please point me in the right direction :-)
Thanks
from geostats.
indeed, it was possible before. I'm not sure it is anymore ....
from geostats.
imranazad,
indeed, the Jenks algorithm implementation was buggy. I integrated the Doug Curl implementation you mentioned. Thanks to him the Jenks classification should now work properly.
from geostats.
Related Issues (20)
- min, max and decimalFormat functions HOT 1
- License HOT 2
- Samples not working? HOT 1
- Numeric separators? HOT 3
- NPM Usage HOT 2
- npm import issue HOT 2
- When using getClassJenks function, if you pass a numeric string as the nbClass param, it doesn't work HOT 2
- Ranges HOT 5
- getClassJenks spend a long time HOT 1
- bug on counter when using uniqueValues HOT 1
- using with typescript HOT 8
- Difference in results between getClassJenks and getClassJenks2 HOT 3
- getClassQuantile gives wrong result when used for series with big amount of data HOT 1
- recommended academic citation for geostats HOT 1
- ability to exclude specific values from min / max methods
- Jenks breaks error when data.length is less than nbClass HOT 2
- Setting match bounds on getClassStdDeviation might create wrong intervals
- [v2.0.0] Could not find a declaration file for module 'geostats'.
- error in `getClassJenks` when importing geostats in a vite / sveltekit application
- Unnecessarily Large NPM Package Due to Extraneous OpenLayers Directory HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from geostats.