Skip to content
Snippets Groups Projects
Commit a20bc461 authored by kraleva's avatar kraleva
Browse files

added osm deps

parent b434b6af
No related branches found
No related tags found
1 merge request!26Add LLC
...@@ -18,6 +18,13 @@ ...@@ -18,6 +18,13 @@
</properties> </properties>
<dependencies> <dependencies>
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.10.1</version>
</dependency>
<dependency> <dependency>
<groupId>junit</groupId> <groupId>junit</groupId>
<artifactId>junit</artifactId> <artifactId>junit</artifactId>
...@@ -90,6 +97,15 @@ ...@@ -90,6 +97,15 @@
<version>3.22.2</version> <version>3.22.2</version>
</dependency> </dependency>
<!-- https://mvnrepository.com/artifact/com.google.code.gson/gson -->
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.10</version>
</dependency>
</dependencies> </dependencies>
</dependencyManagement> </dependencyManagement>
......
package map.builder.osm; package map.builder.osm;
import java.io.BufferedReader; import static map.builder.osm.json.serialization.OSMJsonDtoDeserializer.Mode.NODES_AND_WAYS;
import static map.builder.osm.json.serialization.OSMJsonDtoDeserializer.Mode.TURN_RESTRICTIONS;
import java.io.DataOutputStream; import java.io.DataOutputStream;
import java.io.File; import java.io.File;
import java.io.FileWriter; import java.io.FileWriter;
...@@ -16,15 +18,11 @@ import java.util.stream.Collectors; ...@@ -16,15 +18,11 @@ import java.util.stream.Collectors;
import com.google.gson.Gson; import com.google.gson.Gson;
import com.google.gson.GsonBuilder; import com.google.gson.GsonBuilder;
import com.google.gson.stream.JsonReader; import com.google.gson.stream.JsonReader;
import map.builder.osm.json.model.OSMJsonDto; import map.builder.osm.json.model.OSMJsonDto;
import map.builder.osm.json.serialization.OSMJsonDtoDeserializer; import map.builder.osm.json.serialization.OSMJsonDtoDeserializer;
import org.json.JSONObject;
import map.builder.utilities.BoundingBox; import map.builder.utilities.BoundingBox;
import static map.builder.osm.json.serialization.OSMJsonDtoDeserializer.Mode.NODES_AND_WAYS;
import static map.builder.osm.json.serialization.OSMJsonDtoDeserializer.Mode.TURN_RESTRICTIONS;
public class OSMFetcher { public class OSMFetcher {
private final static String OverpassURL = "https://overpass.kumi.systems/api/interpreter"; private final static String OverpassURL = "https://overpass.kumi.systems/api/interpreter";
private final static String nodeQuery = "[out:json];way[highway](%s);(._;>;);out;"; private final static String nodeQuery = "[out:json];way[highway](%s);(._;>;);out;";
...@@ -35,7 +33,7 @@ public class OSMFetcher { ...@@ -35,7 +33,7 @@ public class OSMFetcher {
public static List<OSMJsonDto> fetchTurnRestrictions(BoundingBox boundingBox) throws IOException { public static List<OSMJsonDto> fetchTurnRestrictions(BoundingBox boundingBox) throws IOException {
System.out.println("Start to fetch turn restrictions."); System.out.println("Start to fetch turn restrictions.");
List<OSMJsonDto> dtos = OSMFetcher.runQueryForBBox(OSMFetcher.relationQuery, boundingBox, TURN_RESTRICTIONS); List<OSMJsonDto> dtos = OSMFetcher.runQueryForBBox(OSMFetcher.relationQuery, boundingBox, TURN_RESTRICTIONS);
System.out.println("Turn restrictions fetched."); System.out.println("Turn restrictions fetched.");
return dtos; return dtos;
...@@ -49,7 +47,8 @@ public class OSMFetcher { ...@@ -49,7 +47,8 @@ public class OSMFetcher {
return dtos; return dtos;
} }
private static List<OSMJsonDto> runQueryForBBox(String query, BoundingBox bbox, OSMJsonDtoDeserializer.Mode mode) throws IOException { private static List<OSMJsonDto> runQueryForBBox(String query, BoundingBox bbox, OSMJsonDtoDeserializer.Mode mode)
throws IOException {
InputStream response = requestData(query, bbox); InputStream response = requestData(query, bbox);
JsonReader jsonReader = new JsonReader(new InputStreamReader(response)); JsonReader jsonReader = new JsonReader(new InputStreamReader(response));
...@@ -104,11 +103,10 @@ public class OSMFetcher { ...@@ -104,11 +103,10 @@ public class OSMFetcher {
FileWriter file = new FileWriter(path); FileWriter file = new FileWriter(path);
file.write( file.write(
"[" + "[" +
data.stream() data.stream()
.map(OSMJsonDto::toJson) .map(OSMJsonDto::toJson)
.collect(Collectors.joining(", ")) .collect(Collectors.joining(", "))
+ "]" + "]");
);
file.close(); file.close();
} }
} }
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment