2011-01-04 3 views
2

У меня есть кластер GPS (содержит множество точек GPS, которые находятся близко друг к другу), и я хочу идентифицировать его как место, создав многоугольник вокруг его внешних точек. Один из способов - Convex Hull, и я ищу его реализацию в Javascript.Как найти/создать выпуклый корпус точек GPS в Javascript

Любая идея?

+2

выглядит следующим образом: http://www.geocodezip.com/map-markers_ConvexHull_Polygon.asp – zHs

ответ

2

Да. Проверьте источник в теге. существует два отдельных сценария: один, который выполняет алгоритм оболочки, а другой имеет в нем API API Google Maps.

В примере функция Initiation() вызывается событием onload тела, которое устанавливает всех слушателей для событий кликов, создает случайные точки и т. Д.

Проверьте алгоритм для корпуса, функцию chainHull_2D (P, n, H). Мне потребовалось немного времени, чтобы следовать за ним, но как только я понял, это имеет большой смысл. Функция сплетает H с массивом GLatLng корпуса. Затем создается GPolygon с использованием массива GLatLng.

GPolygon реализует интерфейс наложения карт googles, поэтому вы используете функцию Map.addOverlay для отображения многоугольника.

Проверьте также this tutorial, чтобы лучше понять API карт.

2

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

http://www.geocodezip.com/v3_map-markers_convexhull.asp

Код для демонстрации расположен в https://github.com/mgomes/ConvexHull

выпуклая оболочка представляет собой концепцию, которая не была представлена ​​в Google Maps API еще.