OpenLayers Layer.XYZ не может получить широту правильно? (с TileMill + TileStache)
Я построил локальный сервер плиток для обслуживания локальных приложений javascript, и я получаю плитки карт через openlayers как Layer.XYZ.
Я получил необработанные данные по Массачусетсу от thinkgeo. Он регистрируется в правильных координатах, потому что он совпадает со встроенной картой страны Tilemill.
Я экспортирую карту из tilemill через mapnik (также сделал это с помощью mbtiles при крайнем уменьшении размера) и настраиваю tilestache для использования соответствующего выходного файла. Кажется, он работает правильно, потому что, когда я загружаю свой javascript, карты стран удаляются, и когда я нахожу Массачусетс, дороги подсвечиваются, как я хочу.
Итак, вот проблема:
Когда я установил масштаб и установил центр на lon/lat Бостона, который корректно работал на Layer.OSM в онлайн-версии, которую я написал ранее, это дает мне океан к северо-западу от Гренландии. Фактически, я должен установить широту на -lat, чтобы даже оказаться в пределах досягаемости Массачусетса, но это все равно не помещает меня в Бостон.
Я установил конфигурацию TileStache для использования WGS84 и импорт OpenLayers для использования EPSG:4326, что во всей документации указывает на то же самое. Таким образом, мне интересно, есть ли что-то в слоях OL XYZ, которое делает это более сложным?
Если у кого-то есть какие-либо другие предложения, связанные с другим программным обеспечением, которое я использую, у меня все в ушах.
1 ответ
Я просто использовал sphericalMercator и преобразовал все мои вычисления в метры (что... фактически упростило задачу, но я уже закончил написание кода для этих вещей). Я до сих пор понятия не имею, почему lon / lat были сломаны, но эй, если метры работают....