serviceCurveGeometryMode property
Determines if curve geometries are fetched from and sent to services that support them.
By default, this API fetches curves in geometries and act as a true curve client, which means:
- Curve geometries are fetched from services, resulting in client-side geometries where Geometry.hasCurves is true.
- Your app will inform the services that it is a true curve client, and therefore will be able to update curve geometries stored in services where ArcGISFeatureServiceInfo.onlyAllowTrueCurveUpdatesByTrueCurveClients is true.
- Geodatabase replicas created by your app will preserve true curves and have Geodatabase.isTrueCurveClient set to true.
It is your responsibility to ensure data integrity by correctly preserving any curve segments throughout your application when using ServiceCurveGeometryMode.trueCurveClient. If your application edits feature geometries and does not preserve curve segments throughout all editing workflows, set this property to ServiceCurveGeometryMode.densifyCurves, which means:
- Densified versions of any curve geometries are fetched from services, resulting in client-side geometries where Geometry.hasCurves is always false.
- Curve geometries stored in services where ArcGISFeatureServiceInfo.onlyAllowTrueCurveUpdatesByTrueCurveClients is true cannot be updated.
Ensure that you change this property before any calls to services are made, as it cannot be changed after the first request has begun. Note that some geometry operations do not support curve geometries; see GeometryEngine for details of curve support.
For details of curve support in services, see ArcGIS REST API documentation.
For services that don't support curves, this value has no effect.
This value also has no effect on existing local data sources that may contain curve geometries, such as previously created mobile geodatabases or mobile map packages. For example, synchronizing edits made to a mobile geodatabase with its feature service will not use this value. When the geodatabase is synchronized it will be treated as a true curve client if it was created with true curves preserved. See Geodatabase.isTrueCurveClient for details.