J'ai trouvé que certains résultats de MBRContains (g1, g2) et d'autres fonctions ne me semblent pas appropriés. et je veux savoir pourquoi. comment voir le mbr?Y at-il une fonction dans mysql pour obtenir le MBR (Minimal Bounding Rectangles) de la géométrie?
Y at-il une fonction dans mysql pour obtenir le MBR (Minimal Bounding Rectangles) de la géométrie?
Répondre
ce pourrait être la raison pour laquelle: http://forums.mysql.com/read.php?23,271928,271968
rectangles de délimitation minimum pour une géométrie ont toujours des bords parallèles aux axes de coordonnées.
Vous pouvez simplement les construire avec min & max, aussi.
Et en général - MySQL n'est pas la base de données à utiliser pour les opérations spatiales. La plupart des fonctions spatiales ne sont pas vraiment implémentées. Je recommanderais PostGIS sur Postgresql pour un db spatial FOSS. Vous pouvez également regarder spatiallite, construit sur SQLIte
Je suis d'accord avec Steve0 PostGIS est la voie à suivre ...... ou vous pouvez utiliser la Suite Java Topology (JTS) .. ou Net Topology Suite (NTS) version ... et utiliser des banques de données telles que le format GIS très courant de Shapefiles plutôt qu'un db complet. Je suppose que ça dépend de ce que tu fais. Comme la multiplication rapide, ces MBR sont parallèles aux axes de coordonnées ... mais vous pouvez également utiliser l'approche de l'étrier rotatif pour trouver des boîtes de délimitation minimales qui sont alignées sur la ligne d'axe la plus longue de la forme ... si vous en avez besoin.
Vérifiez ici pour plus d'informations:
La fonction Envelope
est ce que vous cherchez à obtenir le MBR d'une géométrie quelconque. Voir: http://dev.mysql.com/doc/refman/5.5/en/gis-general-property-functions.html#function_envelope