1427         ArrayIterator iterator;
 
 1431         POSTGIS_DEBUGF(2, 
"%s called", __func__);
 
 1434         if (PG_ARGISNULL(0))
 
 1438         array = PG_GETARG_ARRAYTYPE_P(0);
 
 1441         nelems = ArrayGetNItems(ARR_NDIM(array), ARR_DIMS(array));
 
 1443         POSTGIS_DEBUGF(3, 
"%s: array has %d elements", __func__, nelems);
 
 1456         geoms = palloc(
sizeof(
LWGEOM *) * nelems);
 
 1459         iterator = array_create_iterator(array, 0, NULL);
 
 1461         while (array_iterate(iterator, &
value, &isnull))
 
 1484                         srid = geoms[ngeoms - 1]->
srid;
 
 1490                 POSTGIS_DEBUGF(3, 
"%s: element %d deserialized", __func__, ngeoms);
 
 1492         array_free_iterator(iterator);
 
 1498                 elog(NOTICE, 
"No points or linestrings in input array");
 
 1502         POSTGIS_DEBUGF(3, 
"LWGEOM_makeline_garray: elements: %d", ngeoms);
 
 1506         result = geometry_serialize(outlwg);
 
 1508         PG_RETURN_POINTER(
result);
 
char result[OUT_DOUBLE_BUFFER_SIZE]
void gserialized_error_if_srid_mismatch_reference(const GSERIALIZED *g1, const int32_t srid2, const char *funcname)
LWGEOM * lwgeom_from_gserialized(const GSERIALIZED *g)
Allocate a new LWGEOM from a GSERIALIZED.
uint32_t gserialized_get_type(const GSERIALIZED *g)
Extract the geometry type from the serialized form (it hides in the anonymous data area,...
#define POINTTYPE
LWTYPE numbers, used internally by PostGIS.
#define SRID_UNKNOWN
Unknown SRID value.
LWLINE * lwline_from_lwgeom_array(int32_t srid, uint32_t ngeoms, LWGEOM **geoms)