Her şeyden önce, CBS’de yeniyim, bu yüzden herhangi bir hatadan dolayı özür dilerim. Enlem ve boylam noktası ile enlem/boylam poligonu arasındaki mesafeyi (düzenli veya değil) keşfetmem gerekiyor. Tam olarak, aşağıda gösterildiği gibi, belirli bir noktadan poligonun sınırındaki bir noktaya olan minimum mesafeyi keşfetmem gerekiyor. Örnekte, poligona p
noktasından daha yakın mesafe d
'dur. Not: Noktaya ihtiyacım yok, sadece minimum mesafe. Coğrafi nokta ile belirli bir çokgen arasındaki mesafe nasıl hesaplanır?
MWE.java:
import com.vividsolutions.jts.geom.Coordinate;
import com.vividsolutions.jts.geom.Geometry;
import com.vividsolutions.jts.geom.GeometryFactory;
import com.vividsolutions.jts.geom.Point;
public class MWE {
public static void main(String[] args) throws Exception {
GeometryFactory gf = JTSFactoryFinder.getGeometryFactory();
Coordinate[] c = new Coordinate[5];
c[0] = new Coordinate(-49.242986, -16.662430);
c[1] = new Coordinate(-49.241999, -16.664465);
c[2] = new Coordinate(-49.239146, -16.663828);
c[3] = new Coordinate(-49.239832, -16.661443);
c[4] = new Coordinate(-49.242986, -16.662430);
Geometry geo = gf.createPolygon(c);
Point p = gf.createPoint(new Coordinate(-49.246870, -16.665493));
double distance = geo.distance(p);
System.out.println("Distance: " + distance);
}
}
Düzenli bir çokgenle mi çalışıyorsunuz? – 11thdimension
Nokta ve çokgen arasındaki mesafeyle ne demek istediğinizi netleştirmelisiniz. Poligon sentroidinden mi, sınırdaki en yakın noktadan mı demek istiyorsun? – aengus
Herhangi bir çokgen. Çokgen noktalarından biridir. Soruya açıklık getirmeye çalıştım. –