Есть ли в mysql функция для получения MBR (минимальные ограничивающие прямоугольники) геометрии? - PullRequest
1 голос
/ 18 марта 2010

Я обнаружил, что какой-то результат MBRContains (g1, g2) и других функций мне не подходит.и я хочу выяснить почему.как посмотреть мбр?

Ответы [ 4 ]

7 голосов
/ 13 августа 2011

Функция Envelope - это то, что вы ищете, чтобы получить MBR для произвольной геометрии. Смотри: http://dev.mysql.com/doc/refman/5.5/en/gis-general-property-functions.html#function_envelope

1 голос
/ 07 апреля 2010

Я согласен со Steve0 PostGIS - это путь ...... или вы можете использовать версию Java Topology Suite (JTS) .. или Net Topology Suite (NTS) ... и использовать хранилища данных, такие как общий формат ГИС Shapefiles, а не полный дБ. Думаю, это зависит от того, что вы делаете.

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

Проверьте здесь для получения дополнительной информации:

http://cgm.cs.mcgill.ca/~orm/rotcal.html

1 голос
/ 18 марта 2010

может быть поэтому: http://forums.mysql.com/read.php?23,271928,271968

минимальные ограничивающие прямоугольники для геометрии всегда имеют ребра, параллельные координатным осям.

Вы также можете создать их самостоятельно с помощью min & max.

0 голосов
/ 18 марта 2010

И вообще - MySQL не является базой данных для пространственных операций. Большинство пространственных функций на самом деле не реализованы. Я бы порекомендовал PostGIS на Postgresql для пространственной базы данных FOSS. Вы также можете посмотреть на spatiallite, построенный на SQLIte

...