Я работаю над пользовательским интерфейсом, который показывает много контактов на карте. Во время разработки я произвольно генерирую 1500 штырьков карты, чтобы их можно было разместить на карте, чтобы проверить внешний вид/чувство/производительность и т. Д.Случайные координаты GPS в не прямоугольном пространстве
Код, который делает это выглядит следующим образом:
for (var i = 0; i <= 1500; i += 1) {
$scope.mapPins.push({
latitude: (Math.random() * 2) + 51,
longitude: (Math.random() * 4) + 3,
icon: themeImages[Math.floor(Math.random() * themeImages.length)],
title: 'Sample title',
infoContent: 'Sample content'
});
}
Естественно площадь штырьков, покрытых представляет собой прямоугольник для широт и долгот 51-53 3-7. Для тех, кто интересуется, где он находится, это область примерно вокруг Нидерландов.
Теперь есть небольшая проблема, что Нидерланды не являются прямоугольной областью, и многие из этих координат падают над морем, и я хотел бы, чтобы мои координаты были только на земле.
Есть ли остроумный математический способ, как я могу объединить координаты из непрямоугольной области?
Конечно, я мог бы сделать объект polygon google.maps, который покрывает непрямоугольную форму, а затем с помощью теста google api каждый случайный сгенерированный вывод, попадает ли он в пределах этой формы и т. Д., Но это будет излишним для пользовательского интерфейса этап проектирования. В основном, мой вопрос заключается в том, есть ли аккуратный математический трюк, который позволил бы мне случайным образом генерировать координаты из непрямоугольного пространства.