Вам не нужно конвертировать из SVG в GeoJSON, чтобы использовать изображение для хороплета в d3, хотя это может быть необходимо для других библиотек.
Информация о пути в файле SVG (должен быть хотя бы один путь для каждого штата / страны / штата / подразделения на вашей карте) достаточно для сопоставления данных с вашим SVG-изображением в d3.
Позвольте мне выразить это по-другому: если вы можете сделать d3.select на вашем исходном svg, который будет возвращать только один путь на штат / страну / регион, то вы можете использовать d3 для создания хороплета. Обычно это тот случай, когда у вас есть карта в SVG. На самом деле это проще, чем использовать файл GeoJSON, так как вам не нужно беспокоиться о местоположении в пространстве, проекции и т. Д. Возможно, вы даже захотите настроить исходный SVG-файл, чтобы добавить недостающую информацию (например, имена состояний, которые вы можете добавить в качестве идентификаторов DOM или Классы), прежде чем использовать его с D3, но обычно это не нужно.
С другой стороны, как было сказано ранее, в SVG есть только информация о путях / линиях, а не географическая / пространственная информация, поэтому, если вы хотите конвертировать из SVG в GeoJSON, вам нужно добавить информацию о геолокации ADD / MAP в ваше изображение SVG. Например, вы можете сначала преобразовать из SVG в JSON, а затем рассчитать / добавить информацию о геолокации (это будет зависеть от региона, который вы отображаете) и сгенерировать из него GeoJSON. Насколько я знаю, нет готового инструмента, который бы сделал эту работу за вас.