This looks like a good start for me. The exception I noted is from the Java
API and whereas I can probably set the geometry as you indicated, I suspect
I'll continue to get the exception if I don't define the 'geometry' field
correctly in my domain class.
On Monday, December 26, 2016 at 10:41:39 AM UTC-8, Gregory Mace wrote:
>
> I've imported a large number of Objects that have location information in
> the form of:
>
> POI
> bunch of other fields ...
>
> * geometry:*
> * type: 'Point',*
> * coordinates: [ double, double ] // lon, lat*
> * dimension: (int size of coordinates )*
>
>
> I thought I would be able to look at the *geometry* field as an *OPoint* and
> run spatial queries on this but I get an exception:
>
> *com.orientechnologies.orient.core.exception.OValidationException:
> impossible to convert value of field "geometry", incompatible with OPoint*
>
> Is there something I can do to realize this field (geometry) as an OPoint?
> I do not really want to have an OPoint embedded in my domain class (in
> addition to what I have already), also am not quite sure if I can do that.
> I already have the geo info in my domain class so would rather not go
> through the extra effort of adding an additional field to the Vertex in
> order to do my spatial query. Is there possibly a different way I can
> accomplish this?
>
>
>
>
>
On Monday, December 26, 2016 at 2:18:32 PM UTC-8, Gregory Mace wrote:
>
>
>
> On Monday, December 26, 2016 at 12:22:46 PM UTC-8, Ivan Mainetti wrote:
>>
>> Hi,
>> I hope I understood your need, I did the following test:
>>
>> *test data:*
>> insert into POI set prop1="Sorint", geometry={"@class":"Geometry","type":
>> "Point", "coordinates":[45.6474562,9.7055546]}
>> insert into POI set prop1="TNT", geometry={"@class":"Geometry","type":
>> "Point", "coordinates":[45.6483712,9.7072927]}
>>
>> +----+-----+------+------+------------------------------------+
>> |# |@RID |@CLASS|prop1 |geometry |
>> +----+-----+------+------+------------------------------------+
>> |0 |#23:0|POI |Sorint|Geometry{coordinates:[2],type:Point}|
>> |1 |#24:0|POI |TNT |Geometry{coordinates:[2],type:Point}|
>> +----+-----+------+------+------------------------------------+
>>
>>
>> *test query to find distance b/w 2 POIs above:*
>> select ST_Distance_Sphere(ST_GEOMFROMTEXT("POINT(".append($a.geom1[0]).
>> append(" ").append($a.geom2[0]).append(")")),ST_GEOMFROMTEXT("POINT(".
>> append($b.geom1[0]).append(" ").append($b.geom2[0]).append(")"))) as
>> distance
>>
>>
>> let $a=(
>> select coordinates[0] as geom1, coordinates[1] as geom2 from (
>> select expand(geometry) from POI
>> where prop1 = "Sorint"
>> )
>> ),
>> $b=(
>> select coordinates[0] as geom1, coordinates[1] as geom2 from (
>> select expand(geometry) from POI
>> where prop1 = "TNT"
>> )
>> )
>>
>>
>> +----+------------------+
>> |# |distance |
>> +----+------------------+
>> |0 |217.98214528042894|
>> +----+------------------+
>>
>>
>>
>>
>>
>> Il giorno lunedì 26 dicembre 2016 19:41:39 UTC+1, Gregory Mace ha scritto:
>>>
>>> I've imported a large number of Objects that have location information
>>> in the form of:
>>>
>>> POI
>>> bunch of other fields ...
>>>
>>> * geometry:*
>>> * type: 'Point',*
>>> * coordinates: [ double, double ] // lon, lat*
>>> * dimension: (int size of coordinates )*
>>>
>>>
>>> I thought I would be able to look at the *geometry* field as an *OPoint*
>>> and run spatial queries on this but I get an exception:
>>>
>>> *com.orientechnologies.orient.core.exception.OValidationException:
>>> impossible to convert value of field "geometry", incompatible with OPoint*
>>>
>>> Is there something I can do to realize this field (geometry) as an
>>> OPoint? I do not really want to have an OPoint embedded in my domain class
>>> (in addition to what I have already), also am not quite sure if I can do
>>> that. I already have the geo info in my domain class so would rather not go
>>> through the extra effort of adding an additional field to the Vertex in
>>> order to do my spatial query. Is there possibly a different way I can
>>> accomplish this?
>>>
>>>
>>>
>>>
>>>
>>>
--
---
You received this message because you are subscribed to the Google Groups
"OrientDB" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.