IFeatureLayer80

This interface provides access to feature layers.

 

 

Properties

 

AltitudeUnit

Gets and sets an enum defining the units used for altitude measurements.

Annotation

Gets and sets a Boolean indicating whether the layer contains an annotation object.

BBox

An IBBox2D80 representing the bounding box that designates a fixed rectangular section of the feature layer to load. Note that changes are applied only following a call to Refresh().

BlockWidth

Gets and sets the geographic block width of the stream requests that are sent from TerraExplorer to the remote server.

CoordinateSystem

Gets and sets an ICoordinateSystem80 representing the layer’s coordinate system information.

DataSourceInfo

An IDataSourceInfo80 representing the data source a project layer is based on.

DynamicAnnotationPlacement

Gets and sets a Boolean that determines if annotations are moved along the polyline object to which they are assigned to a visible area on the 3D Window.

Editable

Gets a Boolean indicating whether the layer is editable.

FeatureGroups

An IFeatureGroups80 representing the layer’s feature groups.

Filter

Gets and sets any valid SQL WHERE clause.

GeometryType

Gets the layer’s geometry type (e.g. polyline or polygon).

ID

Gets the ID of the object. (Inherited from ITerraExplorerObject80).

IgnoreZ

Gets and sets a Boolean indicating whether the Z value is ignored.

MinimizeLabelDuplications

Gets and sets a Boolean that determines if all duplicated labels with the same text or image are removed from view.

ObjectType

Gets an enum that identifies the type of the object. (Inherited from ITerraExplorerObject80).

Position

An IPosition80 representing the layer’s position on the terrain.

Reproject

Gets and sets a Boolean that determines if the layer’s coordinate system is reprojected to the terrain’s coordinate system.

ReprojectElevation

Gets and sets a Boolean that determines if the layer’s elevation coordinates are reprojected from the layer’s coordinate system to the terrain’s coordinate system.

SaveInFlyFile

Reserved. Currently not used. (Inherited from ITerraExplorerObject80).

SelectedFeatures

An IFeatures80 representing the layer’s currently selected features.

Streaming

Gets and sets a Boolean that determines if layer data is streamed.

StreamStatus

Gets and sets an enum that determines the status of the streaming (e.g. Paused or Streaming).

TreeItem

An ITreeItem80 representing details about the representation of the object in the Project Tree.

Visibility

An IVisibility80 controlling visibility of the layer at different distances.

 

Methods

 

CopyStyleFrom

Copies the styles from a layer in order to then paste the styles to a layer with features of the same geometry type using the CopyStyleTo method.

CopyStyleTo

Pastes the styles that were copied from a layer with features of the same geometry type using the CopyStyleFrom method.

ExecuteQuery

Returns an IFeatures80 representing all the features in a layer that have a specified attribute value. When a combined attribute and spatial query is required, an IGeometry parameter can be defined that filters the returned features by a selection area geometry in addition to the attribute value.

ExecuteQueryAsync

Returns all the features in a layer that have a specified attribute value. This method executes asynchronously, , immediately returning an ITerraExplorerAsync80, thereby ensuring that control is promptly handed back to the calling function.

ExecuteSpatialQuery

Returns an IFeatures80 representing all the features that intersect with a selection area geometry according to the specified intersection type and renders all data in the 3D Window.

GetClientData

Gets an array of text strings assigned to each object global namespace. (Inherited from ITerraExplorerObject80)

GetParam

Reserved. Currently not used. (Inherited from ITerraExplorerObject80).

Load

Loads the new layer on the terrain.

LoadAsync

Loads the new layer on the terrain. This method executes asynchronously, , immediately returning an ITerraExplorerAsync80, thereby ensuring that control is promptly handed back to the calling function.

Refresh

Refreshes the layer.

RefreshFeatures

Refreshes specific features in the layer.

Save

Saves layer changes to the data source.

SaveAs

Saves layer changes to a file with a specified name.

SetClientData

Sets an array of text strings assigned to each object global namespace. (Inherited from ITerraExplorerObject80)

SetParam

Reserved. Currently not used. (Inherited from ITerraExplorerObject80).

AltitudeUnit

Gets and sets an enum defining the units used for altitude measurements. The following are possible values:

§   AU_UNDEFINED       = -1

§   AU_METER                 = 0

§   AU_FEET                      = 1

§   AU_CENTIMETER     = 2

§   AU_DECIMETER        = 3

§   AU_INCHE                  = 4

