Считайте значения через запятую из текстового файла и создайте файл geoJson, используя python - PullRequest
0 голосов
/ 09 октября 2019

Я сейчас работаю над проектом Google Maps. Здесь я хотел бы собрать координаты (несколько точек / многоугольников) у пользователей, извлечь эти значения и динамически создать новый файл geoJson, который затем я могу добавить в основной файл geoJson, который загружается на мою карту.

Например,Пользователь загружает файл (содержимое ниже):

latitude, longitude
30.095319, -95.993581
30.096340, -95.993399
30.096015, -95.991854
30.095040, -95.992219

Я хочу иметь возможность извлечь эти координаты и создать файл geoJson ниже:

{
    "type": "Feature",
    "geometry": {
        "type": "Polygon",
        "coordinates": [
            [
                [
                    -95.972251,
                    30.091505,
                    0
                ],
                [
                    -95.970337,
                    30.091318,
                    0
                ],
                [
                    -95.970973,
                    30.092492,
                    0
                ],
                [
                    -95.972136,
                    30.09262,
                    0
                ]
            ]
        ]
    }
}

1 Ответ

0 голосов
/ 09 октября 2019

прочитайте csv с помощью csv, превратите строки в список нужных вам списков, создайте словарь python со всеми нужными полями и поместите список списков туда, где он должен быть, затем напишите словарькак JSON с json

import csv
import json

with open("path/to/the/uploaded/file.csv") as f:
    reader = csv.DictReader(f)
    coordinates = []
    for row in reader:
        coordinates.append([row["longitude"], row["latitude"], 0])

geo_json = {"type": "Feature", "geometry": {"type": "Polygon", "coordinates": []}}

geo_json["geometry"]["coordinates"].append(coordinates)

with open("path/where/you/want/to/save/to.json", "w") as f:
    json.dump(geo_json, f, indent=4)
...