Для небольшого проекта я разрешаю пользователям добавлять области в базу данных. Их запрос отправляется в http://nominatim.openstreetmap.org, и я храню широту и долготу. Если доступно, я также сохраняю данные контура geoJSON polygon.Leaflet.js и сложные полигоны
Пример вывода: http://nominatim.openstreetmap.org/search?q=wyoming&format=xml&polygon_geojson=1&addressdetails=1
Эта Выделенная область затем отображается на карте с помощью leaflet.js. Для многих полигонов это работает очень хорошо, но кажется, что существует ограничение на количество данных, которые может обрабатывать библиотека. Некоторые довольно сложные области (которые требуют longtext для хранения в mysql) просто не отображаются вообще, без ошибки.
Я думаю, что мой вопрос состоит из двух частей: 1 - Правильно ли я предполагаю, что большие наборы данных являются корнем проблемы, или должен ли leaflet.js уметь их обрабатывать? 2 - Какой был бы лучший способ упростить такие наборы данных? В лифлете есть такой алгоритм для отображения областей, но это, похоже, уже является неудачной точкой.
И пока мы на тему: Сейчас я перерабатываю lnglat многоугольники Номинатима в латвийский листок, разбивая данные и исправляя их обратно в javascript. Есть ли более простой/безопасный способ сделать это? Должен ли я перенести эту задачу на сервер и использовать некоторую библиотеку/функцию php?
Я ценю вашу помощь!
Edit: Забыл упомянуть: по случаю, что многоугольник не может вынести, моя консоль дает мне эту ошибку: TypeError: т равна нулю
спасибо.Это были неверные данные - я написал свой код, ожидая только одномерных многоугольных данных, которые работают во многих случаях, но не во всех из них. Вероятно, не было обнаружено, что в середине 40 000 точек данных. Также отличный совет с -src.js - этот wil определенно пригодится. На данный момент я буду использовать полные наборы данных для моего прототипа. Мне нужно вернуться к простому, как только производительность станет важной. – asto
Если вы сомневаетесь, нормализуйте все свои полигоны в MultiPolygons только одним полигоном и одним внешним кольцом. Это должно помочь (неверно) интерпретировать одномерные массивы как многоугольники. – IvanSanchez