§   AU_YARD                    = 5

Note:    Changes are applied only following a call to Refresh().

 

JavaScript

 

AltitudeUnit

 

C#

 

AltitudeUnitCode AltitudeUnit { get; set; }

 

C++

 

HRESULT AltitudeUnit([out, retval] AltitudeUnitCode* pVal)

HRESULT AltitudeUnit([in] AltitudeUnitCode pVal)

Annotation

Gets and sets a Boolean indicating whether the layer contains an annotation object.

When a native feature layer is loaded, TerraExplorer Pro can create at the center of each geographic object a corresponding annotation object. The annotation object can then be used to textually or graphically convey information relating to the geographic object,.

 

JavaScript

 

Annotation

 

C#

 

bool Annotation { get; set; }

 

C++

 

HRESULT Annotation([out, retval] VARIANT_BOOL* pVal)

HRESULT Annotation([in] VARIANT_BOOL pVal)

BlockWidth

Gets and sets the geographic block width of the stream requests that are sent from TerraExplorer to the remote server.

Changing the block width can improve performance, For example, a block width that is about double the average line feature size, or covers about 50 point features, can improve streaming behavior. This value applies only when the Streaming property is set to TRUE.

Note:    Changes are applied only following a call to Refresh().

 

JavaScript

 

BlockWidth

 

C#

 

double BlockWidth { get; set; }

 

C++

 

HRESULT BlockWidth([out, retval] double* pVal)

HRESULT BlockWidth([in] double pVal)

DynamicAnnotationPlacement

Gets and sets a Boolean that determines if annotations are moved along the polyline object to which they are assigned, to a visible area on the 3D Window. This property applies only to polyline objects whose Position.AltitudeType is set to ATC_ON_TERRAIN = 2

Note:    Changes are applied only following a call to Refresh().

 

 

JavaScript

 

DynamicAnnotationPlacement

 

C#

 

bool DynamicAnnotationPlacement { get; set; }

 

C++

 

HRESULT DynamicAnnotationPlacement([out, retval] VARIANT_BOOL* pVal)

HRESULT DynamicAnnotationPlacement([in] VARIANT_BOOL pVal)

Editable

Gets a Boolean indicating whether the layer is editable.

 

JavaScript

 

Editable

 

C#

 

bool Editable { get; }

 

C++

 

HRESULT Editable([out, retval] VARIANT_BOOL* pVal)

Filter

Gets and sets any valid SQL WHERE clause.

Note:    Changes are applied only following a call to Refresh().

 

JavaScript

 

Filter

 

C#

 

string Filter { get; set; }

 

C++

 

HRESULT Filter([out, retval] BSTR* pVal)

HRESULT Filter([in] BSTR pVal)

GeometryType

Gets an enum determining the layer’s geometry type. The following are the possible values:

§   LGT_NONE                 = -1

§   LGT_POINT                 = 0

§   LGT_POLYLINE          = 1

§   LGT_POLYGON         = 2

§   LGT_COLLECTION    = 3

 

JavaScript

 

GeometryType

 

C#

 

LayerGeometryType GeometryType { get; }

 

C++

 

HRESULT GeometryType([out, retval] LayerGeometryType* LayerType)

 

IgnoreZ

Gets and sets a Boolean that indicates whether the Z value is ignored.

Note:    Changes are applied only following a call to Refresh().

 

JavaScript

 

IgnoreZ

 

C#

 

bool IgnoreZ { get; set; }

 

C++

 

HRESULT IgnoreZ([out, retval] VARIANT_BOOL* pVal)

HRESULT IgnoreZ([in] VARIANT_BOOL pVal)

 

MinimizeLabelDuplications

Gets and sets a Boolean that determines if all repeating labels with the same text or image are removed from view.

Note:    Changes are applied only following a call to Refresh().

 

JavaScript

 

MinimizeLabelDuplications

 

C#

 

bool MinimizeLabelDuplications { get; set; }

 

C++

 

HRESULT MinimizeLabelDuplications([out, retval] VARIANT_BOOL* pVal)

HRESULT MinimizeLabelDuplications([in] VARIANT_BOOL pVal)

Reproject

Gets and sets a Boolean that determines if the layer’s data is reprojected to the terrain’s coordinate system.

Note:    Changes are applied only following a call to Refresh().

 

JavaScript

 

Reproject

 

C#

 

bool Reproject { get; set; }

 

C++

 

HRESULT Reproject([out, retval] VARIANT_BOOL* pVal)

