Библиотека геометрии для Явы [закрылась]

Действительно ли там какая-либо библиотека геометрии доступна для Явы? Я ищу решение понять мысль пересечения между двумя объектами геометрии.

33
задан nanda 22 January 2010 в 08:36
поделиться

5 ответов

Заключите ответный вызов в инструкцию using, чтобы убедиться, что соединение всегда закрыто:

HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(url)
// ...
using (HttpWebResponse response = (HttpWebResponse)request.GetResponse())
{
  // ...
}

Также заключите любой GetResponseStream () в инструкцию using.

-121--2561306-

Необходимо отложить обработку массива байт [] до тех пор, пока log4j не решит, что он действительно хочет зарегистрировать сообщение. Таким образом, его можно зарегистрировать на уровне DEBUG, например, во время тестирования, а затем отключить во время производства. Например, вы можете:

final byte[] myArray = ...;
Logger.getLogger(MyClass.class).debug(new Object() {
    @Override public String toString() {
        return new String(myArray);
    }
});

Теперь вы не платите штраф за скорость, если вы на самом деле не регистрируете данные, потому что метод toString не вызывается, пока log4j не решит, что он действительно будет регистрировать сообщение!

Теперь я не уверен, что вы имеете в виду под «очевидным представлением», поэтому я предположил, что вы имеете в виду преобразование в последовательность, переинтерпретировав байты как кодировку символов по умолчанию. Теперь, если вы имеете дело с двоичными данными, это очевидно бесполезно. В этом случае я бы предложил использовать Arrays.toString (байт []) для создания форматированного ряда по строкам

[54, 23, 65, ...]
-121--251870-

JTS является лучшим свободным вариантом с открытым исходным кодом. Метод, который вы ищете в JTS, здесь

Что касается коммерческих вариантов, то у вас есть Java JNI версия ESRI их библиотеки ArcObjects, которая имеет очень надежную библиотеку геометрии. Интерфейс на библиотеке ESRI называют ITopologicalOperator

, Если все, что вы пытаетесь сделать, является Геометрическими операциями, JTS - ваш наилучший вариант - это - превосходная библиотека, у которой есть много портов на различные языки. Если, с другой стороны, вы ищете целую систему ГИС, которая выполняет сложную символику, поддерживает рабочие процессы ГИС и многопользовательское редактирование, печать и т.д., то я бы начал искать библиотеки ESRI.

32
ответ дан 27 November 2019 в 18:26
поделиться

http://edndoc.esri.com/arcobjects/9.2/java/java/library_reference/geometry/geometry_overview.htm

Попробуйте по этой ссылке Эта ссылка содержит полную информацию о библиотеке Geomentry. ....

1
ответ дан 18 November 2019 в 03:55
поделиться

Пакет, который вы должны смотреть на него java.awt.geom , который является частью JDK.

В частности, проверьте класс java.awt.geom.area , что позволяет выполнять операции пересечения между двумя формы s.

Редактировать

Найти точки пересечения нетривиальны, насколько я знаю, поскольку вам нужно применить другой алгоритм, в зависимости от форм, которые вы анализируете. Например, алгоритм для пересечения между двумя кругами дается здесь , тогда как алгоритм для расчета вторжения между двумя кривыми бейзье полностью отличается ( здесь ).

Отредактируйте 2

Одно предложение: вы можете посмотреть в класс Pathiterater класс , который возвращает описание пути формы в качестве последовательности сегментов. В частности, проверьте polateencePatterator , который будет разрушаться любые кривые на несколько прямых линий. Как только ваш путь будет уменьшен до прямых линий, вычисляя точки пересечения, будут простыми ... хотя, очевидно, это приближение в случаях, когда ваша форма содержит кривые.

6
ответ дан 27 November 2019 в 18:26
поделиться

JTS - Java Topology Suite - лучший.

http://www.vividsolutions.com/jts/jtshome.htm

Он бесплатный, быстрый, надежный и может работать с вырожденными перекрестками.

2
ответ дан 27 November 2019 в 18:26
поделиться

Я обнаружил, что JTS сменил владельца, или сменил домашний сайт, или что-то еще. Более новую версию можно найти здесь: http://maven.geotoolkit.org/com/vividsolutions/jts/1.10/

Редактировать: Возможно, это его новая домашняя страница: http://tsusiatsoftware.net/jts/main.html

4
ответ дан 27 November 2019 в 18:26
поделиться
Другие вопросы по тегам:

Похожие вопросы: