Проблема производительности с Doctrine, PostGIS и MapFish - PullRequest
0 голосов
/ 02 сентября 2011

Я разрабатываю приложение WebGIS с использованием Symfony с плагином MapFish http://www.symfony -project.org / plugins / sfMapFishPlugin

Я использую GeoJSON, созданный MapFish, для рендеринга слоев через OpenLayersв векторном слое, конечно.

Когда я показываю слои до 3k объектов, все работает отлично.Когда я пытаюсь со слоями с 10k объектов или более, происходит сбой приложения.Я не знаю порог, потому что у меня есть слои с 2-3k-объектами или 10-13k-компонентами.

Я думаю, что проблема связана с доктриной, потому что последний отчет в журнале похож на:

Sep 02 13:22:40 symfony [info] {Doctrine_Connection_Statement} execute :

, а затем запрос на выборку географических записей.

Я сказал, что думаю, что проблема заключается в количестве функций.Поэтому я использовал OpenLayers.Strategy.BBox (), чтобы уменьшить количество объектов, которые нужно получить и показать.Результат тот же.Приложение кажется зависшим при выполнении запроса.

Если я добавлю ограничение на строку запроса, используемую для получения GeoJSON функций, приложение будет работать.Так что я не думаю, что это связано с плагином MapFish, но с Doctrine.

У кого-нибудь есть просветление?Спасибо!

1 Ответ

0 голосов
/ 02 сентября 2011

Даже если теоретически это возможно, попытка показать на карте так много векторных объектов - плохая идея.Вам лучше изменить способ отображения функций (например, растр для низких уровней масштабирования, получить функцию при нажатии ...).

Даже если ваша служба ответит в разумные сроки, ваш браузер застрянет илипо крайней мере, будет иметь очень плохую производительность ... Я являюсь автором sfMapFishPlugin, и я никогда не пытался запрашивать так много функций, и даже меньше пытался показать их на карте OL.

Ознакомьтесь с часто задаваемыми вопросами OpenLayers на эту тему: http://trac.osgeo.org/openlayers/wiki/FrequentlyAskedQuestions#WhatisthemaximumnumberofCoordinatesFeaturesIcandrawwithaVectorlayer, немного устаревший с недавними улучшениями в браузерах, но 10k векторных функций на карте не разумно.

НТН,

...