//--------------------------------------------------------- CCRS_Transform_Grid::CCRS_Transform_Grid(bool bList) { CSG_Parameter *pNode; m_bList = bList; //----------------------------------------------------- Set_Name (m_bList ? _TL("Coordinate Transformation (Grid List)") : _TL("Coordinate Transformation (Grid)") ); Set_Author (SG_T("O. Conrad (c) 2010")); Set_Description (_TW( "Coordinate transformation for grids.\n" )); Set_Description (Get_Description() + "\n" + CSG_CRSProjector::Get_Description()); //----------------------------------------------------- if( m_bList ) { pNode = Parameters.Add_Grid_List( NULL , "SOURCE" , _TL("Source"), _TL(""), PARAMETER_INPUT ); Parameters.Add_Grid_List( NULL , "TARGET" , _TL("Target"), _TL(""), PARAMETER_OUTPUT_OPTIONAL ); m_Grid_Target.Add_Parameters_User (Add_Parameters("GET_USER" , _TL("User Defined Grid System"), _TL("")), false); m_Grid_Target.Add_Parameters_System(Add_Parameters("GET_SYSTEM", _TL("Select Grid System") , _TL(""))); } //----------------------------------------------------- else { pNode = Parameters.Add_Grid( NULL , "SOURCE" , _TL("Source"), _TL(""), PARAMETER_INPUT ); m_Grid_Target.Add_Parameters_User (Add_Parameters("GET_USER" , _TL("User Defined Grid"), _TL(""))); m_Grid_Target.Add_Parameters_Grid (Add_Parameters("GET_GRID" , _TL("Select Grid") , _TL(""))); } //----------------------------------------------------- Parameters.Add_Value( pNode , "CREATE_XY" , _TL("Create X/Y Grids"), _TL(""), PARAMETER_TYPE_Bool, false ); Parameters.Add_Grid_Output(NULL, "OUT_X", _TL("X Coordinates"), _TL("")); Parameters.Add_Grid_Output(NULL, "OUT_Y", _TL("Y Coordinates"), _TL("")); //----------------------------------------------------- Parameters.Add_Choice( pNode , "INTERPOLATION" , _TL("Interpolation"), _TL(""), CSG_String::Format(SG_T("%s|%s|%s|%s|%s|"), _TL("Nearest Neigbhor"), _TL("Bilinear Interpolation"), _TL("Inverse Distance Interpolation"), _TL("Bicubic Spline Interpolation"), _TL("B-Spline Interpolation") ), 4 ); //----------------------------------------------------- Parameters.Add_Choice( pNode , "TARGET_TYPE" , _TL("Target"), _TL(""), CSG_String::Format(SG_T("%s|%s|%s|"), _TL("user defined grid system"), _TL("existing grid system"), _TL("points") ), 0 ); Parameters.Add_Value( pNode , "TARGET_AREA" , _TL("Use Target Area Polygon"), _TL(""), PARAMETER_TYPE_Bool, false ); //----------------------------------------------------- CSG_Parameters *pParameters = Add_Parameters("POINTS", _TL("Points"), _TL("")); pParameters->Add_Shapes( NULL , "POINTS" , _TL("Points"), _TL(""), PARAMETER_OUTPUT, SHAPE_TYPE_Point ); }
//--------------------------------------------------------- CShapes_Cut::CShapes_Cut(void) { Set_Name (_TL("Cut Shapes Layer")); Set_Author (SG_T("O. Conrad (c) 2006")); Set_Description (_TW( "" )); //----------------------------------------------------- Parameters.Add_Shapes_List( NULL , "SHAPES" , _TL("Shapes"), _TL(""), PARAMETER_INPUT ); Parameters.Add_Shapes_List( NULL , "CUT" , _TL("Cut"), _TL(""), PARAMETER_OUTPUT ); Parameters.Add_Shapes( NULL , "EXTENT" , _TL("Extent"), _TL(""), PARAMETER_OUTPUT_OPTIONAL, SHAPE_TYPE_Polygon ); Parameters.Add_Choice( NULL , "METHOD" , _TL("Method"), _TL(""), Cut_Methods_Str(), 0 ); Parameters.Add_Choice( NULL , "TARGET" , _TL("Extent"), _TL(""), CSG_String::Format(SG_T("%s|%s|%s|%s|"), _TL("user defined"), _TL("grid project"), _TL("shapes layer extent"), _TL("polygons") ), 0 ); //----------------------------------------------------- CSG_Parameters *pParameters; pParameters = Add_Parameters("CUT", _TL("Extent"), _TL("")); pParameters->Add_Value( NULL, "AX" , _TL("Left") , _TL(""), PARAMETER_TYPE_Double ); pParameters->Add_Value( NULL, "BX" , _TL("Right") , _TL(""), PARAMETER_TYPE_Double ); pParameters->Add_Value( NULL, "AY" , _TL("Bottom") , _TL(""), PARAMETER_TYPE_Double ); pParameters->Add_Value( NULL, "BY" , _TL("Top") , _TL(""), PARAMETER_TYPE_Double ); pParameters->Add_Value( NULL, "DX" , _TL("Horizontal Range") , _TL(""), PARAMETER_TYPE_Double, 1.0, 0.0, true ); pParameters->Add_Value( NULL, "DY" , _TL("Vertical Range") , _TL(""), PARAMETER_TYPE_Double, 1.0, 0.0, true ); pParameters = Add_Parameters("GRID", _TL("Extent"), _TL("")); pParameters->Add_Grid_System( NULL, "GRID", _TL("Grid Project") , _TL("") ); pParameters = Add_Parameters("SHAPES", _TL("Extent"), _TL("")); pParameters->Add_Shapes( NULL, "SHAPES", _TL("Shapes") , _TL(""), PARAMETER_INPUT ); pParameters = Add_Parameters("POLYGONS", _TL("Polygons"), _TL("")); pParameters->Add_Shapes( NULL, "POLYGONS", _TL("Polygons") , _TL(""), PARAMETER_INPUT, SHAPE_TYPE_Polygon ); }
//--------------------------------------------------------- CPROJ4_Grid::CPROJ4_Grid(int Interface, bool bInputList) : CPROJ4_Base(Interface, bInputList) { CSG_Parameters *pParameters; //----------------------------------------------------- Set_Name (CSG_String::Format(SG_T("%s (%s, %s)"), _TL("Proj.4"), Interface == PROJ4_INTERFACE_DIALOG ? _TL("Dialog") : _TL("Command Line Arguments"), m_bInputList ? _TL("List of Grids") : _TL("Grid") )); Set_Author (SG_T("O. Conrad (c) 2004-8")); Set_Description (_TW( "Coordinate Transformation for Grids.\n" "Based on the PROJ.4 Cartographic Projections library originally written by Gerald Evenden " "and later continued by the United States Department of the Interior, Geological Survey (USGS).\n" "<a target=\"_blank\" href=\"http://trac.osgeo.org/proj/\">Proj.4 Homepage</a>\n" )); //----------------------------------------------------- if( m_bInputList ) { Parameters.Add_Grid_List( Parameters("SOURCE_NODE"), "SOURCE" , _TL("Source"), _TL(""), PARAMETER_INPUT, false ); Parameters.Add_Grid_List( NULL, "TARGET" , _TL("Target"), _TL(""), PARAMETER_OUTPUT_OPTIONAL ); m_Grid_Target.Add_Parameters_User(Add_Parameters("GET_USER", _TL("User Defined Grid") , _TL("")), false); pParameters = Add_Parameters("GET_SYSTEM" , _TL("Choose Grid Project"), _TL("")); pParameters->Add_Grid_System( NULL, "SYSTEM" , _TL("System") , _TL("") ); } else { Parameters.Add_Grid( Parameters("SOURCE_NODE"), "SOURCE" , _TL("Source"), _TL(""), PARAMETER_INPUT ); m_Grid_Target.Add_Parameters_User(Add_Parameters("GET_USER", _TL("User Defined Grid") , _TL(""))); m_Grid_Target.Add_Parameters_Grid(Add_Parameters("GET_GRID", _TL("Choose Grid") , _TL(""))); } Parameters.Add_Shapes_Output( NULL, "SHAPES" , _TL("Shapes"), _TL("") ); //----------------------------------------------------- Parameters.Add_Value( Parameters("TARGET_NODE") , "CREATE_XY" , _TL("Create X/Y Grids"), _TL(""), PARAMETER_TYPE_Bool, false ); Parameters.Add_Grid_Output( NULL , "OUT_X" , _TL("X Coordinates"), _TL("") ); Parameters.Add_Grid_Output( NULL , "OUT_Y" , _TL("Y Coordinates"), _TL("") ); //----------------------------------------------------- Parameters.Add_Choice( Parameters("TARGET_NODE") , "INTERPOLATION" , _TL("Interpolation"), _TL(""), CSG_String::Format(SG_T("%s|%s|%s|%s|%s|"), _TL("Nearest Neigbhor"), _TL("Bilinear Interpolation"), _TL("Inverse Distance Interpolation"), _TL("Bicubic Spline Interpolation"), _TL("B-Spline Interpolation") ), 4 ); //----------------------------------------------------- Parameters.Add_Choice( Parameters("TARGET_NODE") , "TARGET_TYPE" , _TL("Target"), _TL(""), CSG_String::Format(SG_T("%s|%s|%s|"), _TL("user defined"), _TL("grid"), _TL("shapes") ), 0 ); //----------------------------------------------------- pParameters = Add_Parameters("GET_SHAPES" , _TL("Choose Shapes") , _TL("")); pParameters->Add_Shapes( NULL, "SHAPES" , _TL("Shapes") , _TL(""), PARAMETER_OUTPUT , SHAPE_TYPE_Point ); }