Как упростить (уменьшить количество баллов) в KML?

Это даст результат между 0 и n - 1 как для положительных, так и для отрицательных значений x:

((x % n) + n) % n
11
задан Community 23 May 2017 в 12:34
поделиться

5 ответов

Для Вашего второго вопроса: Вам нужен Алгоритм Обобщения Douglas-Peucker

13
ответ дан 3 December 2019 в 08:06
поделиться

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

Для второго вопроса я использовал бы предложение Mark Bessey.

2
ответ дан 3 December 2019 в 08:06
поделиться

Я не знаю много aobut KML, но я думаю, что обычное решение подвергнуть сомнению № 2 включает итерацию по точкам и удаление любых линейных сегментов под определенным размером. Это вызовет некоторые "неудачные" эффекты в некоторых случаях, но это относительно быстро и легко сделать.

0
ответ дан 3 December 2019 в 08:06
поделиться

Я рекомендовал бы 2 вещи: - вычисляют и комбинируют полигоны, которые затрагивают. Это включает БОЛЬШУЮ обработку и твердую математику, но я сделал ее так, я знаю, что это возможно. - Создают Ваше собственное наложение вместо того, чтобы использовать KML в формате PNG, в то время как Вы комбинируете их в предыдущем предложении. Необходимо будет создать МНОГО PNGs, но это сверкает быстро на клиенте.

Удача :)

0
ответ дан 3 December 2019 в 08:06
поделиться

Мне было нужно решение Вашего вопроса о № 2 немного назад и после рассмотрения нескольких доступных алгоритмов упрощения строки, я создал свое собственное.

Процесс прост, и это, кажется, работает хорошо, хотя это может быть немного медленно, если Вы не реализуете его правильно:

P[0..n] Ваш массив точек, которым Позволяют T[n] будьте определены как треугольник, сформированный точками P[n-1], P[n], P[n+1] Max число очков, до которого Вы пытаетесь уменьшить эту строку.

  1. Вычислите область каждого возможного треугольника T[1..n-1] в наборе.
  2. Выберите треугольник T[i] с самой маленькой областью
  3. Удалите точку P[i] по существу сглаживать треугольник
  4. Повторно вычислите область затронутых треугольников T[n-1], T[n+1]
  5. Перейдите К Шагу № 2 если число очков> Max
0
ответ дан 3 December 2019 в 08:06
поделиться
Другие вопросы по тегам:

Похожие вопросы: