Одна из наиболее полных систем географии / картографии, доступных для Python, о которой я знаю, это GeoDjango . Это работает поверх Django , инфраструктуры MVC. С ним поставляется большой набор инструментов для расчета полигонов, линий и расстояний, которые могут даже учитывать кривизну земной поверхности, если это необходимо.
С учетом вышесказанного, самый быстрый способ, которым я могу придумать для создания 3D-карты, - это использовать карту высот. Создайте двумерный список кортежей, содержащих координаты (x, y, z). Каждый кортеж представляет собой равномерно расположенную точку на сетке, отображаемую размерами массива. Это создает простую плоскость вдоль осей X и Z; наземная плоскость. Многоугольники, составляющие плоскость, - это четырехугольники, многоугольники с четырьмя сторонами.
Далее, чтобы получить трехмерную высоту, просто присвойте каждой точке значение Y. Это создаст пики и впадины на вашей наземной плоскости.
Как вы отрендерите это, зависит от вас, и преобразование вашей сетки точек в формат многоугольника, который может понять что-то вроде OpenGL, может потребовать некоторой работы, но взгляните на Visual Python , это Простейшая 3D библиотека, которую я видел для Python.