Files
birdcage/convert_osm.js
T

27 lines
807 B
JavaScript

// Copyright (c) 2026 Elizabeth Cray
const fs = require('fs');
require('dotenv').config();
const osmData = JSON.parse(fs.readFileSync('osm_data.json', 'utf8'));
const geoJsonTemplate = {
type: "FeatureCollection",
features: [],
};
if (osmData && osmData.elements && osmData.elements.length > 0) {
osmData.elements.forEach(element => {
if (element.type === 'node' && element.lat && element.lon) {
geoJsonTemplate.features.push({
type: "Feature",
geometry: {
type: "Point",
coordinates: [element.lon, element.lat],
},
properties: element.tags || {},
});
}
});
fs.writeFileSync('osm_data.geojson', JSON.stringify(geoJsonTemplate, null, 2));
}