2013-09-08 2 views
0

OpenLayers지도에서 레이어에 약 50,000 점을 표시하려고합니다. 각 포인트는 약 100 KM * 100 KM입니다. 다시 말해, 100KM * 100KM 상자의 색상을 179.3333, 655000으로 지정하고 싶습니다. OpenLayers 웹 사이트에서이 튜토리얼을 온라인으로 찾았습니다. http://openlayers.org/dev/examples/styles-context.htmlOpenLayers지도에 많은 점을 추가하는 방법

그러나 내가 원하는 것은 아닙니다. 누구든지 나를 도울 수있는 자습서 나 기사를 알고 있습니까? 또는 그것을하는 방법에 어떤 포인터?

또한 Openlayers가 올바른 도구가 아니며 더 나은 도구가 있다고 생각되면 알려 주시기 바랍니다.

고맙습니다.

답변

0

큰 점수를 표시 하시겠습니까? 아니면 큰 상자를 표시 하시겠습니까?

많은 것 50,000 포인트를 표시

, 당신은 훨씬 축소 단지 벡터 레이어에 다각형을 추가하는 문제가 될 것입니다 상자를 추가 http://openlayers.org/dev/examples/strategy-cluster-threshold.html

볼 경우 어떤 클러스터 알고리즘을 사용하는 스마트 수 있습니다 , 귀하의 경우에는 http://openlayers.org/dev/examples/boxes-vector.html

를 참조가 될 수있는 일 같은 그런 다음

var map = new OpenLayers.Map('map'); 
var ol_wms = new OpenLayers.Layer.WMS("OpenLayers WMS", 
       "http://vmap0.tiles.osgeo.org/wms/vmap0?", {layers: 'basic'}); 
var boxes = new OpenLayers.Layer.Vector("Boxes"); 
var center = OpenLayers.Geometry.Point(179.3333,65.5000); 
var bounds = OpenLayers.Geometry.Polygon.createRegularPolygon(center, 0.3, 4, 0); 
var box = new OpenLayers.Feature.Vector(bounds.toGeometry()); 
boxes.addFeatures(box); 

map.addLayers([ol_wms, boxes]); 
map.zoomToMaxExtent(); 

, (내 0.3도 할 수 없습니다) 100 × 100 킬로미터를 정의하고 벡터에 스타일 맵을 추가하는 방법을 알아낼 층

+0

답장을 보내 주셔서 감사합니다. 저는 주로 [링크] (http://sac.csic.es/spei/map/maps.html)와 같은 것을 만들려고합니다 다른 말로하면 위도와 경도가 다른 목록을 보여주고 싶습니다. 다른 정보를 나타내는 다른 색상이지도에 표시됩니다. 클러스터 전략을 사용해야합니까? php (다른 도구 사용)를 사용하여지도를 만들고 레이어를 사용하여 데이터를 표시해야합니까, 아니면 단지 포인트 만 사용해야합니까? 감사합니다. –

+1

아, 이제 알겠습니다. 날씨지도처럼. 벡터 레이어를 사용하여 반투명 이미지 레이어를 사용해서는 안됩니다. 데이터가 정적 인 경우 하나의 정적 이미지를 사용할 수 있습니다 (http://openlayers.org/dev/examples/image-layer.html 참조). 동적 인 경우 php로 이미지 (예 : png)를 생성하십시오. 더 진보 된 방법은 다른 줌 레이어에 타일을 생성하는 데 지오 서버와 같은 방법을 사용하는 것입니다. – ivy

+0

내가 언급 한 방법을 사용하고 있습니다. 품질이 낮기 때문에 줌 레이어에 문제가 있습니다. 그래서 필자는 openlayers 벡터를 사용하여 수동으로 포인트를 추가하기로 결정하여 더 나은 품질을 얻었습니다. Geoserver를 사용하여 작은 레이어를 만들고 줌을 위해 작은 레이어를 배치해야합니까? Btw, 튜토리얼 출처에 대해 알고 계시다면 공유해 주시면 고맙겠습니다. 감사합니다. –

관련 문제