Creating a Feature Source

The next step is create a feature source

See draw_line.php in the digitizing_features directory in the Developer Guide samples.

    // Create a temporary feature source to draw
    the lines on

    // Create a feature class definition for the
    new feature

    // source

    $classDefinition = new MgClassDefinition();

    $classDefinition->SetName("Lines");

    $classDefinition->SetDescription("Lines to display.");

    $geometryPropertyName="SHPGEOM";

    $classDefinition->

        SetDefaultGeometryPropertyName( $geometryPropertyName);

    // Create an identify property

    $identityProperty = new MgDataPropertyDefinition("KEY");

    $identityProperty->SetDataType(MgPropertyType::Int32);

    $identityProperty->SetAutoGeneration(true);

    $identityProperty->SetReadOnly(true);

    // Add the identity property to the class
    definition

    $classDefinition->GetIdentityProperties()->

        Add($identityProperty);

    $classDefinition->GetProperties()->Add($identityProperty);

    // Create a name property

    $nameProperty = new MgDataPropertyDefinition("NAME");

    $nameProperty->SetDataType(MgPropertyType::String);

    // Add the name property to the class definition

    $classDefinition->GetProperties()->Add($nameProperty);

    // Create a geometry property

    $geometryProperty = new

        MgGeometricPropertyDefinition($geometryPropertyName);

    $geometryProperty->

        SetGeometryTypes(MgFeatureGeometricType::Surface);

    // Add the geometry property to the class
    definition

    $classDefinition->GetProperties()->Add($geometryProperty);

    // Create a feature schema

    $featureSchema = new MgFeatureSchema("SHP_Schema",

        "Line schema");

    // Add the feature schema to the class definition

    $featureSchema->GetClasses()->Add($classDefinition);

    // Create the feature source

    $wkt = $map->GetMapSRS();

    $sdfParams = new MgCreateSdfParams("spatial context",

        $wkt, $featureSchema);

    $featureService->CreateFeatureSource($resourceIdentifier,

        $sdfParams);