# Arrays of geometries?

Fri Sep 15 18:22:03 CEST 2017

```An array of 4 points includes those 4 points while a polygon with 4
vertices incudes *all* the points inside or on the boundary. So the
polygon xtype says more than just an array of points. It is a sequence
of points that enclose a portion of the coordinate system (with great
circles) in a specific winding direction that defines the "inside" and
"outside". It is a set of all those points - not just the 4 listed.

Pat

On 15 September 2017 at 08:49, Dave Morris <dave.morris at metagrid.co.uk> wrote:
> Hi DAL,
>
> Are POLYGONs arrays of POINTs ?
>
> The current email thread is considering this:
>
>     <!-- Four points, each made up of two floats -->
>     <FIELD datatype="float" arraysize="2x4" xtype="point"...>
>
> to mean an array of four POINTs. Where the arraysize is split, with the
> first number, 2, applied to the 'float' part and the 4 applied to the
> 'point' part.
>
> What does that mean for POLYGONs ?
>
> At the moment POLYGONs are handled as 1D arrays of floats:
>
>     <!-- A single polygon made up from 8 floats -->
>     <FIELD datatype="float" arraysize="8" xtype="polygon"...>
>
> where the first part of the arraysize, 8, applies to the 'float' part and
> the 'polygon' part is unmodified.
>
> Are these equivalent ?
>
>     <!-- Four points, each made up of two floats -->
>     <FIELD datatype="float" arraysize="2x4" xtype="point"...>
>
>     <!-- A single polygon made up from 8 floats -->
>     <FIELD datatype="float" arraysize="8" xtype="polygon"...>
>
> What happens if we push the model to handle multiple shapes ?
>
>     <!-- A single polygon made up from 8 floats -->
>     <FIELD datatype="float" arraysize="8" xtype="polygon"...>
>
>     <!-- Three polygons, each made up from eight floats -->
>     <FIELD datatype="float" arraysize="8x3"   xtype="polygon"...>
>
>     <!-- Four points, each made up of two floats -->
>     <FIELD datatype="float" arraysize="2x4" xtype="point"...>
>
>     <!-- Three shapes, each made up of four points, each made of two floats
> -->
>     <FIELD datatype="float" arraysize="2x4x3" xtype="point"...>
>
> I *think* this works.
>
> If we serialize polygons as arrays of points, do we need the polygon xtype?
>
> It might help avoid the ambiguity caused by an incomplete polygon:
>
>     <!-- An incomplete polygon made up from 3 floats -->
>     <FIELD datatype="float" arraysize="3" xtype="polygon"...>
>
>
> Any thoughts ?
>
> -- Dave
>
> --------
> Dave Morris
> Research Software Engineer
> Wide Field Astronomy Unit
> Institute for Astronomy
> University of Edinburgh
> --------
>
> On 2017-09-05 12:24, Markus Demleitner wrote:
>>
>> Dear DAL,
>>
>> While implementing DALI 1.1 with a view to TAP 1.1, one of my test
>> cases lead to the encoding of a 2-array of points to a
>>
>> <FIELD datatype="float" arraysize="2x2" xtype="point"...>
>>
>> This made me realise that, as far as I can see, it's unclear what
>> that means by DALI.  And it leads to the more fundamental question of
>> whether xtype amends the datatype -- which would support such usage
>> -- or whether it amends (datatype, arraysize) -- which probably would
>> outlaw things like these.
>>
>> So:
>>
>> Is anyone strongly in favour of such usage?  Note that another,
>> perhaps more common, use case is arrays of timestamps, which *could*
>> play a role in certain time series serialisations?
>>
>> ...or is anyone strongly opposed to it?
>>
>> Either way, I think it's one of these corner cases where we should
>> somehow agree upon a policy.  Should xtype+array be allowed?
>> Forbidden?  Undefined at this point?
>>
>>           -- markus

--
Patrick Dowler