public class OverpassDownloadReader extends BoundingBoxDownloader
| Modifier and Type | Class and Description |
|---|---|
(package private) static class |
OverpassDownloadReader.OverpassOsmJsonReader |
(package private) static class |
OverpassDownloadReader.OverpassOsmReader |
static class |
OverpassDownloadReader.OverpassOutpoutFormat
Possible Overpass API output format, with the
[out:<directive>] statement. |
BoundingBoxDownloader.MoreNotesExceptionOsmServerReader.DomParser<R>OsmConnection.OAuthAccessTokenFetcher| Modifier and Type | Field and Description |
|---|---|
private static java.lang.String |
DATA_PREFIX |
static BooleanProperty |
FOR_MULTI_FETCH
Property to determine if Overpass API should be used for multi-fetch download.
|
(package private) static java.util.regex.Pattern |
OUTPUT_FORMAT_STATEMENT |
(package private) static java.util.Map<OverpassDownloadReader.OverpassOutpoutFormat,java.lang.Class<? extends AbstractReader>> |
outputFormatReaders |
static StringProperty |
OVERPASS_SERVER
Property for current Overpass server.
|
static ListProperty |
OVERPASS_SERVER_HISTORY
Property for list of known Overpass servers.
|
(package private) java.lang.String |
overpassQuery |
(package private) java.lang.String |
overpassServer |
crosses180th, lat1, lat2, lon1, lon2contentType, gpxParsedProperlyactiveConnection, cancel, fetcher, oauthParameters| Constructor and Description |
|---|
OverpassDownloadReader(Bounds downloadArea,
java.lang.String overpassServer,
java.lang.String overpassQuery)
Constructs a new
OverpassDownloadReader. |
| Modifier and Type | Method and Description |
|---|---|
protected void |
adaptRequest(HttpClient request)
Allows subclasses to modify the request.
|
(package private) static java.lang.String |
bbox(double lon1,
double lat1,
double lon2,
double lat2) |
(package private) static java.lang.String |
center(double lon1,
double lat1,
double lon2,
double lat2) |
(package private) static java.lang.String |
date(java.lang.String humanDuration,
java.time.LocalDateTime from) |
(package private) static java.lang.String |
expandExtendedQueries(java.lang.String query)
Evaluates some features of overpass turbo extended query syntax.
|
static java.lang.String |
fixQuery(java.lang.String query)
Fixes Overpass API query to make sure it will be accepted by JOSM.
|
(package private) static java.lang.String |
geocodeArea(java.lang.String area) |
(package private) static java.lang.String |
geocodeBbox(java.lang.String area) |
(package private) static java.lang.String |
geocodeCoords(java.lang.String area) |
(package private) static java.lang.String |
geocodeId(java.lang.String area) |
protected java.lang.String |
getBaseUrl()
Return the base URL for relative URL requests
|
protected java.io.InputStream |
getInputStreamRaw(java.lang.String urlStr,
ProgressMonitor progressMonitor,
java.lang.String reason,
boolean uncompressAccordingToContentDisposition)
Open a connection to the given url (if HTTP, trough a GET request) and return a reader on the input stream
from that connection.
|
protected java.lang.String |
getRequestForBbox(double lon1,
double lat1,
double lon2,
double lat2)
Builds the request part for the bounding box.
|
protected java.lang.String |
getTaskName()
Returns the name of the download task to be displayed in the
ProgressMonitor. |
protected DataSet |
parseDataSet(java.io.InputStream source,
ProgressMonitor progressMonitor)
Parse the given input source and return the dataset.
|
DataSet |
parseOsm(ProgressMonitor progressMonitor)
Download OSM files from somewhere
|
static java.lang.Class<? extends AbstractReader> |
registerOverpassOutpoutFormatReader(OverpassDownloadReader.OverpassOutpoutFormat format,
java.lang.Class<? extends AbstractReader> readerClass)
Registers an OSM reader for the given Overpass output format.
|
(package private) static NameFinder.SearchResult |
searchName(java.util.List<NameFinder.SearchResult> results) |
private static NameFinder.SearchResult |
searchName(java.lang.String area) |
parseNotes, parseRawGpsfetchData, getAttribute, getInputStream, getInputStream, getInputStreamRaw, getInputStreamRaw, getInputStreamRaw, isDoAuthenticate, isGpxParsedProperly, parseOsm, parseOsmChange, parseOsmChange, parseRawGps, parseRawNotes, parseRawNotes, setDoAuthenticateaddAuth, addBasicAuthorizationHeader, addOAuthAuthorizationHeader, cancel, isCanceled, obtainAccessToken, retrieveBasicAuthorizationLogin, setOAuthAccessTokenFetcherpublic static final StringProperty OVERPASS_SERVER
public static final ListProperty OVERPASS_SERVER_HISTORY
public static final BooleanProperty FOR_MULTI_FETCH
private static final java.lang.String DATA_PREFIX
static final java.util.regex.Pattern OUTPUT_FORMAT_STATEMENT
static final java.util.Map<OverpassDownloadReader.OverpassOutpoutFormat,java.lang.Class<? extends AbstractReader>> outputFormatReaders
final java.lang.String overpassServer
final java.lang.String overpassQuery
public OverpassDownloadReader(Bounds downloadArea, java.lang.String overpassServer, java.lang.String overpassQuery)
OverpassDownloadReader.downloadArea - The area to downloadoverpassServer - The Overpass server to useoverpassQuery - The Overpass querypublic static final java.lang.Class<? extends AbstractReader> registerOverpassOutpoutFormatReader(OverpassDownloadReader.OverpassOutpoutFormat format, java.lang.Class<? extends AbstractReader> readerClass)
format - Overpass output formatreaderClass - OSM reader classformat, or null if there was no mappingprotected java.lang.String getBaseUrl()
OsmServerReadergetBaseUrl in class OsmServerReaderprotected java.lang.String getRequestForBbox(double lon1, double lat1, double lon2, double lat2)
BoundingBoxDownloadergetRequestForBbox in class BoundingBoxDownloaderlon1 - leftlat1 - bottomlon2 - rightlat2 - topstatic java.lang.String expandExtendedQueries(java.lang.String query)
query - unexpanded querystatic java.lang.String bbox(double lon1, double lat1, double lon2, double lat2)
static java.lang.String center(double lon1, double lat1, double lon2, double lat2)
static java.lang.String date(java.lang.String humanDuration, java.time.LocalDateTime from)
private static NameFinder.SearchResult searchName(java.lang.String area) throws java.io.IOException
java.io.IOExceptionstatic NameFinder.SearchResult searchName(java.util.List<NameFinder.SearchResult> results)
static java.lang.String geocodeArea(java.lang.String area) throws java.io.IOException
java.io.IOExceptionstatic java.lang.String geocodeBbox(java.lang.String area) throws java.io.IOException
java.io.IOExceptionstatic java.lang.String geocodeCoords(java.lang.String area) throws java.io.IOException
java.io.IOExceptionstatic java.lang.String geocodeId(java.lang.String area) throws java.io.IOException
java.io.IOExceptionprotected java.io.InputStream getInputStreamRaw(java.lang.String urlStr, ProgressMonitor progressMonitor, java.lang.String reason, boolean uncompressAccordingToContentDisposition) throws OsmTransferException
OsmServerReadernull.getInputStreamRaw in class OsmServerReaderurlStr - The exact url to connect to.progressMonitor - progress monitoring and abort handlerreason - The reason to show on console. Can be null if no reason is givenuncompressAccordingToContentDisposition - Whether to inspect the HTTP header Content-Disposition
for filename and uncompress a gzip/bzip2/xz/zip stream.null.OsmTransferException - if data transfer errors occurprotected void adaptRequest(HttpClient request)
OsmServerReaderadaptRequest in class OsmServerReaderrequest - the prepared requestprotected java.lang.String getTaskName()
BoundingBoxDownloaderProgressMonitor.getTaskName in class BoundingBoxDownloaderprotected DataSet parseDataSet(java.io.InputStream source, ProgressMonitor progressMonitor) throws IllegalDataException
BoundingBoxDownloaderparseDataSet in class BoundingBoxDownloadersource - input streamprogressMonitor - progress monitorIllegalDataException - if an error was found while parsing the OSM dataOsmReader.parseDataSet(InputStream, ProgressMonitor)public DataSet parseOsm(ProgressMonitor progressMonitor) throws OsmTransferException
OsmServerReaderparseOsm in class BoundingBoxDownloaderprogressMonitor - The progress monitorOsmTransferException - if any error occurspublic static java.lang.String fixQuery(java.lang.String query)
query - Overpass query to check