source: josm/trunk/src/org/openstreetmap/josm/io/GeoJSONExporter.java@ 8464

Last change on this file since 8464 was 7937, checked in by bastiK, 9 years ago

add subversion property svn:eol=native

  • Property svn:eol-style set to native
File size: 1.3 KB
Line 
1// License: GPL. For details, see LICENSE file.
2package org.openstreetmap.josm.io;
3
4import static org.openstreetmap.josm.tools.I18n.tr;
5
6import java.io.File;
7import java.io.IOException;
8import java.io.Writer;
9import java.nio.charset.StandardCharsets;
10import java.nio.file.Files;
11
12import org.openstreetmap.josm.actions.ExtensionFileFilter;
13import org.openstreetmap.josm.gui.layer.Layer;
14import org.openstreetmap.josm.gui.layer.OsmDataLayer;
15
16public class GeoJSONExporter extends FileExporter {
17
18 public static final ExtensionFileFilter FILE_FILTER = new ExtensionFileFilter(
19 "geojson,json", "geojson", tr("GeoJSON Files") + " (*.geojson *.json)");
20
21 /**
22 * Constructs a new {@code GeoJSONExporter}.
23 */
24 public GeoJSONExporter() {
25 super(FILE_FILTER);
26 }
27
28 @Override
29 public void exportData(File file, Layer layer) throws IOException {
30 if (layer instanceof OsmDataLayer) {
31 String json = new GeoJSONWriter((OsmDataLayer) layer).write();
32 try (Writer out = Files.newBufferedWriter(file.toPath(), StandardCharsets.UTF_8)) {
33 out.write(json);
34 }
35 } else {
36 throw new IllegalArgumentException(tr("Layer ''{0}'' not supported", layer.getClass().toString()));
37 }
38 }
39}
Note: See TracBrowser for help on using the repository browser.