У меня есть несколько шейп-файлов (.shp) с их вспомогательными файлами, которые я хочу отобразить на карте Leaflet. В шейп-файлах используются разные системы координат (CRS), и мне трудно найти самый простой и надежный способ показать объекты на карте. В учебнике geo django DataSource используется для загрузки шейп-файла и последующего управления им. Однако в своих примерах они извлекают только геометрию отдельных элементов, а не всего шейп-файла. Я использовал PyShp , и я могу показать карту, используя что-то вроде:
sf = shapefile.Reader(filename)
shapes = sf.shapes()
geojson = shapes.__geo_interface__
geojson = json.dumps(geojson)
Однако это не удается, когда CRS не WGS84, все не работает, и я не Не вижу, как это преобразовать.
Читаю еще немного, этот пост жалуется на поддержку CRS и pyshp и предлагает использовать ogr2ogr.
Итак, после попытки понять параметры, которые я вижу с использованием Datasource, pyshp и ogr2ogr в качестве возможных вариантов, но я не знаю, какой вариант действительно имеет наибольший смысл. 1023 * в строку geo json, которая использует WGS84, чтобы я мог включить его на страницу HTML, которая использует Leaflet.
Может ли кто-нибудь с большим опытом предложить конкретный маршрут?