aboutsummaryrefslogtreecommitdiffhomepage
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/components/ParkMap.astro2
-rw-r--r--src/components/ParksTable.astro2
-rw-r--r--src/data/kodaira-parks-manual.json4
-rw-r--r--src/data/parks-geojson.ts8
4 files changed, 14 insertions, 2 deletions
diff --git a/src/components/ParkMap.astro b/src/components/ParkMap.astro
index 6de92f8..8537af2 100644
--- a/src/components/ParkMap.astro
+++ b/src/components/ParkMap.astro
@@ -212,7 +212,7 @@
<script>
import L from "leaflet";
import "leaflet/dist/leaflet.css";
- import geojson from "@/data/kodaira-parks-osm.json";
+ import geojson from "@/data/parks-geojson";
import boundary from "@/data/kodaira-boundary.json";
import parks from "@/data/kodaira-parks.json";
diff --git a/src/components/ParksTable.astro b/src/components/ParksTable.astro
index d83ab48..6f8fdbd 100644
--- a/src/components/ParksTable.astro
+++ b/src/components/ParksTable.astro
@@ -4,7 +4,7 @@
// DOM を抑えるため、設備は1セルにまとめ、アイコンは CSS の擬似要素で描く。
// 絞り込み・並べ替え・カード表示は利用者の端末で実行する。
import parksData from "@/data/kodaira-parks.json";
-import osmData from "@/data/kodaira-parks-osm.json";
+import osmData from "@/data/parks-geojson";
type Park = Record<string, string>;
const parks = parksData as Park[];
diff --git a/src/data/kodaira-parks-manual.json b/src/data/kodaira-parks-manual.json
new file mode 100644
index 0000000..8b3698f
--- /dev/null
+++ b/src/data/kodaira-parks-manual.json
@@ -0,0 +1,4 @@
+{
+ "type": "FeatureCollection",
+ "features": []
+}
diff --git a/src/data/parks-geojson.ts b/src/data/parks-geojson.ts
new file mode 100644
index 0000000..dadf963
--- /dev/null
+++ b/src/data/parks-geojson.ts
@@ -0,0 +1,8 @@
+import osm from "./kodaira-parks-osm.json";
+import manual from "./kodaira-parks-manual.json";
+
+// OSMから取得したポリゴンと、QGIS等で手描きしたポリゴンをまとめる。
+// 手描き分は kodaira-parks-manual.json に置くことで、npm run osm:update で消えない。
+const features = [...((osm as any).features ?? []), ...((manual as any).features ?? [])];
+
+export default { type: "FeatureCollection", features };