J’ai un problème avec l’algorithme d’intersection boost. Je ne sais pas si j’ai commis une erreur ou si c’est un bogue. #include #include #include #include #include #include int main() { typedef boost::geometry::model::d2::point_xy BoostPointXY; typedef boost::geometry::model::polygon BoostPolygon; BoostPolygon polyOne, polyTwo; boost::geometry::read_wkt( “POLYGON((45, 4), (45, 17), (44, 19), (44, 22), (50, 20), (51.5, 17), (58, 4), (60, […]
Je me bats pour définir et remplir un point dans d dimensions. Pour être exact, j’ai exploité le fait que laisser Boost.Geometry gérer toute dimension par l’utilisateur est impossible (c’est ce que j’ai vu dans les documents et leur liste de diffusion). J’essaie donc de définir un sharepoint dimension 100D ou 10000D. Voici le code, […]
J’essaie d’appliquer un tampon négatif à un multipolygone à l’aide de Boost :: geometry. Lorsque je lance le code ci-dessous, j’obtiens le résultat approprié. Mais si je supprime le bloc marqué, qui ne fait qu’exporter et réimporter la géomésortinge dans WKT, je reçois un MultiPolygon vide dans la géomésortinge tmp_erosion. J’ai essayé d’utiliser la fonction […]
J’essaie de créer un index spatial multithread à l’aide de l’arborescence de Boost.Geometry, mais je suis incapable de déterminer s’il s’agit d’un thread-safe Je ne vois aucun mécanisme de locking dans rtree.hpp, mais ma connaissance de C ++ / Boost est au niveau débutant. Le thread Boost.Geometry.index.rtree est-il sécurisé d’une manière ou d’une autre? Sinon, […]
J’utilise boost :: geometry :: union_ pour fusionner un vecteur de polygones aléatoires, et voici ce que j’ai écrit: #include #include #include #include #include #include #include #include typedef boost::geometry::model::polygon<boost::geometry::model::d2::point_xy > polygon; void union_polys(std::vector In_polys,std::vector &Out_polys) { std::vector temp_polys; bool *considered = new bool [In_polys.size()]; for(unsigned i = 0 ; i < In_polys.size() ; i++) considered[i] […]
Boost rtree donne un résultat d’intersection incorrect pour certaines intersections avec des requêtes de segment. Dans ce cas, la boîte englobante est un carré y-planar 10×10 à y = 0. J’interroge avec une ligne z-alignée de (2, 1, 0) à (2, 1, 10). Ce qui est intéressant, c’est que si j’utilise une boîte pour une […]
J’ai une hiérarchie de classes héritée que je ne peux pas modifier. En raison des exigences d’une bibliothèque externe, je dois définir des Boost.Ranges pour la ligne et l’anneau, où les deux exposent uniquement les points d’un seul cycle (c’est-à-dire que cela devrait être, à la fois pour Line et Ring, un Boost.Range of Points […]
Est-il possible d’utiliser boost :: geometry pour vérifier si deux segments de droite (chacun donné par deux points en 2D) se coupent? Si cela est possible, boost :: geometry permet-il de vérifier également les cas spéciaux tels que seul un point est (numériquement) sur l’autre ligne ou que les deux lignes sont égales?
J’ai une simple DLL faisant des calculs avec les polygones de Boost Geometry. (Principalement des intersections et des différences.) Étant donné que la DLL sera probablement appelée à partir de code C #, et de Delphi et qui sait d’où, d’autre, je devrais convertir le résultat en tableaux que tout peut gérer. MISE À JOUR: […]
J’utilise l’implémentation Rtree de boost :: geometry pour stocker (beaucoup de) points 2D. Maintenant, je dois faire des requêtes sur les voisins les plus proches basées sur la distance. Cependant, le manuel décrit uniquement les requêtes sous forme de boîtes rectangulars (c’est-à-dire “Obtenez-moi tous les points qui se trouvent à l’intérieur de ce rectangle”) ou […]