# ESRI ArcSDE

OGR optionally supports reading ESRI ArcSDE database instances. ArcSDE is a middleware spatial solution for storing spatial data in a variety of backend relational databases. The OGR ArcSDE driver depends on being built with the ESRI provided ArcSDE client libraries.

ArcSDE instances are accessed with a datasource name of the following form. The server, instance, username and password fields are required. The instance is the port number of the SDE server, which generally defaults to 5151. If the layer parameter is specified then the SDE driver is able to skip reading the summary metadata for each layer; skipping this step can be a significant time savings.

      SDE:server,instance,database,username,password,layer

The OGR ArcSDE driver does not support reading CAD data (treated as BLOB attribute), annotation properties, measure values at vertices, or raster data. The ExecuteSQL() method does not get passed through to the underlying database. For now it is interpreted by the limited OGR SQL handler. Spatial indexes are used to accelerate spatial queries.

The driver has been tested with ArcSDE 9.x, and should work with newer versions, as well as ArcSDE 8.2 or 8.3. Both 2D and 3D geometries are supported. Curve geometries are approximated as line strings (actually still TODO).

### Environment variables

- OGR_SDE_GETLAYERTYPE: This may be "TRUE" to determine the geometry type from the database. Otherwise, the SDE driver will always return an Unknown geometry type.
- OGR_SDE_SEARCHORDER: This may be "ATTRIBUTE_FIRST" to tell ArcSDE to filter based on attributes *before* using a spatial filter or "SPATIAL_FIRST" to use the spatial filter. By default, it uses the spatial filter first.