2013-09-08 5 views
0

Я хочу показать около 50 000 точек на слое на карте OpenLayers. Каждая точка составляет около 100 км * 100 км. Другими словами, я хотел бы покрасить зеленый цвет 100KM * 100KM зеленого цвета на 179.3333,65.5000. Я нашел этот учебник онлайн на сайте OpenLayers: http://openlayers.org/dev/examples/styles-context.htmlКак добавить много точек на карту OpenLayers

Но это не то, что я ищу. Кто-нибудь знает какие-либо учебники или статьи, которые могут помочь мне? или любые указатели на то, как это сделать?

Кроме того, если вы считаете, что Openlayers - это не тот инструмент, и есть лучший, можете ли вы, пожалуйста, дайте мне знать?

Спасибо

ответ

0

Вы хотите, чтобы показать отдельные точки, или вы хотите, чтобы показать большую коробку?

Отображение 50000 баллов будет много, и это может быть умным, чтобы использовать некоторый алгоритм кластера, если уменьшить масштаб, далеко см 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(); 

Затем выяснить способ определения 100х100 километров (мои 0,3 градусов не будет делать), и добавить StyleMap вектору слой

+0

Благодарим вас за ответ. Я в основном пытаюсь создать что-то вроде [link] (http://sac.csic.es/spei/map/maps.html) Другими словами, у меня есть список разных лат и lon s и хочу показать разные цвета, которые указывают на другую информацию, на карте. Должен ли я использовать кластерную стратегию, должен ли я создать карту, используя php (с другим инструментом), и использовать слой для отображения этих данных или использовать только точки? Спасибо –

+1

А теперь я получу его. Как карта погоды. Вы не должны делать это с помощью векторного слоя, но с полупрозрачным слоем изображения. Вы можете использовать одно статическое изображение, если ваши данные статичны (см. Http://openlayers.org/dev/examples/image-layer.html), сгенерируйте изображение (например, png) с помощью php, если оно динамическое. Более продвинутым было бы использовать somehting, как geoserver, для создания фрагментов на разных масштабирующих объектах. – ivy

+0

В настоящее время я использую метод, который вы упомянули. У меня проблемы с масштабируемыми объективами, потому что они имеют низкое качество. Поэтому я решил добавить точки вручную, используя векторы открытых слоев, чтобы он имел лучшее качество. Должен ли я использовать Geoserver для создания меньших слоев и перемещения меньших для увеличения? Кстати, если вы знаете какие-либо источники учебников, я был бы признателен, если вы можете поделиться ими. Спасибо –