HRESULT Reproject([in] VARIANT_BOOL pVal)

ReprojectElevation

Gets and sets a Boolean that determines if the layer’s elevation coordinates are reprojected from the layer’s coordinate system to the terrain’s coordinate system. This property applies only to feature layers whose Position.AltitudeType is set to ATC_Terrain_Absolute = 3. Geocentric layers are always reprojected even if this property is set to false.

Note:    Changes are applied only following a call to Refresh().

 

JavaScript

 

ReprojectElevation

 

C#

 

bool ReprojectElevation { get; set; }

 

C++

 

HRESULT ReprojectElevation([out, retval] VARIANT_BOOL* pVal)

HRESULT ReprojectElevation ([in] VARIANT_BOOL pVal)

 

Streaming

Gets and sets a Boolean that determines if layer data is streamed. Information from the layer is retrieved, added to the terrain, and then removed dynamically based on the camera's position. This enables you to fly without waiting for the entire layer to load.

Note:    Changes are applied only following a call to Refresh().

 

JavaScript

 

Streaming

 

C#

 

bool Streaming { get; set; }

 

C++

 

HRESULT Streaming([out, retval] VARIANT_BOOL* pVal)

HRESULT Streaming([in] VARIANT_BOOL pVal)

 

StreamStatus

Gets and sets an enum that determines the status of the streaming. The following are the possible values:

§   SLS_NOT_STREAMED_LAYER = 0

§   SLS_STREAMING                      = 1

§   SLS_STREAM_PAUSED           = 2

 

JavaScript

 

StreamStatus

 

C#

 

StreamLayerStatus StreamStatus { get; set; }

 

C++

 

HRESULT StreamStatus([in] StreamLayerStatus pStreamStatus)

HRESULT StreamStatus([out, retval] StreamLayerStatus* pStreamStatus)

CopyStyleFrom

CopyStyleFrom copies the styles from a layer in order to then paste the styles to a layer with features of the same geometry type using the CopyStyleTo method. All feature and annotation properties, i.e., properties included on the Feature (Polygon, Polyline or Point) and Annotation tabs are copied.

 

JavaScript

 

CopyStyleFrom(LayerID)

 

C#

 

void CopyStyleFrom (string LayerID)

 

C++

 

HRESULT CopyStyleFrom ([in] BSTR LayerID);

Parameters

LayerID

ID of the layer from which to copy the styles.

Exceptions

See: HRESULT Return Values for a list of possible values returned by the HRESULT.

CopyStyleTo

CopyStyleTo pastes the styles that were copied from a layer with features of the same geometry type using the CopyStyleFrom method. All feature and annotation properties, i.e., properties included on the Feature (Polygon, Polyline or Point) and Annotation tabs are pasted.

 

JavaScript

 

CopyStyleTo(LayerID)

 

C#

 

void CopyStyleTo (string LayerID)

 

C++

 

HRESULT CopyStyleTo ([in] BSTR LayerID);

Parameters

LayerID

ID of the layer to which to copy the styles.

Exceptions

See: HRESULT Return Values for a list of possible values returned by the HRESULT.

ExecuteQuery

This method returns all the features in a layer that have a specified attribute value. When a combined attribute and spatial query is required, an IGeometry parameter can be defined that filters the returned features by a selection area geometry in addition to the attribute value. When splitting a large query into multiple “sub-queries” using the NumOfFeatures parameter (to prevent excessively long response time), the FromDataSourceFeatureId parameter for each subsequent call to ExecuteQuery should be set equal to the ID of the last feature returned in the previous call. This method executes synchronously, meaning it returns after the query is executed. If you want to execute asynchronously, use ExecuteQueryAsync instead.

Note:    When only a spatial query is required, “ExecuteSpatialQuery” can be called instead. Note that in addition to combining the spatial query with an attribute query, ExecuteQuery also offers the advantages of performing the query without rendering and of splitting the request into chunks (multiple “sub-queries”, each on a defined subset of the features). ExecuteSpatialQuery, on the other has the advantage of rendering all the data in the 3D Window. SeeExecuteSpatialQuery” for more information.

Note:    In Javascript, if you do not want to use an area filter, you can call ICreator80. GeometryCreator.CreatePolygonGeometry(null)) to create a null IGeometry object.

 

JavaScript

 

ExecuteQuery(

       AttributeFilter,

       NumOfFeatures,

       FromDataSourceFeatureId,

       AreaFilter)

 

