User Tools

Site Tools


api:dk11:delphi:gislayervector.tgis_layervector.importlayer_tgis_layervector_tgis_extent_tgis_shapetype_string_boolean

TGIS_LayerVector.ImportLayer(TGIS_LayerVector; TGIS_Extent; TGIS_ShapeType; String; Boolean) method

DK11 for Delphi | GisLayerVector.TGIS_LayerVector.ImportLayer | Overloads | Constructors | Fields | Methods | Properties | Events

Import layer from an existing layer.

Available also on: .NET | Java | ActiveX.

Syntax

// Delphi
public
  procedure ImportLayer(
    const _layer : TGIS_LayerVector;
    const _extent : TGIS_Extent;
    const _type : TGIS_ShapeType;
    const _scope : String;
    const _truncated : Boolean
  ); overload;
// C++ Builder
public:
  void ImportLayer(
    TGIS_LayerVector* const _layer,
    TGIS_Extent* const _extent,
    TGIS_ShapeType* const _type,
    const UnicodeString _scope,
    const bool _truncated
  ) /* overload */;

Parameters

Name Type Description
_layer TGIS_LayerVector layer to be imported
_extent TGIS_Extent starting extent of layer - can't be zero sized
_type TGIS_ShapeType shape type supported by a layer; if gistypeUnknown is used then import will try to recognize shape on its own;
_scope String SQL query for which shape will be imported
_truncated Boolean if True, then all shapes will be truncated in _extent; if False, only the shape visible in _extent will be imported ;

Remarks

Remember to assign 'path' property to layer you want to import from for proper import a new layer to file.
Use this method to import a layer. To do this, simply create a new layer, choose a layer to import from and use ImportLayer method of with proper params. See an opposite method ExportLayer.

Example

Delphi

procedure MyClass.ImportMyLayer();
var
  ll : TGIS_LayerVector ;
  lo : TGIS_LayerVector ;
begin
  // check whether GIS object has any layers
  if GIS.IsEmpty then exit ;
 
  // Get first layer from the viewer
  ll:= TGIS_LayerVector (GIS.Items[0]) ;
 
  // create a layer to which existing layer will be imported
  lo:=TGIS_LayerSHP.Create ;
  try
    lo.Path := 'imported.shp';
    lo.ImportLayer(ll,GisWholeWorld,TGIS_ShapeType.Unknown,'',False);
  finally
    lo.Free;
  end;
end;

References

2019/08/13 10:50