wiki:RFC8

Version 3 (modified by mdavis, 5 years ago) ( diff )

--

GEOS RFC 8: Improve Coordinate Sequence API (WIP)

RFC 7: Improve Coordinate Sequence API
Author: Martin Davis
Contact:martin-dot-davis at crunchydata.com
Status:

This document proposes to modify the Coordinate Sequence API to improve performance and adaptiveness. These improvements are (likely to be) breaking changes to the C++ API. These may require extensions to the C API to be externally available, but should not result in breaking the current C API.

Background

The Coordinate Sequence API as it stands imposes a large cost on clients.

  • It requires copying coordinate list structures one or more times
  • It imposes the cost of a Z ordinate even if not required by the client

The API also has some functional limitations:

  • it does not support M values

Goals

  • Allow using external coordinate list structures with no copying (except as needed by GEOS algorithms, e.g. removing repeated points)
  • Prevent mutating of external coordinate structures
  • Support XY, XYM, XYZ, XYZM efficiently
Note: See TracWiki for help on using the wiki.