C#

 

IFeatures80 ExecuteQuery(

       string AttributeFilter,

       int NumOfFeatures = -1,

       string FromDataSourceFeatureId = "",

       IGeometry* AreaFilter = null)

 

C++

 

HRESULT ExecuteQuery(

       BSTR AttributeFilter,

       long NumOfFeatures,

       BSTR FromDataSourceFeatureId,

       IGeometry* AreaFilter,

       IFeatures80** pITerraExplorerObject)

Parameters

AttributeFilter

Any valid SQL WHERE clause that filters the layer’s features, thereby designating which of the layer’s features should be queried.

NumOfFeatures

The maximum number of features to return. This property can have a significant impact on the method’s execution speed.

FromDataSourceFeatureId

The ID of the first feature that should be returned. When splitting a large query into multiple “sub-queries” using the NumOfFeatures parameter (to prevent excessively long response time), the FromDataSourceFeatureId for each subsequent call to ExecuteQuery should be set equal to the ID of the last feature returned in the previous call.

AreaFilter

An IGeometry representing the polygon, multipolygon, or linear ring that designates which part of the layer should be selected (only layer features that are spatially related to the polygon/ multipolygon/ linear ring will be selected).  

Note:    In Javascript, if you do not want to use an area filter, you can call ICreator80. GeometryCreator.CreatePolygonGeometry(null)) to create a null IGeometry object.

Return Value

pIFeatures

An IFeatures80, containing all the features returned by the attribute (and spatial) query. This method executes synchronously, meaning it returns after the query is executed. If you want to execute asynchronously, use ExecuteQueryAsync instead.

Exceptions

See: HRESULT Return Values for a list of possible values returned by the HRESULT.

ExecuteQueryAsync

This method returns all the features in a layer that have a specified attribute value. When a combined attribute and spatial query is required, an IGeometry parameter can be defined that filters the returned features by a selection area geometry in addition to the attribute value. When splitting a large query into multiple “sub-queries” using the NumOfFeatures parameter (to prevent excessively long response time), the FromDataSourceFeatureId parameter for each subsequent call to ExecuteQuery should be set equal to the ID of the last feature returned in the previous call.

ExecuteQueryAsync executes asynchronously, immediately returning an ITerraExplorerAsync80 object, thereby ensuring that control is promptly handed back to the calling function. The ITerraExplorerAsync80 object provides a callback-based mechanism similar to the JavaScript promise and the C# Task that offers the following functionality:

§   Allows for handling the various stages of the asynchronous operation, from tracking progress to managing rejection/error, and finally resolving the operation (using OnProgress, OnReject, and OnResolve respectively).

§   Upon resolution of the query, enables the passing of an IFeatures80, containing all the features returned by the attribute and spatial query, to the OnResolve callback.

If you want to execute synchronously, use ExecuteQuery instead.

Note:    When only a spatial query is required, “ExecuteSpatialQuery” can be called instead. Note that in addition to combining the spatial query with an attribute query, ExecuteQueryAsync also offers the advantage of performing the query without rendering. ExecuteSpatialQuery, on the other has the advantage of rendering all the data in the 3D Window. SeeExecuteSpatialQuery” for more information.

Note:    In Javascript, if you do not want to use an area filter, you can call ICreator80. GeometryCreator.CreatePolygonGeometry(null)) to create a null IGeometry object.

 

JavaScript

 

ExecuteQueryAsync(

       AttributeFilter,

       NumOfFeatures,

       FromDataSourceFeatureId,

       AreaFilter)

 

C#

 

ITerraExplorerAsync80 ExecuteQueryAsync(

       string AttributeFilter,

       int NumOfFeatures = -1,

       string FromDataSourceFeatureId = "",

       IGeometry* AreaFilter = null)

 

C++

 

HRESULT ExecuteQueryAsync(

       BSTR AttributeFilter,

       long NumOfFeatures,

       BSTR FromDataSourceFeatureId,

       IGeometry* AreaFilter,

       ITerraExplorerAsync80** pITerraExplorerObject)

Parameters

AttributeFilter

Any valid SQL WHERE clause that filters the layer’s features, thereby designating which of the layer’s features should be queried.

NumOfFeatures

The maximum number of features to return. This property can have a significant impact on the method’s execution speed.

FromDataSourceFeatureId

