поэтому я разместил вопрос на OpenData и после того, как я немного продвинулся в своем стремлении создавать карты из реальной картографической информации, мне посоветовали опубликовать мои дополнительные вопросы на этом сайте.
Итак, после этого вступления, вот оригинальный вопрос:
Я создаю реалистичную 2D-игру RTS (стратегия в реальном времени), и я хотел иметь возможность использовать реальные локации в качестве сценариев для игр.
Игра будет развиваться через нереальный движок, который использует c ++. Идея состоит в том, чтобы движок считывал файл и преобразовывал его в сетку (координатную точку), где каждый квадрат имеет связанный тип местности, как на этом изображении редактора сценариев.
Файл, полученный на другом веб-сайте, представляет собой GML (язык географической разметки) определенного местоположения в мире. GML является расширением XML.
Проблема, с которой я сталкиваюсь, заключается в преобразовании этого GML для данного местоположения в данные, которые могут быть использованы моей игрой, например, массив местоположений или что-то в этом роде.
Любые предложения?
Есть много возможностей сделать это, но общие рекомендации или концепции должны быть следующими:
Первое, что я могу дать, это прочитать любую документацию по формату файлов GML, чтобы узнать, как работают теги размеченного языка, а затем посмотреть, есть ли какие-нибудь библиотеки, облегчающие читать в формате файлов GML или XML и генерировать классы или структуры C ++, в противном случае вам придется написать загрузчик файлов и анализатор gml (xml) со схемой вручную. Затем из этих структур можно извлечь нужные данные и передать их или сохранить в пользовательских структурах данных вашего движка. Тогда, наконец, вы сможете использовать сохраненные данные в вашем движке для генерации контента, который вы хотите.
Рекомендации
книги
Белые бумаги
инструменты — Некоторые бесплатно некоторые нет
Библиотеки
Необходимая информация там; это просто требует времени и усилий; хорошее исследование и умение применять прочитанное в реальной кодовой базе.
Других решений пока нет …