首页 > 解决方案 > 如何在 Doctrine ODM 中创建 GeoJson 多边形

问题描述

我想在数据库中保留一组几何。之后,我想通过 Doctrine ODM 查询几何与给定点相交的所有文档。

不知何故,我不知道如何通过学说创建文档模式。我尝试了几种注释类型(见下文)来定义几何字段,但是任一学说都会在 schema:update 处引发错误,或者该字段没有被解释为几何,因此我无法通过 $queryBuilder->field('geometry' )->geointersects($somePoint)。

我尝试使用以下这些注释,但它们都没有像我希望的那样工作。

@ODM\embedOne(targetDocument=Polygon::class) //from jmikola/GeoJson -> schema-error
$geometry

// or //

@ODM\embedOne(targetDocument=Geometry::class) //own class -> query has no results
$geometry

// or //

@ODM\Field(name="Polygon",type="raw") //array-notation -> illegal type conversion in query
$geometry

// and several others...

标签: mongodbannotationsgeojsondoctrine-odmodm

解决方案


好的,有一个自己的嵌入式类起作用的那个。我只是搞砸了查询(从公里弧度的错误转换)。


推荐阅读