The ID of the first feature that should be returned. When splitting a large query into multiple “sub-queries” using the NumOfFeatures parameter (to prevent excessively long response time), the FromDataSourceFeatureId for each subsequent call to ExecuteQuery should be set equal to the ID of the last feature returned in the previous call.

AreaFilter

An IGeometry representing the polygon, multipolygon, or linear ring that designates which part of the layer should be selected (only layer features that are spatially related to the polygon/ multipolygon/ linear ring will be selected).  

Note:    In Javascript, if you do not want to use an area filter, you can call ICreator80. GeometryCreator.CreatePolygonGeometry(null)) to create a null IGeometry object.

Return Value

pITerraExplorerObject

An ITerraExplorerAsync80 object, which provides a callback-based mechanism similar to the JavaScript promise and the C# Task that offers the following functionality:

·          Allows for handling the various stages of the asynchronous operation, from tracking progress to managing rejection/error, and finally resolving the operation (using OnProgress, OnReject, and OnResolve respectively).

·          Upon resolution of the query, enables the passing of an IFeatures80, containing all the features returned by the attribute and spatial query, to the OnResolve callback.

Exceptions

See: HRESULT Return Values for a list of possible values returned by the HRESULT.

ExecuteSpatialQuery

This method returns all the features that intersect with a selection area geometry according to the specified intersection type and renders all data in the 3D Window. If rendering of the data is not desirable for the spatial query, the ExecuteQuery method can be used instead. Note that in addition to combining the spatial query with an attribute query, ExecuteQuery also offers the advantages of performing the query without rendering and of splitting the request into chunks (multiple “sub-queries”, each on a defined subset of the features). ExecuteSpatialQuery, on the other has the advantage of rendering all the data in the 3D Window. SeeExecuteQuery” for more information.

 

JavaScript

 

ExecuteSpatialQuery(

       pIGeometry,

       IntersectionType)

 

C#

 

IFeatures80 ExecuteSpatialQuery(

       IGeometry pIGeometry,

       IntersectionType IntersectionType = IntersectionType.IT_INTERSECT)

 

C++

 

HRESULT ExecuteSpatialQuery(

       IGeometry* pIGeometry,

       IntersectionType IntersectionType,

       IFeatures80** pIFeatures)

Parameters

pIGeometry

Any valid IGeometry derived object, representing the geometric properties of the selection area geometry.

IntersectionType

An enum that determines the intersection type. The following are the possible values:

·          IT_NONE = 0

·          IT_INTERSECT = 1
Select all features that geometrically intersect with the selection area.

·          IT_WITHIN = 2
Select only features whose entire geometry falls within the selection area.

Return Value

pIFeatures

An IFeatures80, containing all the features that intersect with the selection area geometry according to the IGeometry properties set.

Exceptions

See: HRESULT Return Values for a list of possible values returned by the HRESULT.

Load

Following a call to the CreateFeatureLayer method, the Load method loads the new layer on the terrain. This method must be called only when the layer is loaded to the terrain for the first time. Use the Refresh method to reload a layer that was already loaded. This method executes synchronously, meaning it returns after the layer is loaded. If you want to execute asynchronously, use LoadAsync instead.

Note:    Both Refresh and Load perform a refresh, overwriting any new features you may have added. If you don’t want to overwrite new features, call Save before refreshing.

 

JavaScript

 

Load()

 

C#

 

void Load()

 

C++

 

HRESULT Load()

Exceptions

See: HRESULT Return Values for a list of possible values returned by the HRESULT.

LoadAsync

Following a call to the CreateFeatureLayerAsync method, LoadAsync loads the new layer on the terrain. This method must be called only when the layer is loaded to the terrain for the first time. Use the Refresh method to reload a layer that was already loaded.

This method executes asynchronously, immediately returning an ITerraExplorerAsync80, thereby ensuring that control is promptly handed back to the calling function. The ITerraExplorerAsync80 object provides a callback-based mechanism similar to the JavaScript promise and the C# Task that allows for handling rejections/errors and successful resolution of the asynchronous operation (using OnReject and OnResolve).

If you want to execute synchronously, use Load instead.

Note:    Both Refresh and LoadAsync perform a refresh, overwriting any new features you may have added. If you don’t want to overwrite new features, call Save before refreshing.

 

JavaScript

 

LoadAsync ()

 

C#

 

ITerraExplorerAsync80 LoadAsync ()

 

C++

 

HRESULT LoadAsync(ITerraExplorerAsync80* pVal)

Return Value

ITerraExplorerAsync80

