Кратчайшее расстояние от точки до контура полигона
-
- Гуру
- Сообщения: 964
- Зарегистрирован: 22 май 2010, 20:20
- Репутация: 154
Кратчайшее расстояние от точки до контура полигона
Как найти кратчайшее расстояние от точки до контура замкнутого полигона?
Точка находится вне контура полигона.
Точка находится вне контура полигона.
-
- Активный участник
- Сообщения: 218
- Зарегистрирован: 21 дек 2012, 01:57
- Репутация: 52
- Откуда: Питер
Re: Кратчайшее расстояние от точки до контура полигона
nickleb писал(а):Как найти кратчайшее расстояние от точки до контура замкнутого полигона?
Точка находится вне контура полигона.
Код: Выделить всё
import com.vividsolutions.jts.operation.distance.DistanceOp;
...
double distance = DistanceOp.distance(polygon, point);
-
- Гуру
- Сообщения: 964
- Зарегистрирован: 22 май 2010, 20:20
- Репутация: 154
Re: Кратчайшее расстояние от точки до контура полигона
Код: Выделить всё
import com.vividsolutions.jts.operation.distance.DistanceOp;
...
double distance = DistanceOp.distance(polygon, point);
- Филиппов Владислав
- Гуру
- Сообщения: 1035
- Зарегистрирован: 17 фев 2006, 06:28
- Репутация: 144
- Ваше звание: Геннадич
- Откуда: Новосибирск
- Контактная информация:
Re: Кратчайшее расстояние от точки до контура полигона
это JTS, Java-библиотека, которая есть ещё в библиотеке GeoTools
-
- Гуру
- Сообщения: 4056
- Зарегистрирован: 15 окт 2010, 08:33
- Репутация: 1054
- Ваше звание: программист
- Откуда: Казань
-
- Гуру
- Сообщения: 731
- Зарегистрирован: 12 янв 2011, 22:40
- Репутация: 304
- Ваше звание: ∀
Re: Кратчайшее расстояние от точки до контура полигона
Python + Shapely
Код: Выделить всё
>>> from shapely.geometry import Point, Polygon
>>> polygon = Polygon([(30, 10), (30, 30), (10, 30)]) # Implicitly closed
>>> point = Point(10, 20)
>>> point.distance(polygon)
7.0710678118654755
-
- Активный участник
- Сообщения: 218
- Зарегистрирован: 21 дек 2012, 01:57
- Репутация: 52
- Откуда: Питер
Re: Кратчайшее расстояние от точки до контура полигона
Как правильно подсказывают, это JTS.nickleb писал(а):Спасибо, Sergey. Это geolatte? Это я просто по-Googl'ил.... Если я правильно предполагаю... А как это попробовать использовать под Wind'ами?
Вставить в код программы в нужном месте.nickleb писал(а):А как это попробовать использовать под Wind'ами?
Может вы для начала расскажите саму задачу? А то библиотек много всяких разных, под кучу языков.
-
- Гуру
- Сообщения: 964
- Зарегистрирован: 22 май 2010, 20:20
- Репутация: 154
Re: Кратчайшее расстояние от точки до контура полигона
Да, Sergey, уже понял по Вашим комментариям и ссылкам дорогих и уважаемых gis-lab-овцев, что ничего - справиться можно. А задача конкретная такая: льдина дрейфует в океане и несёт на себе массово-балансовый буй и его ежечасные обсервации доступны по http. Требуется по этим обсервациям:Sergey Astakhov писал(а):Как правильно подсказывают, это JTS.nickleb писал(а):Спасибо, Sergey. Это geolatte? Это я просто по-Googl'ил.... Если я правильно предполагаю... А как это попробовать использовать под Wind'ами?
[quote=
Вставить в код программы в нужном месте.
Может вы для начала расскажите саму задачу? А то библиотек много всяких разных, под кучу языков.
1) вычислять расстояние до эксклюзивной экономической зоны Датского королевства окрест о.-ва Гренландия (где взять shp знаю );
2) вычислять расстояние до положения ближайших судов (тоже знаю, где взять таблички с крайними обсервациями)...
Такой R-скриптик по визуализации в GoogleEarth дрейфа буя я начал писать:
Код: Выделить всё
library(plotKML)
library(sp)
temp <- tempfile()
download.file("http://imb.erdc.dren.mil/irid_data/2015D_clean.csv",temp)
buoy <- read.csv(temp,header=T,sep=",")
unlink(temp)
#Какие колонки в файле?
names(buoy)
coordinates(buoy) <- ~Longitude..degrees.+Latitude..degrees.
proj4string(buoy) <- CRS("+proj=longlat +datum=WGS84")
plotKML(buoy, var.name="Date")
Надо ещё положение границ водрузить на эту view-ху, положение судов, табличку с расстояниями в легенде...
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 26 гостей