Лестница при переходе от декартовых плиток к Here.com
Я пытаюсь сшить плитки на экране Windows DirectX 9. Моя проблема в том, что плитки на ступеньках на экране. Я думаю, это потому, что в моей декартовой системе координат один и тот же Y задан с одинаковой широтой, не зависящей от X (или долготы).
Мое приложение использует API Proj4 для преобразования в / из широты / ширины и выбранную пользователем систему координат (например, NAD83, Zone Connecticut), которая является декартовой моделью X/Y. Я использую скользкий код C# ( https://wiki.openstreetmap.org/wiki/Slippy_map_tilenames) для преобразования в / из lat / lng и плиток. Итак, я конвертирую следующим образом View-> Model X/Y -> lat/lng -> Tile X/Y -> lat/lng -> Model X/Y -> View.
Любые предложения о том, как заставить это работать? Изменение моей системы координат для рендеринга моего вида не вариант, потому что клиенты импортируют файлы DXF, которые используют эти декартовы системы координат.
1 ответ
Я сделал неверное предположение, что моя проекция экрана была идеальной широтой. Прямая горизонтальная линия на проекции с отображением состояния не поддерживает ту же широту, что и плитки. При рендеринге моей текстуры мне просто нужно было убедиться, что все углы были преобразованы в координаты моей модели, таким образом, немного растянув изображение до верхнего правого и нижнего левого.