Ну, ответ на самом деле не в том, как использовать GD или ImageMagick, для этого есть руководства. Что касается вспомогательных библиотек, большинство библиотек сосредоточено на графике, все остальное вам придется написать самостоятельно. В качестве решения лучше всего было бы, чтобы ваш интерфейс администратора генерировал изображения при изменении данных в серверной части и кэшировал изображения, поскольку нет причин создавать изображение каждый раз, когда кто-то обращается к нему.
Для генерации карт, я думаю, вам лучше всего определить станции с одной или несколькими «линиями», которые определяют какой-то индикатор отношения к станциям вокруг, и x, y. Вам, вероятно, нужно будет только определить «родительскую» станцию, поскольку вы просто рисуете линии от a-b. Таким образом, вы можете расположить их таким же образом, как они обычно отображаются на реальных поездах, использовать линии и окружающие станции для рисования отображений.
Не кажется слишком сложной проблемой. 3 стола:
- station [stationid, name, x, y, meta1, meta2],
- мест размещения [placementid, stationid, lineid, parenttationid],
- строки [lineid, имя, meta1, meta2, цвет и т. Д.].
SVG неплохо бы с этим справился, и вы бы избежали всего процесса создания и кэширования изображений, но остерегались бы проблем с поддержкой браузера.
Похоже, довольно интересный проект, удачи:)