Мне нужно рассчитать масштаб, учитывая ограничивающий прямоугольник в координатах карты (EPSG: 900913) и ширину / высоту изображения.
Это потому, что я внедряю очень простой сервер WMS, но в определенные моментымне нужно знать масштаб изображения.
Простой запрос будет:
wms.exe?LAYERS=all&SERVICE=WMS&VERSION=1.1.1&REQUEST=GetMap&STYLES=&FORMAT=image%2Fjpeg&SRS=EPSG%3A900913&BBOX=-7810029.800979,-2298920.0623849,-7809724.0528659,-2298614.3142718&WIDTH=256&HEIGHT=256
, этот запрос исходит от компонента openlayer на веб-странице, настроенной с этими параметрами:
var optionsGmap = {
projection: new OpenLayers.Projection("EPSG:900913"),
units: "m",
sphericalMercator: true,
numZoomLevels: 16,
maxExtent: new OpenLayers.Bounds(-20037508.34, -20037508.34, 20037508.34, 20037508.34),
scales : [110936068.185464,55468034.0927321,27734017.0463661,13867008.523183,6933504.26159152,
3466752.13079576,1733376.06539788,866688.03269894,433344.01634947,216672.008174735,108336.004087367,54168.0020436837,27084.0010218419,
13542.0005109209,6771.00025546046,3385.50012773023],
maxResolution: "auto" };
есть формула для расчета этого?У меня есть доступ к postgres + posgis в бэкэнде, но я предпочитаю выполнять вычисления самостоятельно в коде C.