An ITerraExplorerAsync80 object, which provides a callback-based mechanism similar to the JavaScript promise and the C# Task that allows for handling rejections/errors and successful resolution of the asynchronous operation (using OnReject and OnResolve).

Exceptions

See: HRESULT Return Values for a list of possible values returned by the HRESULT.

Refresh

This method refreshes the layer.

 

JavaScript

 

Refresh()

 

C#

 

void Refresh()

 

C++

 

HRESULT Refresh()

Exceptions

See: HRESULT Return Values for a list of possible values returned by the HRESULT.

RefreshFeatures

Refreshes specific features in the layer.

 

JavaScript

 

RefreshFeatures(

       featureIDs

       bAsync)

 

C#

 

void RefreshFeatures (

       object featureIDs,

       bool bAsync = false)

 

C++

 

HRESULT RefreshFeatures (

       [in] VARIANT featureIDs,

       [in, optional] VARIANT_BOOL bAsync)

Parameters

featureIDS

Array of DataSourceFeatureID.

bAsync

When set to TRUE, the method executes asynchronously, meaning returns immediately. When set to FALSE, the method executes synchronously.

Exceptions

See: HRESULT Return Values for a list of possible values returned by the HRESULT.

Save

Saves layer changes to the data source.

 

JavaScript

 

Save()

 

C#

 

void Save()

 

C++

 

HRESULT Save()

Exceptions

See: HRESULT Return Values for a list of possible values returned by the HRESULT.

SaveAs

Saves the layer changes to a file with a specified name. Before saving, the layer can be filtered based on attribute and area filters. For security reasons the file is saved to a predefined “Skyline\TerraExplorer” folder in the “Application Data” space of the current user. The full path of the saved file is provided in the method’s return value. You can also use %APPDATA% in Windows Explorer to locate the path on your computer.

Note:    If the folder contains a file by the same name, the existing file is overwritten without a prompt.

Note:    The Application Data folder path changes between different users and different Windows operating systems. To find the path used by your client, look at the %APPDATA% environment variable.

 

JavaScript

 

SaveAs(

       FileName,

       AttributeFilter,

       AreaFilter)

 

C#

 

string SaveAs(

       string FileName,

       string AttributeFilter,

       IGeometry AreaFilter)

 

C++

 

HRESULT SaveAs(

       BSTR FileName,

       BSTR AttributeFilter,

       IGeometry* AreaFilter,

       BSTR* OutFilePath)

Parameters

FileName

The file name if saving to a shapefile or the connection string if saving to a GeoPackage, GeoDatabase, PDF or SQLite file. If the format is not specified, a shapefile file extension (.shp) is added to the file name automatically.
Note:            A file name with a full path cannot be used here.

·          When saving as a shapefile, the connection string must include the following parameters:

“FileName=NameOfShapeFile.shp;TEPlugName=OGR”

·          When saving as an Excel file, the connection string must include the following parameters:

“FileName=NameOfExcelFile.xlsx;TEPlugName=OGR”

Note:    Only point layers can be saved to Microsoft Excel.

·          When saving as an SQLite file, the connection string must include the following parameters:

“FileName=NameofSQLiteFile.sqlite;TEPlugName=OGR;LayerName=newlayername”

·          When saving as a GeoPackage, the connection string must include the following parameters:

“FileName=NameOfGeoPackageFile.gpkg;TEPlugName=OGR;LayerName=newlayername”

·          When saving as a GeoDatabase, the connection string must include the following parameters:

“FileName=NameOfGeoDatabaseFile.gdb;TEPlugName=OGR”;LayerName=newlayername”

·          When saving as a Geospatial PDF, the connection string must include the following parameters:

“FileName=NameOfGeospatialPDFFile.pdf;TEPlugName=OGR;LayerName=newlayername”

 

AttributeFilter

Any valid SQL WHERE clause that filters the layer’s features, thereby designating which of the layer’s features should be saved. If this parameter is set to “Selected Features”, all currently selected features are saved.

AreaFilter

An IGeometry representing the polygon or multipolygon that designates which part of the layer should be saved (only layer features that are spatially related to the polygon/ multipolygon will be saved).

Note:    In Javascript, if you do not want to use an area filter, you can call ICreator80. GeometryCreator.CreatePolygonGeometry(null)) to create a null IGeometry object.

Return Value

OutFilePath

The full path of the layer file being created.

Exceptions

See: HRESULT Return Values for a list of possible values returned by the HRESULT.