заданные точки широты и долготы, найти точки ребер и площадь многоугольника - PullRequest
6 голосов
/ 03 марта 2012

из заголовка вы можете прочитать, что мне даны точки широты и долготы.Они хранятся в файле csv.В нем может быть до 40 тыс. Строк.

"45.01234","9.12345"
"46.11111","9.12345"
"47.22222","9.98765"
...

Мой первый вопрос: как мне найти координаты ребер, и после того, как это будет сделано, он перейдет ко второму вопросу, который мне нужно рассчитать по площади этих многоугольников точек ребер.Ниже на рисунке показано, как эти точки могут выглядеть, а граничные точки связаны с синими линиями.

coordinates

Я искал в Google и на SO и нашел такие вопросы: this , this , this и this .

Во-первых, я бы сохранил все точки широты и долготы в массиве из csvфайл.У меня нет хорошей идеи, как найти грани.Но после того, как краевые точки найдены, один из способов найти площадь многоугольника состоит в том, чтобы разделить его на треугольники, а затем вычислить площади треугольников по формуле Герона.Земля сферическая, поэтому для вычисления площади мне нужно использовать советы, приведенные в ссылках, которые я дал выше.

Существуют ли рамки для моей проблемы, которые решают мои вопросы?Каковы подходы, чтобы сделать это сам?Конечно, код должен быть эффективным по памяти и процессору.

1 Ответ

2 голосов
/ 03 марта 2012

Вы ищете выпуклый корпус ваших очков. На самом деле это дублирующий вопрос: Нарисуйте выпуклый корпус, используя заданные точки в Java / Android

...