choropleth 표현을위한 작은 JS 이산화 라이브러리


9

사용할 준비가 된 작은 stat / discretization js 라이브러리가 있는지 알고 싶습니다.

나는 jStat 의 존재에 대해 알고 있으며 (좀 더 철저하게 탐색 할 수 있음) mapfish에는 choropleth map을 만들기위한 geostats 모듈 / 위젯이 있음을 알고 있습니다 . 여기 에서 코드를 찾았습니다 . 그러나 그것은 오픈 레이어에 의존하며 독립 실행 형 라이브러리를 갖고 궁극적으로 오픈 레이어와 자유롭게 통신하고 싶습니다.

몇 가지 기본 방법을 원합니다.

  • 최대
  • 평균
  • 중앙값

클래스 수와 정밀도 (소수)를 지정할 수있는 기능으로 다음과 같은 이산화를 구현할 수 있습니다.

  • Quantile
  • 등 간격
  • 자연 휴식 (정크)

아직 존재하지 않으면 아마도 직접 코딩하고 무료 라이센스로 github에 릴리스 할 것입니다. 모든 자료와 조언을 환영합니다.


1
code.google.com/p/pseudosavant/source/browse/trunk/mathStats/… 와 비슷합니다. jStat를 사용하지 않는 이유는 무엇입니까?
geographika

실제로 당신이 언급 한 도서관은 좋은 출발일 수 있습니다. 왜 jstat가 아닌가? 나는 이산화 방법을 보지 못했고 그것이 실제로 내가 우선적으로 찾던 것이기 때문에 통계 방법은 일종의 보너스입니다
simo

답변:


18

글쎄, 나는 어제 무언가를 코딩하고 MIT 라이센스하에 발표했다.

geostats 라는 라이브러리 는 github에서 사용할 수 있습니다 . 패키지에는 예제가 포함되어 있습니다. 또한 http://www.intermezzo-coop.eu/mapping/geostats/ (구체적인 choropleth 표현 샘플 포함 ) 에서 실제로 볼 수 있습니다 .

위에 나열된 8 가지 방법을 지원합니다.

  • Quantile
  • 등 간격
  • 표준 편차
  • 산술 진행
  • 기하학적 진행
  • 자연 나누기 (Jenks) : Jenks 분류 코드는 Doug Curl 에서 가져 왔습니다 .
  • 고유 한 값
  • 사용자 정의 분류

이 라이브러리에는 범례를 HTML 형식으로 렌더링하는 방법도 포함되어 있습니다. 사용 가능한 옵션 (연속, 불연속, 고유 클래스)을 보려면 HTML 범례 샘플 을 참조하십시오.

Quantile 분류 샘플 :

Quantile 분류 및 범례

고유 값 분류 샘플 : 여기에 이미지 설명을 입력하십시오

Marcharter 라이브러리를 사용하여 shapefile에서 직접 값을 읽는 데모를 보십시오 .

jsconsole을 사용하여 2 단계로 직접 시도하려면 다음을 수행하십시오 .

먼저 콘솔에 복사 / 붙여 넣기를 수행하십시오 .

load("https://raw.github.com/simogeo/geostats/master/lib/geostats.js");

그런 다음 복사 / 붙여 넣기를 수행하십시오.

var data = Array(12, 22, 5, 8, 43, 2, 34, 12, 34, 36, 5, 21, 23, 45, 12, 31, 38); 
serie = new geostats(data); 
serie.getEqInterval(4);
alert('Classification method : ' + serie.method + "\n\nClasses : " + serie.ranges.join(' | '));

버그를 발견하면 알려주십시오. 다시 한번, 도서관을 향상시키기 위해 어떤 아이디어 나 제안을 환영합니다.

그게 다야! 그것이 당신에게도 도움이되기를 바랍니다.


주의 – jsconsole 링크는 실제로 스패머 스쿼트 인 "jconsole.com"을 가리 킵니다. 이 문제를 해결하는 데 필요한 업장이 없습니다. 누구나 링크를 업데이트 할 수 있습니까? 악성 코드를 포함 할 수 있습니다.
Thibaut Barrère

1

Zachary Forest Johnson은 오픈 레이어에 대한 주제별 분석을 제공하기 위해 정말 훌륭한 작업을 수행했습니다.

이 라이브러리는 github 에서 사용할 수 있으며 github 에서 사용할 수 있습니다 . 프로젝트 및 샘플에 대한 자세한 설명은 그의 블로그에서 확인할 수 있습니다 .



당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.