Browse Source

exportAll: new export type 'OSMXML'

master
parent
commit
4e79cd9bc6
  1. 1
      lang/en.json
  2. 2
      lib/modulekit/form
  3. 20
      src/exportAll.js

1
lang/en.json

@ -4,6 +4,7 @@
"closed": "closed",
"default": "default",
"download:geojson": "Download as GeoJSON",
"download:osmxml": "Download as OSMXML",
"edit": "edit",
"error": {
"message": "Error",

2
lib/modulekit/form

@ -1 +1 @@
Subproject commit 8a2d3015ec181b14441037a79e7db3869453b135
Subproject commit 5d39b2f61b7eda9a635414acaeb3c4e0dc524490

20
src/exportAll.js

@ -14,6 +14,15 @@ function prepareDownload (callback) {
global.baseCategory.allMapFeatures((err, data) => {
let chunks = chunkSplit(data, 1000)
let parentNode
switch (conf.type) {
case 'geojson':
break
case 'osmxml':
parentNode = document.createElement('osm')
break
}
async.mapLimit(
chunks,
@ -25,6 +34,9 @@ function prepareDownload (callback) {
case 'geojson':
done(null, ob.object.GeoJSON(conf))
break
case 'osmxml':
ob.object.exportOSMXML(conf, parentNode, done)
break
default:
done('wrong type')
}
@ -49,6 +61,11 @@ function prepareDownload (callback) {
fileType = 'application/json'
extension = 'geojson'
break
case 'osmxml':
result = '<?xml version="1.0" encoding="UTF-8"?><osm version="0.6" generator="OpenStreetBrowser">' + parentNode.innerHTML + '</osm>'
fileType = 'application/xml'
extension = 'osm.xml'
break
}
var blob = new Blob([ result ], { type: fileType + ';charset=utf-8' })
@ -74,7 +91,8 @@ register_hook('init', function () {
name: 'Type',
type: 'radio',
values: {
geojson: lang('download:geojson')
geojson: lang('download:geojson'),
osmxml: lang('download:osmxml')
},
default: 'geojson'
}

Loading…
Cancel
Save