запрос для преодоления API в Java ... я хочу указать масштаб в запросе для рисования ответа ... что я должен добавить в свой код для этого? - PullRequest
0 голосов
/ 16 октября 2019

Я работаю в проекте в Java. Я хочу указать масштаб в запросе путепровода? потому что я хочу нарисовать ответ (XML-файл) ??

public static Document getNodesViaOverpass(String query) throws IOException, ParserConfigurationException, SAXException {
    String hostname = OVERPASS_API;

    URL osm = new URL(hostname);
    HttpURLConnection connection = (HttpURLConnection) osm.openConnection();
    connection.setDoInput(true);
    connection.setDoOutput(true);
    connection.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");

    DataOutputStream printout = new DataOutputStream(connection.getOutputStream());
    printout.writeBytes("data=" + URLEncoder.encode(query, "utf-8"));
    printout.flush();
    printout.close();

    DocumentBuilderFactory dbfac = DocumentBuilderFactory.newInstance();
    DocumentBuilder docBuilder = dbfac.newDocumentBuilder();
    return docBuilder.parse(connection.getInputStream());
}

1 Ответ

1 голос
/ 17 октября 2019

Нельзя указать уровень масштабирования, но вы можете указать ограничивающий прямоугольник . Ограничительная рамка определяет минимальную и максимальную широту и долготу для вашего запроса, то есть прямоугольник. См. ограничивающий прямоугольник в документации по Overpass Query Language.

Параметры ограничивающего прямоугольника состоят из самой южной широты, самой западной долготы, самой северной широты, самой восточной долготы.

Это простой пример запроса Overpass с ограничительной рамкой:

node(50.745,7.17,50.75,7.18)[highway=bus_stop];
out;

Если простой прямоугольник не соответствует вашим потребностям, вы также можете указать polygon .

...