Openlayers.Bounds (). Transform () не выполняет преобразование - PullRequest
0 голосов
/ 01 ноября 2011

решаемые . См. http://osgeo -org.1560.n6.nabble.com / Openlayers-Bounds-transform-not-do-transform-td3912787.html .

Я пытаюсь выполнить координатное преобразование границ в Openlayers, и попробовал следующее, что для обоих операторов console.log () дает мне одинаковые границы в обоих случаях (но я ожидаю, что второе выражение даст меня в EPGS: 4326):

http://pastebin.com/ADRwjLAy

В обоих операторах console.log () я получаю следующий объект (c & p из отладчика JavaScript Chrome):

Class
bottom: 4816289.746171
centerLonLat: null
left: 189775.37995
right: 761662.354535
top: 5472414.143295
__proto__: Object

Я прочитал документацию для proj4js с открытыми слоями по адресу trac.osgeo.org/openlayers/wiki/Documentation/Dev/proj4js, и там говорится:

OpenLayers интегрируется с Proj4js, если библиотека доступна. Это сделает его использование немного проще. Наличие его в той же папке, что и OpenLayers.js, сделает его доступным.

Что я и сделал по символической ссылке:

matt@xxxxxxxx:/var/www/xxxxx$ ll /var/www/OpenLayers-2.10/
total 1008
drwxr-xr-x 13 matt matt   4096 Nov  1 01:49 .
drwxrwxrwx 30 root root   4096 Nov  1 01:43 ..
-rw-r--r--  1 matt matt 945828 Sep  9  2010 OpenLayers.js
...
lrwxrwxrwx  1 matt matt     31 Nov  1 01:49 proj4js.js -> /var/www/proj4js/lib/proj4js.js
...

Может кто-нибудь помочь мне диагностировать, что я здесь делаю неправильно?

Спасибо, Matt

1 Ответ

0 голосов
/ 01 ноября 2011

Ну, главная проблема в том, что ваша страница вообще не загружается proj4js.js. Вы, вероятно, предполагаете, что OpenLayers загрузит его автоматически, но это не так, поэтому вам нужно загрузить его самостоятельно.

Поскольку OpenLayers не имеет встроенной поддержки EPSG:26915, для выполнения нужного преобразования требуется proj4js.

Вторая проблема заключается в том, что вы хотите явно определить EPSG:26915, добавив строку в свой javascript, которая выглядит следующим образом:

Proj4js.defs["EPSG:26915"] = "+proj=utm +zone=15 +ellps=GRS80 +datum=NAD83 +units=m +no_defs";

Без этого я думаю, что proj4js должен попытаться загрузить определение из spatialreference.org, но, похоже, у меня не получилось, когда я его попробовал.

...