Страница 1 из 1

Кратчайшее расстояние от точки до контура полигона

Добавлено: 02 июл 2015, 18:24
nickleb
Как найти кратчайшее расстояние от точки до контура замкнутого полигона?
Точка находится вне контура полигона.

Re: Кратчайшее расстояние от точки до контура полигона

Добавлено: 03 июл 2015, 01:46
Sergey Astakhov
nickleb писал(а):Как найти кратчайшее расстояние от точки до контура замкнутого полигона?
Точка находится вне контура полигона.

Код: Выделить всё

import com.vividsolutions.jts.operation.distance.DistanceOp;
...
double distance = DistanceOp.distance(polygon, point);

Re: Кратчайшее расстояние от точки до контура полигона

Добавлено: 03 июл 2015, 07:46
nickleb

Код: Выделить всё

import com.vividsolutions.jts.operation.distance.DistanceOp;
...
double distance = DistanceOp.distance(polygon, point);
Спасибо, Sergey. Это geolatte? Это я просто по-Googl'ил.... Если я правильно предполагаю... А как это попробовать использовать под Wind'ами?

Re: Кратчайшее расстояние от точки до контура полигона

Добавлено: 03 июл 2015, 09:41
Филиппов Владислав
это JTS, Java-библиотека, которая есть ещё в библиотеке GeoTools

Re: Кратчайшее расстояние от точки до контура полигона

Добавлено: 03 июл 2015, 09:50
gamm

Re: Кратчайшее расстояние от точки до контура полигона

Добавлено: 03 июл 2015, 10:54
Ariki
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

Re: Кратчайшее расстояние от точки до контура полигона

Добавлено: 03 июл 2015, 12:58
Sergey Astakhov
nickleb писал(а):Спасибо, Sergey. Это geolatte? Это я просто по-Googl'ил.... Если я правильно предполагаю... А как это попробовать использовать под Wind'ами?
Как правильно подсказывают, это JTS.
nickleb писал(а):А как это попробовать использовать под Wind'ами?
Вставить в код программы в нужном месте.
Может вы для начала расскажите саму задачу? А то библиотек много всяких разных, под кучу языков.

Re: Кратчайшее расстояние от точки до контура полигона

Добавлено: 03 июл 2015, 14:27
nickleb
Sergey Astakhov писал(а):
nickleb писал(а):Спасибо, Sergey. Это geolatte? Это я просто по-Googl'ил.... Если я правильно предполагаю... А как это попробовать использовать под Wind'ами?
Как правильно подсказывают, это JTS.

[quote=
Вставить в код программы в нужном месте.
Может вы для начала расскажите саму задачу? А то библиотек много всяких разных, под кучу языков.
Да, Sergey, уже понял по Вашим комментариям и ссылкам дорогих и уважаемых gis-lab-овцев, что ничего - справиться можно. А задача конкретная такая: льдина дрейфует в океане и несёт на себе массово-балансовый буй и его ежечасные обсервации доступны по http. Требуется по этим обсервациям:
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-ху, положение судов, табличку с расстояниями в легенде...