Add sample data
authorEthan Nelson <git@ethan-nelson.com>
Sun, 16 Dec 2018 01:44:21 +0000 (19:44 -0600)
committerEthan Nelson <git@ethan-nelson.com>
Sun, 16 Dec 2018 01:44:21 +0000 (19:44 -0600)
convert.py [new file with mode: 0644]
storydata.csv [new file with mode: 0644]
storydata.geojson [new file with mode: 0644]

diff --git a/convert.py b/convert.py
new file mode 100644 (file)
index 0000000..46640e8
--- /dev/null
@@ -0,0 +1,39 @@
+# Some times I'm lazy and don't want to deal with
+# CSV parsers and json writers. This is one of
+# those times. Once this project is much more established,
+# I will probably make this less hacky.
+#
+# This script expects a csv file (without line-terminating 
+# commas) named storydata.csv in the directory containing
+# id, title, lat, lon, zoom, text. Note the title cannot
+# contain any commas in it (see what I mean about hacky?).
+# It will write out a javascript import-able geoJSON array
+# to display on the map with the file name storydata.geojson.
+
+old = open('storydata.csv','r')
+old = old.readlines()
+old = old[1:]
+
+f = open('storydata.geojson','w')
+f.write('var storyData = ')
+f.write('{')
+f.write('"type": "FeatureCollection",')
+f.write('"features": [')
+
+for ll,l in enumerate(old):
+    data = l.split(',')
+    text = ''
+    for x in data[5:]:
+        text += x.strip('\n')
+    f.write('{"type": "Feature", "properties": {')
+    f.write('"id": %s, "title": %s, "zoom": %s, "text": %s},' % (data[0], data[1], data[4], text))
+    f.write('"geometry": {"type": "Point", "coordinates": [%s, %s]}}' % (data[3], data[2]))
+    if ll != len(old)-1:
+        f.write(',')
+
+f.write(']')
+f.write('}')
+f.write(';')
+
+f.close()
+
diff --git a/storydata.csv b/storydata.csv
new file mode 100644 (file)
index 0000000..8ebd12b
--- /dev/null
@@ -0,0 +1,3 @@
+id, title, lat, lon, zoom, text
+1, "Houston", 29.967, -95.343, 12, "Here is Houston, a city in Texas."
+2, "Los Angeles", 33.944, -118.404, 12, "Here is Los Angeles, a city in California."
diff --git a/storydata.geojson b/storydata.geojson
new file mode 100644 (file)
index 0000000..421ad6e
--- /dev/null
@@ -0,0 +1 @@
+var storyData = {"type": "FeatureCollection","features": [{"type": "Feature", "properties": {"id": 1, "title":  "Houston", "zoom":  12, "text":  "Here is Houston a city in Texas."},"geometry": {"type": "Point", "coordinates": [ -95.343,  29.967]}},{"type": "Feature", "properties": {"id": 2, "title":  "Los Angeles", "zoom":  12, "text":  "Here is Los Angeles a city in California."},"geometry": {"type": "Point", "coordinates": [ -118.404,  33.944]}}]};
\ No newline at end of file