Почему мой пользовательский запрос JavaFX MapView получает ошибку 403 от OSM? - PullRequest
0 голосов
/ 05 июня 2019

Я разрабатываю пользовательский MapView для коммерческого программного обеспечения в JavaFX. Поскольку всего одна неделя, все мои запросы не были выполнены с ошибкой кода 403 (пример):

"Сервер вернул код ответа HTTP: 403 для URL: http://tile.openstreetmap.org/9/245/206.png"

Но запрос успеха с браузером, как Mozilla. Я не изменил какой-либо код или конфигурацию, только OSM занесен в черный список.

Тем не менее, я думаю, что я следую правилам политики osm, таким как только 2 соединения в одно и то же время, система кэш-памяти, а не загрузка огромной области с большим увеличением.

Как можно легально получить доступ к плиткам OSM в распределенном программном обеспечении для коммерческого использования? Usurpt Mozilla User-Agent может быть незамедлительным решением во время разработки, но после?

   private void loadImage(Tile tile) {
      String url = tile.getRetriever().computeURL(tile);
      if(!waiters.contains(url)) {
        waiters.add(url);
        threadPool.execute(new ComparableRunnable(url,()->{

            try {
                if(!exist(tile)) {

                    Semaphore semaphore = new Semaphore(1);
                    semaphore.acquire();

                    Image image = new Image(url, true);

                    image.errorProperty().addListener((obs,old,val)->{
                        if(image.isError()) {
                            Outil.loggerConsole(image.getException());
                            semaphore.release();
                        }
                    });
                } catch (InterruptedException e) {
                    Outil.loggerConsole(e);
                }
            }));

"Сервер вернул код ответа HTTP: 403 для URL: http://tile.openstreetmap.org/9/245/206.png"

1 Ответ

3 голосов
/ 05 июня 2019

Как можно легально получить доступ к плиткам OSM в распределенном программном обеспечении для коммерческого использования?

Используя стороннего поставщика или запустив собственный сервер плиток.Серверы плиток OSM не для коммерческого использования.См. Политика использования плитки .Цитирую интересные части:

Собственные серверы OpenStreetMap работают исключительно на безвозмездных ресурсах. Они имеют строго ограниченную емкость.

[...]

Данные OpenStreetMap бесплатны для всех.Нашими серверами плиток не являются.

[...]

Интенсивное использование (например, распространение приложения, использующего плитки из openstreetmap.org) запрещено безпредварительное разрешение от системных администраторов.

См. Альтернативные поставщики плиток OpenStreetMap для решений.

...