Beispiel #1
0
        public override void PreExecute()
        {
            this._relation                = (relationType)ComponentMetaData.CustomPropertyCollection["Spatial Relation"].Value;
            this._targetCache             = new OGRBufferCache();
            this._joinCache               = new OGRBufferCache();
            this._targetColumnInfoMapList = new List <columnInfoMap>();
            this._joinColumnInfoMapList   = new List <columnInfoMap>();
            this._targetID                = ComponentMetaData.InputCollection["Target Input"].ID;
            this._joinID = ComponentMetaData.InputCollection["Join Input"].ID;

            IDTSOutput100 defaultOutput = ComponentMetaData.OutputCollection[0];
            IDTSInput100  targetInput   = ComponentMetaData.InputCollection["Target Input"];

            foreach (IDTSInputColumn100 inputColumn in targetInput.InputColumnCollection)
            {
                if (((string)ComponentMetaData.CustomPropertyCollection["Target Input Geometry Column"].Value).Equals(inputColumn.Name))
                {
                    this._targetGeomIndex = BufferManager.FindColumnByLineageID(targetInput.Buffer, inputColumn.LineageID);
                }
                foreach (IDTSOutputColumn100 outputColumn in defaultOutput.OutputColumnCollection)
                {
                    if (outputColumn.Name.Equals(targetInput.Name + "." + inputColumn.Name))
                    {
                        columnInfoMap ci = new columnInfoMap();
                        ci.inputBufferIndex  = BufferManager.FindColumnByLineageID(targetInput.Buffer, inputColumn.LineageID);
                        ci.outputBufferIndex = BufferManager.FindColumnByLineageID(defaultOutput.Buffer, outputColumn.LineageID);
                        this._targetColumnInfoMapList.Add(ci);
                    }
                }
            }

            IDTSInput100 joinInput = ComponentMetaData.InputCollection["Join Input"];

            foreach (IDTSInputColumn100 inputColumn in joinInput.InputColumnCollection)
            {
                if (((string)ComponentMetaData.CustomPropertyCollection["Join Input Geometry Column"].Value).Equals(inputColumn.Name))
                {
                    this._joinGeomIndex = BufferManager.FindColumnByLineageID(joinInput.Buffer, inputColumn.LineageID);
                }
                foreach (IDTSOutputColumn100 outputColumn in defaultOutput.OutputColumnCollection)
                {
                    if (outputColumn.Name.Equals(joinInput.Name + "." + inputColumn.Name))
                    {
                        columnInfoMap ci = new columnInfoMap();
                        ci.inputBufferIndex  = BufferManager.FindColumnByLineageID(joinInput.Buffer, inputColumn.LineageID);
                        ci.outputBufferIndex = BufferManager.FindColumnByLineageID(defaultOutput.Buffer, outputColumn.LineageID);
                        this._joinColumnInfoMapList.Add(ci);
                    }
                }
            }
        }
Beispiel #2
0
        public override void PreExecute()
        {
            this._relation = (relationType) ComponentMetaData.CustomPropertyCollection["Spatial Relation"].Value;
            this._targetCache = new OGRBufferCache();
            this._joinCache = new OGRBufferCache();
            this._targetColumnInfoMapList = new List<columnInfoMap>();
            this._joinColumnInfoMapList = new List<columnInfoMap>();
            this._targetID = ComponentMetaData.InputCollection["Target Input"].ID;
            this._joinID = ComponentMetaData.InputCollection["Join Input"].ID;

            IDTSOutput100 defaultOutput = ComponentMetaData.OutputCollection[0];
            IDTSInput100 targetInput = ComponentMetaData.InputCollection["Target Input"];
            foreach (IDTSInputColumn100 inputColumn in targetInput.InputColumnCollection)
            {
                if (((string)ComponentMetaData.CustomPropertyCollection["Target Input Geometry Column"].Value).Equals(inputColumn.Name))
                {
                    this._targetGeomIndex = BufferManager.FindColumnByLineageID(targetInput.Buffer, inputColumn.LineageID);
                }
                foreach (IDTSOutputColumn100 outputColumn in defaultOutput.OutputColumnCollection)
                {
                    if (outputColumn.Name.Equals(targetInput.Name + "." + inputColumn.Name))
                    {
                        columnInfoMap ci = new columnInfoMap();
                        ci.inputBufferIndex = BufferManager.FindColumnByLineageID(targetInput.Buffer, inputColumn.LineageID);
                        ci.outputBufferIndex = BufferManager.FindColumnByLineageID(defaultOutput.Buffer, outputColumn.LineageID);
                        this._targetColumnInfoMapList.Add(ci);
                    }
                }
            }

            IDTSInput100 joinInput = ComponentMetaData.InputCollection["Join Input"];
            foreach (IDTSInputColumn100 inputColumn in joinInput.InputColumnCollection)
            {
                if (((string)ComponentMetaData.CustomPropertyCollection["Join Input Geometry Column"].Value).Equals(inputColumn.Name))
                {
                    this._joinGeomIndex = BufferManager.FindColumnByLineageID(joinInput.Buffer, inputColumn.LineageID);
                }
                foreach (IDTSOutputColumn100 outputColumn in defaultOutput.OutputColumnCollection)
                {
                    if (outputColumn.Name.Equals(joinInput.Name + "." + inputColumn.Name))
                    {
                        columnInfoMap ci = new columnInfoMap();
                        ci.inputBufferIndex = BufferManager.FindColumnByLineageID(joinInput.Buffer, inputColumn.LineageID);
                        ci.outputBufferIndex = BufferManager.FindColumnByLineageID(defaultOutput.Buffer, outputColumn.LineageID);
                        this._joinColumnInfoMapList.Add(ci);
                    }
                }
            }
        }