Quintiq file version 2.0
|
#parent: GISComponent
|
Response OnDetermineObjectCharacteristics (
|
LaneLeg object
|
) id:Response_GISComponent_OnDetermineObjectCharacteristics_174
|
{
|
#keys: '[110994.0.2145854231]'
|
Body:
|
[*
|
// Show lane legs (GIS 2.0)
|
// MODELING HANDLE to switch to PTV: Change the srsMap variable to create a SRS of PTV map
|
|
orileg := guard( object.AsOriginStockingPointLeg().StockingPoint_MP().GIS_StockingPointAddress().GIS_StockingPointGeocodeResult().Selected(), null( LibGIS_GeocodedAddress ) );
|
destleg := guard( object.AsDestinationStockingPointLeg().StockingPoint_MP().GIS_StockingPointAddress().GIS_StockingPointGeocodeResult().Selected(), null( LibGIS_GeocodedAddress ) );
|
|
if( not isnull( destleg ) and not isnull( orileg ) )
|
{
|
// Unable to retrieve SRS from GIS Component as this response is triggered before the SRS value of GIS Component has a value.
|
// Presumably the SRS value is set after this response is called. Therefore the SRS value has to be hard-coded.
|
//srsMap := SpatialReferenceSystem::CreateFromWKT( GISComponentOSMMap.SpatialReferenceSystemWKT() );
|
srsMap := SpatialReferenceSystem::CreateFromEPSG( 3857 );
|
srsunit := SpatialReferenceSystem::CreateFromWKT( orileg.SRS() );
|
unitcoor := GIS2DCoordinate::Create( orileg.X(), orileg.Y() );
|
unitmapCoor := GIS2DCoordinateConverter::Convert( srsunit, unitcoor, srsMap );
|
|
srssp := SpatialReferenceSystem::CreateFromWKT( destleg.SRS() );
|
spcoor := GIS2DCoordinate::Create( destleg.X(), destleg.Y() );
|
spmapcoor := GIS2DCoordinateConverter::Convert( srssp, spcoor, srsMap );
|
|
creator.AddLine( unitmapCoor.X(), unitmapCoor.Y(), spmapcoor.X(), spmapcoor.Y() );
|
}
|
*]
|
CanBindMultiple: false
|
DefinitionID: 'Responsedef_GISComponent_OnDetermineObjectCharacteristics'
|
}
|