private void btnCalistir_Click(object sender, EventArgs e) { if (cmbIklimEkoloji.SelectedIndex < 0) { MessageBox.Show("İklim-Ekoloji katmanı belirlenmeden işlem yapılamaz."); return; } if (cmbProjectArea.SelectedIndex < 0) { MessageBox.Show("Proje sınırı belirlenmeden işlem yapılamaz."); return; } if (cmbKadastro.SelectedIndex < 0) { MessageBox.Show("Kadastro katmanı belirlenmeden işlem yapılamaz."); return; } AppSingleton.Instance().CreateWorkspacePath(); if (AppSingleton.Instance().SettingsControl == null) { SettingsControl control = new SettingsControl(); control.Load(); control.CheckForm(); } tpSonuc.Visible = true; tpSonuc.CustomText = "İklim Katmanı kesiliyor..."; tpSonuc.Maximum = 5; tpSonuc.VisualMode = ProgressBarDisplayMode.TextAndPercentage; tpSonuc.Step = 1; tpSonuc.PerformStep(); var iklimClipLayer = AppSingleton.Instance().RasterClipLayer((cmbIklimEkoloji.SelectedItem as LayerObject).layer, ((cmbProjectArea.SelectedItem as LayerObject).layer as IFeatureLayer), "RC_IKLIM"); tpSonuc.CustomText = "Poligona dönüştürülüyor..."; tpSonuc.Step = 1; tpSonuc.PerformStep(); var fClass = RasterToPolygon(iklimClipLayer); JoinField(fClass, "gridcode", iklimClipLayer, "Value"); tpSonuc.CustomText = "Kadastro Katmanı kesiliyor..."; tpSonuc.Step = 1; tpSonuc.PerformStep(); var clipLayer = AppSingleton.Instance().ClipLayers((cmbProjectArea.SelectedItem as LayerObject).layer, (cmbKadastro.SelectedItem as LayerObject).layer); tpSonuc.CustomText = "Katmanlar kesiştiriliyor..."; tpSonuc.Step = 1; tpSonuc.PerformStep(); InterSect(fClass, clipLayer); tpSonuc.CustomText = "İşlem tamamlandı..."; tpSonuc.Step = 1; tpSonuc.PerformStep(); (this.Parent as Form).Close(); }
private void btnCalistir_Click(object sender, EventArgs e) { if (cmbEkolojikSitAlani.SelectedIndex < 0) { MessageBox.Show("Ekolojik Sit Alanı katmanı belirlenmeden işlem yapılamaz."); return; } if (cmbProjectArea.SelectedIndex < 0) { MessageBox.Show("Proje sınırı belirlenmeden işlem yapılamaz."); return; } if (cmbIklimSiniri.SelectedIndex < 0) { MessageBox.Show("İklim Sınırı katmanı belirlenmeden işlem yapılamaz."); return; } AppSingleton.Instance().CreateWorkspacePath(); if (AppSingleton.Instance().SettingsControl == null) { SettingsControl control = new SettingsControl(); control.Load(); control.CheckForm(); } tpSonuc.Visible = true; tpSonuc.VisualMode = ProgressBarDisplayMode.TextAndPercentage; tpSonuc.CustomText = "İklim Katmanı kesiliyor..."; tpSonuc.Maximum = 5; tpSonuc.Step = 1; tpSonuc.PerformStep(); var iklimClipLayer = AppSingleton.Instance().RasterClipLayer((cmbIklimSiniri.SelectedItem as LayerObject).layer, ((cmbProjectArea.SelectedItem as LayerObject).layer as IFeatureLayer), "RC_IKL"); tpSonuc.CustomText = "Ekoloji Katmanı kesiliyor..."; tpSonuc.PerformStep(); var ekolojiClipLayer = AppSingleton.Instance().RasterClipLayer((cmbEkolojikSitAlani.SelectedItem as LayerObject).layer, ((cmbProjectArea.SelectedItem as LayerObject).layer as IFeatureLayer), "RC_EKO"); var vatIklim = AppSingleton.Instance().BuildRasterAttributeTable("RC_IKL"); var vatEko = AppSingleton.Instance().BuildRasterAttributeTable("RC_EKO"); var layerNames = iklimClipLayer + ";" + ekolojiClipLayer; tpSonuc.CustomText = "Katmanlar birleştiriliyor..."; tpSonuc.PerformStep(); AppSingleton.Instance().Combine(layerNames, "IKL_EKO"); var vatIklEko = AppSingleton.Instance().BuildRasterAttributeTable("IKL_EKO"); tpSonuc.CustomText = "Eksik kolonlar ekleniyor..."; tpSonuc.PerformStep(); JoinField(vatIklEko, "RC_IKL", vatIklim, "Value"); JoinField(vatIklEko, "RC_EKO", vatEko, "Value"); tpSonuc.CustomText = "İşlem tamamlandı..."; tpSonuc.PerformStep(); (this.Parent as Form).Close(); }
private void host_WizardCompleted() { AppSingleton.Instance().CreateWorkspacePath(); if (AppSingleton.Instance().SettingsControl == null) { SettingsControl control = new SettingsControl(); control.Load(); control.CheckForm(); } lastControl.SetRichTextBoxLabel("Veriler çalışma alanı sınırlarına göre kesiliyor..."); foreach (var item in AppSingleton.Instance().allLayers) { if (!ClipLayers(item.layer)) { MessageBox.Show("Hata Kodu :1103 . Lütfen yöneticiniz ile görüşünüz."); return; } } lastControl.SetRichTextBoxLabel("İşlem tamamlandı..."); foreach (var item in AppSingleton.Instance().PolygonLayerList) { FieldLayerObject fieldLayerObject = GetFieldLayerObject(item.layer.Name); if (fieldLayerObject == null) { MessageBox.Show("Hata Kodu :1110 . Lütfen yöneticiniz ile görüşünüz."); return; } lastControl.SetRichTextBoxLabel(item.layer.Name + " katmanı için raster dönüşüm yapılıyor..."); if (!PolygonToRaster(item.layer, "Clip_", fieldLayerObject.FieldName, "")) { MessageBox.Show("Hata Kodu :1111 . Lütfen yöneticiniz ile görüşünüz."); return; } lastControl.SetRichTextBoxLabel("İşlem tamamlandı..."); Dictionary <string, string> myDict = fieldLayerObject.FieldList; string reclassifyList = ""; foreach (var pair in myDict) { var key = pair.Key; if (key.Contains(" ")) { key = "'" + key + "'"; } if (reclassifyList == "") { reclassifyList = key + " " + pair.Value + ";"; } else { reclassifyList = reclassifyList + key + " " + pair.Value + ";"; } } reclassifyList = reclassifyList + "NODATA " + AppSingleton.Instance().NodataValue; lastControl.SetRichTextBoxLabel(item.layer.Name + " katmanı yeniden sınıflandırılıyor..."); IFeatureClass fclass = (AppSingleton.Instance().PersonalWorkspace as IFeatureWorkspace).OpenFeatureClass("Poly_Raster_" + item.layer.Name); Type factoryType = Type.GetTypeFromProgID( "esriDataSourcesGDB.AccessWorkspaceFactory"); IWorkspaceFactory workspaceFactory = (IWorkspaceFactory)Activator.CreateInstance (factoryType); IRasterWorkspaceEx rasterWorkspaceEx = workspaceFactory.OpenFromFile(AppSingleton.Instance().WorkspacePath, 0) as IRasterWorkspaceEx; //IRasterWorkspace rasterWorkspace = AppSingleton.Instance().PersonalWorkspace as IRasterWorkspace; IRasterDataset rasterDataset = rasterWorkspaceEx.OpenRasterDataset("Poly_Raster_" + item.layer.Name); IRasterDatasetEdit2 raster = (IRasterDatasetEdit2)rasterDataset; ESRI.ArcGIS.Geodatabase.IGeoDataset geoDataset = (ESRI.ArcGIS.Geodatabase.IGeoDataset)rasterDataset; raster.BuildAttributeTable(); ITable vat = (raster as IRasterBandCollection).Item(0).AttributeTable; //Check if field Exists var check = false; for (int j = 0; j < vat.Fields.FieldCount; j++) { IField field = vat.Fields.get_Field(j); if (field.Name == fieldLayerObject.FieldName) { check = true; } } if (!check) { lastControl.SetRichTextBoxLabel("Eksik kolonlar ekleniyor..."); if (!JoinField(vat, "Value", item.layer.Name, fieldLayerObject.FieldName, fieldLayerObject.FieldName)) { MessageBox.Show("Hata Kodu :5614 . Lütfen yöneticiniz ile görüşünüz."); return; } } string returnStr = SetFieldToValue(vat, fieldLayerObject.FieldName); bool aragecis = true; if (!Reclassify(item.layer, "Value", returnStr, "Poly_Raster_", "TempReclass_")) { aragecis = false; } if (aragecis == true) { if (!Reclassify(item.layer, "Value", reclassifyList, "TempReclass_", "Reclassified_")) { MessageBox.Show("Hata Kodu :1112 . Lütfen yöneticiniz ile görüşünüz."); return; } } else { if (!Reclassify(item.layer, fieldLayerObject.FieldName, reclassifyList, "Poly_Raster_", "Reclassified_")) { MessageBox.Show("Hata Kodu :1112 . Lütfen yöneticiniz ile görüşünüz."); return; } } IRasterDataset reclassedDataset = rasterWorkspaceEx.OpenRasterDataset("Reclassified_" + item.layer.Name); IRasterDatasetEdit2 reclassed = (IRasterDatasetEdit2)reclassedDataset; ESRI.ArcGIS.Geodatabase.IGeoDataset reclassedGeoDataset = (ESRI.ArcGIS.Geodatabase.IGeoDataset)reclassedDataset; reclassed.BuildAttributeTable(); ITable vatReclass = (reclassed as IRasterBandCollection).Item(0).AttributeTable; //Check if field Exists var checkReclass = false; for (int j = 0; j < vatReclass.Fields.FieldCount; j++) { IField field = vatReclass.Fields.get_Field(j); if (field.Name == fieldLayerObject.FieldName) { checkReclass = true; } } if (!checkReclass) { if (!JoinField(vatReclass, "Value", item.layer.Name, fieldLayerObject.FieldName, fieldLayerObject.FieldName)) { MessageBox.Show("Hata Kodu :5614 . Lütfen yöneticiniz ile görüşünüz."); return; } } lastControl.SetRichTextBoxLabel("İşlem tamamlandı..."); } string rasterString = string.Empty; foreach (var item in reclassList) { if (rasterString == string.Empty) { rasterString = item; } else { rasterString = rasterString + ";" + item; } } foreach (var item in AppSingleton.Instance().RasterLayerList) { if (rasterString == string.Empty) { rasterString = item.Name; } else { rasterString = rasterString + ";" + item.Name; } } lastControl.SetRichTextBoxLabel("Tüm raster katmanlar birleştiriliyor..."); if (!Combine(rasterString)) { MessageBox.Show("Hata Kodu :2639. Lütfen yöneticiniz ile görüşünüz."); return; } //Combine işlemleri Type factoryType2 = Type.GetTypeFromProgID( "esriDataSourcesGDB.AccessWorkspaceFactory"); IWorkspaceFactory workspaceFactory2 = (IWorkspaceFactory)Activator.CreateInstance (factoryType2); IRasterWorkspaceEx rasterWorkspaceEx2 = workspaceFactory2.OpenFromFile(AppSingleton.Instance().WorkspacePath, 0) as IRasterWorkspaceEx; //IRasterWorkspace rasterWorkspace = PersonalWorkspace as IRasterWorkspace; IRasterDataset rasterDataset2 = rasterWorkspaceEx2.OpenRasterDataset("Ekolojik_Sit_Alani"); IRasterDatasetEdit2 raster2 = (IRasterDatasetEdit2)rasterDataset2; ESRI.ArcGIS.Geodatabase.IGeoDataset geoDataset2 = (ESRI.ArcGIS.Geodatabase.IGeoDataset)rasterDataset2; raster2.BuildAttributeTable(); ITable vat2 = (raster2 as IRasterBandCollection).Item(0).AttributeTable; List <string> fieldList = new List <string>(); for (int j = 0; j < vat2.Fields.FieldCount; j++) { IField field = vat2.Fields.get_Field(j); if (field.Name.ToUpper() != "OID" && field.Name.ToUpper() != "VALUE" && field.Name.ToUpper() != "COUNT") { fieldList.Add(field.Name); } } lastControl.SetRichTextBoxLabel("Final katmanında eksik kolonlar tanımlanıyor..."); for (int i = 0; i < AppSingleton.Instance().PolygonLayerList.Count; i++) { var item = AppSingleton.Instance().PolygonLayerList[i]; FieldLayerObject fieldLayerObject = GetFieldLayerObject(item.layer.Name); var reclassifiedlayername = AppSingleton.Instance().WorkspacePath + "\\Reclassified_" + item.layer.Name; if (!JoinField(vat2, fieldList[i], reclassifiedlayername, "Value", fieldLayerObject.FieldName)) { MessageBox.Show("Hata Kodu :5614 . Lütfen yöneticiniz ile görüşünüz."); return; } } //foreach (var item in reclassList) //{ // IFeatureClass fclass = (AppSingleton.Instance().PersonalWorkspace as IFeatureWorkspace).OpenFeatureClass(item); // Type factoryType = Type.GetTypeFromProgID( // "esriDataSourcesGDB.AccessWorkspaceFactory"); // string guid = Guid.NewGuid().ToString(); // IWorkspaceFactory workspaceFactory = (IWorkspaceFactory)Activator.CreateInstance // (factoryType); // IRasterWorkspaceEx rasterWorkspaceEx = workspaceFactory.OpenFromFile(AppSingleton.Instance().WorkspacePath, 0) as IRasterWorkspaceEx; // //IRasterWorkspace rasterWorkspace = AppSingleton.Instance().PersonalWorkspace as IRasterWorkspace; // IRasterDataset rasterDataset = rasterWorkspaceEx.OpenRasterDataset(item); // IRasterDatasetEdit2 raster = (IRasterDatasetEdit2)rasterDataset; // ESRI.ArcGIS.Geodatabase.IGeoDataset geoDataset = (ESRI.ArcGIS.Geodatabase.IGeoDataset)rasterDataset; // raster.BuildAttributeTable(); // ITable vat = (raster as IRasterBandCollection).Item(0).AttributeTable; // //IFeatureClass fclass= (AppSingleton.Instance().PersonalWorkspace as IFeatureWorkspace).OpenFeatureClass(item); // List<double> valueList = GetUniques(vat as ITable, "Value"); // double max = FindMaxValue(valueList); // double min = FindMinValue(valueList); // IFeatureLayer fLayer = new FeatureLayerClass(); // fLayer.Name = item; // fLayer.FeatureClass = fclass; // lastControl.SetRichTextBoxLabel("Öznitelik ekleniyor..."); // AddField(fLayer, "Normal", ""); // lastControl.SetRichTextBoxLabel("İşlem tamamlandı..."); // lastControl.SetRichTextBoxLabel("Normalleştirme işlemi yapılıyor..."); // foreach (var myLayer in AppSingleton.Instance().AllLayersDict) // { // string layerName = myLayer.Key; // if ("Reclassified_" + layerName == item) // { // LayerType lType = myLayer.Value; // switch (lType.Metod) // { // case "x/Maks": // SetFirstNormal(vat, max); // break; // case "1-(x/Maks)": // SetSecondNormal(vat, max); // break; // case "(x-Min)/(Maks-Min)": // SetThirdNormal(vat, max, min); // break; // case "(Maks-x)/(Maks-Min)": // SetFourthNormal(vat, max, min); // break; // default: // Console.WriteLine("Invalid selection. Please select 1, 2, or 3."); // break; // } // } // } // lastControl.SetRichTextBoxLabel("İşlem tamamlandı..."); //} lastControl.SetRichTextBoxLabel("İşlem tamamlandı..."); //this.Dispose(); //MessageBox.Show("Done!"); //obviously you'd do something else in a real app... }
private void btnOk_Click(object sender, EventArgs e) { if (cmbVeriSeti.SelectedIndex < 0) { MessageBox.Show("Uygulama katmanı belirlenmeden işlem yapılamaz."); return; } if (cmbCalismaAlani.SelectedIndex < 0) { MessageBox.Show("Proje sınırı belirlenmeden işlem yapılamaz."); return; } if (cmbOrtSic.SelectedIndex < 0) { MessageBox.Show("Yıllık Ortalama Sıcaklık değeri belirlenmeden işlem yapılamaz."); return; } if (cmbOrtYag.SelectedIndex < 0) { MessageBox.Show("Yıllık Toplam Yağış değeri belirlenmeden işlem yapılamaz."); return; } AppSingleton.Instance().CreateWorkspacePath(); if (AppSingleton.Instance().SettingsControl == null) { SettingsControl control = new SettingsControl(); control.Load(); control.CheckForm(); } tpSonuc.Visible = true; tpSonuc.VisualMode = ProgressBarDisplayMode.TextAndPercentage; tpSonuc.CustomText = "Uygulama Katmanı kesiliyor..."; tpSonuc.Maximum = 19; tpSonuc.Step = 1; tpSonuc.PerformStep(); var clipLayer = AppSingleton.Instance().ClipLayers((cmbCalismaAlani.SelectedItem as LayerObject).layer, (cmbVeriSeti.SelectedItem as LayerObject).layer); tpSonuc.CustomText = "Yağış katmanı oluşturuluyor..."; tpSonuc.PerformStep(); var yagisLayer = AppSingleton.Instance().IDW(clipLayer, cmbOrtYag.SelectedItem.ToString(), "yagisLayer"); tpSonuc.CustomText = "Sıcaklık katmanı oluşturuluyor..."; tpSonuc.PerformStep(); var sicaklikLayer = AppSingleton.Instance().IDW(clipLayer, cmbOrtSic.SelectedItem.ToString(), "sicaklikLayer"); tpSonuc.CustomText = "Siniflandirma_Erinc katmanı oluşturuluyor..."; tpSonuc.PerformStep(); var sonucRaster = Divide(yagisLayer, sicaklikLayer); Int(sonucRaster, "Siniflandirma_Erinc"); var vat = AppSingleton.Instance().BuildRasterAttributeTable("Siniflandirma_Erinc"); tpSonuc.CustomText = "Veriler ekleniyor..."; tpSonuc.PerformStep(); AppSingleton.Instance().AddField(vat, "IKLIMTIPI", "TEXT"); IQueryFilter queryFilter = new QueryFilterClass(); ICursor updateCursor = vat.Search(queryFilter, false); IRow feature = null; int idmField = vat.FindField("VALUE"); int ozellikField = vat.FindField("IKLIMTIPI"); while ((feature = updateCursor.NextRow()) != null) { var ozellik = string.Empty; var Ieye = Convert.ToInt32(feature.get_Value(idmField)); if (Ieye < 8) { ozellik = "Tam Kurak"; } else if (8 <= Ieye & Ieye < 15) { ozellik = "Kurak"; } else if (15 <= Ieye & Ieye < 23) { ozellik = "Yarı Kurak"; } else if (23 <= Ieye & Ieye < 40) { ozellik = "Yarı Nemli"; } else if (40 <= Ieye & Ieye < 55) { ozellik = "Nemli"; } else { ozellik = "Çok Nemli"; } feature.set_Value(ozellikField, ozellik); feature.Store(); } tpSonuc.CustomText = "İşlem tamamlandı..."; tpSonuc.PerformStep(); (this.Parent as Form).Close(); }
private void btnOk_Click(object sender, EventArgs e) { AppSingleton.Instance().CreateWorkspacePath(); if (AppSingleton.Instance().SettingsControl == null) { SettingsControl control = new SettingsControl(); control.Load(); control.CheckForm(); } if (cmbProjectArea.SelectedIndex < 0) { MessageBox.Show("Proje sınırı belirlenmeden işlem yapılamaz."); return; } if (rbYillik.Checked) { if (cmbVeriYillik.SelectedIndex < 0) { MessageBox.Show("Uygulama katmanı belirlenmeden işlem yapılamaz."); return; } if (cmbOrtalamaSicaklikYillik.SelectedIndex < 0) { MessageBox.Show("Yıllık Ortalama Sıcaklık değeri belirlenmeden işlem yapılamaz."); return; } if (cmbToplamYagisYillik.SelectedIndex < 0) { MessageBox.Show("Yıllık Toplam Yağış değeri belirlenmeden işlem yapılamaz."); return; } tpSonuc.Visible = true; tpSonuc.VisualMode = ProgressBarDisplayMode.TextAndPercentage; tpSonuc.CustomText = "Uygulama Katmanı kesiliyor..."; tpSonuc.Maximum = 8; tpSonuc.Step = 1; tpSonuc.PerformStep(); var clipLayer = AppSingleton.Instance().ClipLayers((cmbProjectArea.SelectedItem as LayerObject).layer, (cmbVeriYillik.SelectedItem as LayerObject).layer); tpSonuc.CustomText = "T Katmanı oluşturuluyor..."; tpSonuc.PerformStep(); var IDWT = IDW(clipLayer, cmbOrtalamaSicaklikYillik.SelectedItem.ToString(), "IDWT"); tpSonuc.CustomText = "T Katmanı tamsayıya çevriliyor..."; tpSonuc.PerformStep(); var T = Int(IDWT, "T"); tpSonuc.CustomText = "P Katmanı oluşturuluyor..."; tpSonuc.PerformStep(); var IDWP = IDW(clipLayer, cmbToplamYagisYillik.SelectedItem.ToString(), "IDWP"); tpSonuc.CustomText = "P Katmanı tamsayıya çevriliyor..."; tpSonuc.PerformStep(); var P = Int(IDWP, "P"); tpSonuc.CustomText = "IDM Katmanı oluşturuluyor..."; tpSonuc.PerformStep(); var idm = RasterCalculatorYillik(P, T, "IDM"); tpSonuc.CustomText = "Veriler ekleniyor..."; tpSonuc.PerformStep(); ITable vatYillik = BuildRasterAttributeTable("IDM"); AddField(vatYillik, "OZELLIK", "TEXT"); IQueryFilter queryFilter = new QueryFilterClass(); ICursor updateCursor = vatYillik.Search(queryFilter, false); IRow feature = null; int idmField = vatYillik.FindField("VALUE"); int ozellikField = vatYillik.FindField("OZELLIK"); while ((feature = updateCursor.NextRow()) != null) { string ozellik = string.Empty; double idmVal = Convert.ToDouble(feature.get_Value(idmField)); if (idmVal < 5) { ozellik = "Kurak"; } else if (idmVal >= 5 && idmVal < 10) { ozellik = "Yarı Kurak"; } else if (idmVal >= 10 && idmVal < 20) { ozellik = "Yarı Kurak - Nemli Arası"; } else if (idmVal >= 20 && idmVal < 30) { ozellik = "Yarı Nemli"; } else if (idmVal >= 30 && idmVal < 60) { ozellik = "Nemli"; } else { ozellik = "Çok Nemli"; } feature.set_Value(ozellikField, ozellik); feature.Store(); } tpSonuc.CustomText = "İşlem tamamlandı..."; tpSonuc.PerformStep(); (this.Parent as Form).Close(); } else { if (cmbVeriAylik.SelectedIndex < 0) { MessageBox.Show("Uygulama katmanı belirlenmeden işlem yapılamaz."); return; } if (cmbOrtalamaSicaklikAylik.SelectedIndex < 0) { MessageBox.Show("Aylık Ortalama Sıcaklık değeri belirlenmeden işlem yapılamaz."); return; } if (cmbToplamYagisAylik.SelectedIndex < 0) { MessageBox.Show("Aylık Toplam Yağış değeri belirlenmeden işlem yapılamaz."); return; } tpSonuc.Visible = true; tpSonuc.VisualMode = ProgressBarDisplayMode.TextAndPercentage; tpSonuc.CustomText = "Uygulama Katmanı kesiliyor..."; tpSonuc.Maximum = 8; tpSonuc.Step = 1; tpSonuc.PerformStep(); var clipLayer = AppSingleton.Instance().ClipLayers((cmbProjectArea.SelectedItem as LayerObject).layer, (cmbVeriAylik.SelectedItem as LayerObject).layer); tpSonuc.CustomText = "T Katmanı oluşturuluyor..."; tpSonuc.PerformStep(); var IDWT = IDW(clipLayer, cmbOrtalamaSicaklikAylik.SelectedItem.ToString(), "IDWT"); tpSonuc.CustomText = "T Katmanı tamsayıya çevriliyor..."; tpSonuc.PerformStep(); var T = Int(IDWT, "T"); tpSonuc.CustomText = "P Katmanı oluşturuluyor..."; tpSonuc.PerformStep(); var IDWP = IDW(clipLayer, cmbToplamYagisAylik.SelectedItem.ToString(), "IDWP"); tpSonuc.CustomText = "P Katmanı tamsayıya çevriliyor..."; tpSonuc.PerformStep(); var P = Int(IDWP, "P"); tpSonuc.CustomText = "IDM Katmanı oluşturuluyor..."; tpSonuc.PerformStep(); var idm = RasterCalculatorAylik(P, T, "Siniflandirma_DeMArtonne"); tpSonuc.CustomText = "Veriler ekleniyor..."; tpSonuc.PerformStep(); ITable vatAylik = BuildRasterAttributeTable("Siniflandirma_DeMartonne"); AddField(vatAylik, "OZELLIK", "TEXT"); IQueryFilter queryFilter = new QueryFilterClass(); ICursor updateCursor = vatAylik.Search(queryFilter, false); IRow feature = null; int idmField = vatAylik.FindField("VALUE"); int ozellikField = vatAylik.FindField("OZELLIK"); while ((feature = updateCursor.NextRow()) != null) { string ozellik = string.Empty; double idmVal = Convert.ToDouble(feature.get_Value(idmField)); if (idmVal < 5) { ozellik = "Kurak"; } else if (idmVal >= 5 && idmVal < 10) { ozellik = "Yarı Kurak"; } else if (idmVal >= 10 && idmVal < 20) { ozellik = "Yarı Kurak - Nemli Arası"; } else if (idmVal >= 20 && idmVal < 30) { ozellik = "Yarı Nemli"; } else if (idmVal >= 30 && idmVal < 60) { ozellik = "Nemli"; } else { ozellik = "Çok Nemli"; } feature.set_Value(ozellikField, ozellik); feature.Store(); } tpSonuc.CustomText = "İşlem tamamlandı..."; tpSonuc.PerformStep(); (this.Parent as Form).Close(); } }
private void btnOk_Click(object sender, EventArgs e) { if (cmbInputLayer.SelectedIndex < 0) { MessageBox.Show("Uygulama katmanı belirlenmeden işlem yapılamaz."); return; } if (cmbInputBorder.SelectedIndex < 0) { MessageBox.Show("Proje sınırı belirlenmeden işlem yapılamaz."); return; } AppSingleton.Instance().CreateWorkspacePath(); if (AppSingleton.Instance().SettingsControl == null) { SettingsControl control = new SettingsControl(); control.Load(); control.CheckForm(); } tpSonuc.Visible = true; tpSonuc.VisualMode = ProgressBarDisplayMode.TextAndPercentage; tpSonuc.CustomText = "Uygulama Katmanı kesiliyor..."; tpSonuc.Maximum = 33; tpSonuc.Step = 1; tpSonuc.PerformStep(); var clipLayer = AppSingleton.Instance().ClipLayers((cmbInputBorder.SelectedItem as LayerObject).layer, (cmbInputLayer.SelectedItem as LayerObject).layer); var layerName = System.IO.Path.GetFileNameWithoutExtension(clipLayer); IFeatureClass clipClass = (AppSingleton.Instance().PersonalWorkspace as IFeatureWorkspace).OpenFeatureClass(layerName); tpSonuc.CustomText = "Katman kopyalanıyor..."; tpSonuc.PerformStep(); var copiedfclass = CopyFeatureClass(clipClass); IFeatureClass fclass = (AppSingleton.Instance().PersonalWorkspace as IFeatureWorkspace).OpenFeatureClass("Copy"); IQueryFilter queryFilter = new QueryFilterClass(); IFeatureCursor updateCursor = fclass.Search(queryFilter, false); IFeature feature = null; while ((feature = updateCursor.NextFeature()) != null) { MultiplyFeatureValue(feature); } var layer = (cmbInputLayer.SelectedItem as LayerObject).layer; tpSonuc.CustomText = "YilOrtSic katmanı oluşturuluyor..."; tpSonuc.PerformStep(); var YilOrtSic = IDW(fclass, "yilTmp", "YilOrtSic"); tpSonuc.CustomText = "AySicOca katmanı oluşturuluyor..."; tpSonuc.PerformStep(); var AySicOcak = IDW(fclass, "ocaTmp", "AySicOca"); tpSonuc.CustomText = "AySicSub katmanı oluşturuluyor..."; tpSonuc.PerformStep(); var AySicSubat = IDW(fclass, "subTmp", "AySicSub"); tpSonuc.CustomText = "AySicMar katmanı oluşturuluyor..."; tpSonuc.PerformStep(); var AySicMart = IDW(fclass, "marTmp", "AySicMar"); tpSonuc.CustomText = "AySicNis katmanı oluşturuluyor..."; tpSonuc.PerformStep(); var AySicNisan = IDW(fclass, "nisTmp", "AySicNis"); tpSonuc.CustomText = "AySicMay katmanı oluşturuluyor..."; tpSonuc.PerformStep(); var AySicMayis = IDW(fclass, "mayTmp", "AySicMay"); tpSonuc.CustomText = "AySicHaz katmanı oluşturuluyor..."; tpSonuc.PerformStep(); var AySicHaziran = IDW(fclass, "hazTmp", "AySicHaz"); tpSonuc.CustomText = "AySicTem katmanı oluşturuluyor..."; tpSonuc.PerformStep(); var AySicTemmuz = IDW(fclass, "temTmp", "AySicTem"); tpSonuc.CustomText = "AySicAgu katmanı oluşturuluyor..."; tpSonuc.PerformStep(); var AySicAgustos = IDW(fclass, "aguTmp", "AySicAgu"); tpSonuc.CustomText = "AySicEyl katmanı oluşturuluyor..."; tpSonuc.PerformStep(); var AySicEylul = IDW(fclass, "eylTmp", "AySicEyl"); tpSonuc.CustomText = "AySicEki katmanı oluşturuluyor..."; tpSonuc.PerformStep(); var AySicEkim = IDW(fclass, "ekiTmp", "AySicEki"); tpSonuc.CustomText = "AySicKas katmanı oluşturuluyor..."; tpSonuc.PerformStep(); var AySicKasim = IDW(fclass, "kasTmp", "AySicKas"); tpSonuc.CustomText = "AySicAra katmanı oluşturuluyor..."; tpSonuc.PerformStep(); var AySicAralik = IDW(fclass, "araTmp", "AySicAra"); string layerNames = YilOrtSic + ";" + AySicOcak + ";" + AySicSubat + ";" + AySicMart + ";" + AySicNisan + ";" + AySicMayis + ";" + AySicHaziran + ";" + AySicTemmuz + ";" + AySicAgustos + ";" + AySicEylul + ";" + AySicEkim + ";" + AySicKasim + ";" + AySicAralik; tpSonuc.CustomText = "Katmanlar birleştiriliyor..."; tpSonuc.PerformStep(); var combine1 = Combine(layerNames, "CombineSic"); tpSonuc.CustomText = "YilTopYag katmanı oluşturuluyor..."; tpSonuc.PerformStep(); var YilTopYag = IDW(fclass, "yilRain", "YilTopYag"); tpSonuc.CustomText = "AyYagOca katmanı oluşturuluyor..."; tpSonuc.PerformStep(); var AyYagOcak = IDW(fclass, "ocaRain", "AyYagOca"); tpSonuc.CustomText = "AyYagSub katmanı oluşturuluyor..."; tpSonuc.PerformStep(); var AyYagSubat = IDW(fclass, "subRain", "AyYagSub"); tpSonuc.CustomText = "AyYagMar katmanı oluşturuluyor..."; tpSonuc.PerformStep(); var AyYagMart = IDW(fclass, "marRain", "AyYagMar"); tpSonuc.CustomText = "AyYagNis katmanı oluşturuluyor..."; tpSonuc.PerformStep(); var AyYagNisan = IDW(fclass, "nisRain", "AyYagNis"); tpSonuc.CustomText = "AyYagMay katmanı oluşturuluyor..."; tpSonuc.PerformStep(); var AyYagMayis = IDW(fclass, "mayRain", "AyYagMay"); tpSonuc.CustomText = "AyYagHaz katmanı oluşturuluyor..."; tpSonuc.PerformStep(); var AyYagHaziran = IDW(fclass, "hazRain", "AyYagHaz"); tpSonuc.CustomText = "AyYagTem katmanı oluşturuluyor..."; tpSonuc.PerformStep(); var AyYagTemmuz = IDW(fclass, "temRain", "AyYagTem"); tpSonuc.CustomText = "AyYagAgu katmanı oluşturuluyor..."; tpSonuc.PerformStep(); var AyYagAgustos = IDW(fclass, "aguRain", "AyYagAgu"); tpSonuc.CustomText = "AyYagEyl katmanı oluşturuluyor..."; tpSonuc.PerformStep(); var AyYagEylul = IDW(fclass, "eylRain", "AyYagEyl"); tpSonuc.CustomText = "AyYagEki katmanı oluşturuluyor..."; tpSonuc.PerformStep(); var AyYagEkim = IDW(fclass, "ekiRain", "AyYagEki"); tpSonuc.CustomText = "AyYagKas katmanı oluşturuluyor..."; tpSonuc.PerformStep(); var AyYagKasim = IDW(fclass, "kasRain", "AyYagKas"); tpSonuc.CustomText = "AyYagAra katmanı oluşturuluyor..."; tpSonuc.PerformStep(); var AyYagAralik = IDW(fclass, "araRain", "AyYagAra"); string layerNames2 = YilTopYag + ";" + AyYagOcak + ";" + AyYagSubat + ";" + AyYagMart + ";" + AyYagNisan + ";" + AyYagMayis + ";" + AyYagHaziran + ";" + AyYagTemmuz + ";" + AyYagAgustos + ";" + AyYagEylul + ";" + AyYagEkim + ";" + AyYagKasim + ";" + AyYagAralik; tpSonuc.CustomText = "Katmanlar birleştiriliyor..."; tpSonuc.PerformStep(); var combine2 = Combine(layerNames2, "CombineYag"); tpSonuc.CustomText = "Siniflandirma_Koppen oluşturuluyor..."; tpSonuc.PerformStep(); var combineLayer = Combine(combine1 + ";" + combine2, "Siniflandirma_Koppen"); var vat = AppSingleton.Instance().BuildRasterAttributeTable("Siniflandirma_Koppen"); JoinField(vat, "CombineSic", combine1, "Value"); JoinField(vat, "CombineYag", combine2, "Value"); tpSonuc.CustomText = "Veriler ekleniyor..."; tpSonuc.PerformStep(); FindIklimForValues(); tpSonuc.CustomText = "İşlem tamamlandı..."; tpSonuc.PerformStep(); (this.Parent as Form).Close(); }
private void btnOk_Click(object sender, EventArgs e) { if (cmbInputLayer.SelectedIndex < 0) { MessageBox.Show("Uygulama katmanı belirlenmeden işlem yapılamaz."); return; } if (cmbInputBorder.SelectedIndex < 0) { MessageBox.Show("Proje sınırı belirlenmeden işlem yapılamaz."); return; } AppSingleton.Instance().CreateWorkspacePath(); if (AppSingleton.Instance().SettingsControl == null) { SettingsControl control = new SettingsControl(); control.Load(); control.CheckForm(); } tpSonuc.Visible = true; tpSonuc.VisualMode = ProgressBarDisplayMode.TextAndPercentage; tpSonuc.CustomText = "Uygulama Katmanı kesiliyor..."; tpSonuc.Maximum = 6; tpSonuc.Step = 1; tpSonuc.PerformStep(); var clipLayer = AppSingleton.Instance().ClipLayers((cmbInputBorder.SelectedItem as LayerObject).layer, (cmbInputLayer.SelectedItem as LayerObject).layer); var layerName = Path.GetFileNameWithoutExtension(clipLayer); IFeatureClass clipClass = (AppSingleton.Instance().PersonalWorkspace as IFeatureWorkspace).OpenFeatureClass(layerName); tpSonuc.CustomText = "Katman kopyalanıyor..."; tpSonuc.PerformStep(); var copiedfclass = CopyFeatureClass(clipClass); IFeatureClass fclass = (AppSingleton.Instance().PersonalWorkspace as IFeatureWorkspace).OpenFeatureClass("Copy"); IQueryFilter queryFilter = new QueryFilterClass(); AppSingleton.Instance().AddField(fclass, "KURAKLIK", "DOUBLE"); AppSingleton.Instance().AddField(fclass, "IDMG", "DOUBLE"); List <string> sicaklikList = new List <string>(); FillSicaklikList(sicaklikList); List <string> yagisList = new List <string>(); FillYagisList(yagisList); IFeatureCursor updateCursor = fclass.Search(queryFilter, false); IFeature feature = null; while ((feature = updateCursor.NextFeature()) != null) { double kuraklik = 0.0; for (int i = 0; i < sicaklikList.Count; i++) { var sic = sicaklikList[i]; var yag = yagisList[i]; var sicIndex = feature.Fields.FindField(sic); var yagIndex = feature.Fields.FindField(yag); var t = Convert.ToDouble(feature.get_Value(sicIndex)); var p = Convert.ToDouble(feature.get_Value(yagIndex)); var kurak = (12 * p) / t + 10; if (kuraklik == 0.0) { kuraklik = kurak; } else if (kurak < kuraklik) { kuraklik = kurak; } } var kuraklikIndex = feature.Fields.FindField("KURAKLIK"); feature.set_Value(kuraklikIndex, kuraklik); var topYagField = feature.Fields.FindField("yilRain"); var P = Convert.ToDouble(feature.get_Value(topYagField)); var ortSicField = feature.Fields.FindField("yilTmp"); double T = Convert.ToDouble(feature.get_Value(ortSicField)); var idmg = 0.5 * ((P / (T + 10)) + kuraklik); var idmgIndex = feature.Fields.FindField("IDMG"); feature.set_Value(idmgIndex, idmg); feature.Store(); } tpSonuc.CustomText = "IDW katmanı oluşturuluyor..."; tpSonuc.PerformStep(); var idwLayer = AppSingleton.Instance().IDW(fclass, "IDMG", "IDW"); tpSonuc.CustomText = "Siniflandirma_DeMartonneGottmann katmanı oluşturuluyor..."; tpSonuc.PerformStep(); var intLayer = Int(idwLayer, "Siniflandirma_DeMartonneGottmann"); var table = AppSingleton.Instance().BuildRasterAttributeTable("Siniflandirma_DeMartonneGottmann"); AppSingleton.Instance().AddField(table, "IKLIMTIPI", "TEXT"); int idmField = table.FindField("VALUE"); int ozellikField = table.FindField("IKLIMTIPI"); IQueryFilter queryFilter2 = new QueryFilterClass(); ICursor updateCursor2 = table.Search(queryFilter, false); IRow row = null; tpSonuc.CustomText = "Veriler ekleniyor..."; tpSonuc.PerformStep(); while ((row = updateCursor2.NextRow()) != null) { string ozellik = string.Empty; double idmVal = Convert.ToDouble(row.get_Value(idmField)); if (idmVal < 0) { ozellik = "Kutupsal"; } else if (idmVal >= 0 && idmVal < 5) { ozellik = "Çöl"; } else if (idmVal >= 5 && idmVal < 10) { ozellik = "Step - Yarı Kurak"; } else if (idmVal >= 10 && idmVal < 20) { ozellik = "Step - Nemli Arası"; } else if (idmVal >= 20 && idmVal < 28) { ozellik = "Yarı Nemli"; } else if (idmVal >= 28 && idmVal < 35) { ozellik = "Nemli"; } else if (idmVal >= 35 && idmVal < 55) { ozellik = "Çok Nemli"; } else { ozellik = "Islak"; } row.set_Value(ozellikField, ozellik); row.Store(); } tpSonuc.CustomText = "İşlem tamamlandı..."; tpSonuc.PerformStep(); (this.Parent as Form).Close(); }
private void btnCalistir_Click(object sender, EventArgs e) { if (cmbUygulamaKatmani.SelectedIndex < 0) { MessageBox.Show("Uygulama katmanı belirlenmeden işlem yapılamaz."); return; } if (cmbProjectArea.SelectedIndex < 0) { MessageBox.Show("Proje sınırı belirlenmeden işlem yapılamaz."); return; } if (cmbYillikSuEksigi.SelectedIndex < 0) { MessageBox.Show("Yıllık Su eksiği değeri belirlenmeden işlem yapılamaz."); return; } if (cmbYillikSuFazlasi.SelectedIndex < 0) { MessageBox.Show("Yıllık Su fazlası değeri belirlenmeden işlem yapılamaz."); return; } if (cmbETP.SelectedIndex < 0) { MessageBox.Show("Yıllık Gerçek Evapotranspirasyon değeri belirlenmeden işlem yapılamaz."); return; } if (cmbPETP.SelectedIndex < 0) { MessageBox.Show("Yıllık Potansiyel Evapotranspirasyon değeri belirlenmeden işlem yapılamaz."); return; } if (cmbPETPHaziran.SelectedIndex < 0) { MessageBox.Show("Haziran ayı Potansiyel Evapotranspirasyon değeri belirlenmeden işlem yapılamaz."); return; } if (cmbPETPTemmuz.SelectedIndex < 0) { MessageBox.Show("Temmuz ayı Potansiyel Evapotranspirasyon değeri belirlenmeden işlem yapılamaz."); return; } if (cmbPETPAgustos.SelectedIndex < 0) { MessageBox.Show("Ağustos ayı Potansiyel Evapotranspirasyon değeri belirlenmeden işlem yapılamaz."); return; } if (cmbSuFazlasiYaz.SelectedIndex < 0) { MessageBox.Show("Yaz ayları su fazlası değeri belirlenmeden işlem yapılamaz."); return; } if (cmbSuFazlasiKis.SelectedIndex < 0) { MessageBox.Show("Kış ayları su fazlası değeri belirlenmeden işlem yapılamaz."); return; } if (cmbSuEksigiYaz.SelectedIndex < 0) { MessageBox.Show("Yaz ayları su eksiği değeri belirlenmeden işlem yapılamaz."); return; } if (cmbSuEksigiKis.SelectedIndex < 0) { MessageBox.Show("Kış ayları su eksiği değeri belirlenmeden işlem yapılamaz."); return; } if (cmbUygulamaKatmani.SelectedIndex < 0) { MessageBox.Show("Öncelikli katmanı belirleyiniz."); return; } AppSingleton.Instance().CreateWorkspacePath(); if (AppSingleton.Instance().SettingsControl == null) { SettingsControl control = new SettingsControl(); control.Load(); control.CheckForm(); } tpSonuc.Visible = true; tpSonuc.VisualMode = ProgressBarDisplayMode.TextAndPercentage; tpSonuc.CustomText = "Uygulama Katmanı kesiliyor..."; tpSonuc.Maximum = 19; tpSonuc.Step = 1; tpSonuc.PerformStep(); var clipLayer = AppSingleton.Instance().ClipLayers((cmbProjectArea.SelectedItem as LayerObject).layer, (cmbUygulamaKatmani.SelectedItem as LayerObject).layer); tpSonuc.CustomText = "s katmanı oluşturuluyor..."; tpSonuc.PerformStep(); var s = AppSingleton.Instance().IDW(clipLayer, cmbYillikSuFazlasi.SelectedItem.ToString(), "s"); tpSonuc.CustomText = "d katmanı oluşturuluyor..."; tpSonuc.PerformStep(); var d = AppSingleton.Instance().IDW(clipLayer, cmbYillikSuEksigi.SelectedItem.ToString(), "d"); tpSonuc.CustomText = "etp katmanı oluşturuluyor..."; tpSonuc.PerformStep(); var etp = AppSingleton.Instance().IDW(clipLayer, cmbETP.SelectedItem.ToString(), "etp"); tpSonuc.CustomText = "sei katmanı oluşturuluyor..."; tpSonuc.PerformStep(); var petp = AppSingleton.Instance().IDW(clipLayer, cmbPETP.SelectedItem.ToString(), "sei"); tpSonuc.CustomText = "aPetAgu katmanı oluşturuluyor..."; tpSonuc.PerformStep(); var aPetAgu = AppSingleton.Instance().IDW(clipLayer, cmbPETPAgustos.SelectedItem.ToString(), "aPetAgu"); tpSonuc.CustomText = "aPetTem katmanı oluşturuluyor..."; tpSonuc.PerformStep(); var aPetTem = AppSingleton.Instance().IDW(clipLayer, cmbPETPTemmuz.SelectedItem.ToString(), "aPetTem"); tpSonuc.CustomText = "aPetHaz katmanı oluşturuluyor..."; tpSonuc.PerformStep(); var aPetHaz = AppSingleton.Instance().IDW(clipLayer, cmbPETPHaziran.SelectedItem.ToString(), "aPetHaz"); tpSonuc.CustomText = "suEksYaz katmanı oluşturuluyor..."; tpSonuc.PerformStep(); var suEksYaz = AppSingleton.Instance().IDW(clipLayer, cmbSuEksigiYaz.SelectedItem.ToString(), "suEksYaz"); tpSonuc.CustomText = "suFazYaz katmanı oluşturuluyor..."; tpSonuc.PerformStep(); var suFazYaz = AppSingleton.Instance().IDW(clipLayer, cmbSuFazlasiYaz.SelectedItem.ToString(), "suFazYaz"); tpSonuc.CustomText = "suEksKis katmanı oluşturuluyor..."; tpSonuc.PerformStep(); var suEksKis = AppSingleton.Instance().IDW(clipLayer, cmbSuEksigiKis.SelectedItem.ToString(), "suEksKis"); tpSonuc.CustomText = "suFazKis katmanı oluşturuluyor..."; tpSonuc.PerformStep(); var suFazKis = AppSingleton.Instance().IDW(clipLayer, cmbSuFazlasiKis.SelectedItem.ToString(), "suFazKis"); tpSonuc.CustomText = "yei katmanı oluşturuluyor..."; tpSonuc.PerformStep(); var yei = RasterCalculatorYei(s, d, etp, "yei"); var sei = petp; tpSonuc.CustomText = "ki katmanı oluşturuluyor..."; tpSonuc.PerformStep(); var ki = RasterCalculatorKi(d, etp, "ki"); tpSonuc.CustomText = "ni katmanı oluşturuluyor..."; tpSonuc.PerformStep(); var ni = RasterCalculatorKi(s, etp, "ni"); tpSonuc.CustomText = "etp3 katmanı oluşturuluyor..."; tpSonuc.PerformStep(); var etp3YazOrani = RasterCalculatorEtp3(aPetHaz, aPetTem, aPetAgu, petp, "etp3"); tpSonuc.CustomText = "Katmanlar birleştiriliyor..."; tpSonuc.PerformStep(); string combine = Combine(yei + ";" + sei + ";" + ki + ";" + ni + ";" + etp3YazOrani + ";" + suEksYaz + ";" + suEksKis + ";" + suFazYaz + ";" + suFazKis); tpSonuc.CustomText = "Veriler ekleniyor..."; tpSonuc.PerformStep(); var vat = AppSingleton.Instance().BuildRasterAttributeTable("Siniflandirma_Thornwaite"); var yeiField = vat.Fields.FindField("yei"); var seiField = vat.Fields.FindField("sei"); var kiField = vat.Fields.FindField("ki"); var niField = vat.Fields.FindField("ni"); var etpField = vat.Fields.FindField("etp3"); var suFazlasiYazField = vat.Fields.FindField("suFazYaz"); var suFazlasiKisField = vat.Fields.FindField("suFazKis"); var suEksigiYazField = vat.Fields.FindField("suEksYaz"); var suEksigiKisField = vat.Fields.FindField("suEksKis"); AppSingleton.Instance().AddField(vat, "yeiHarf", "TEXT"); AppSingleton.Instance().AddField(vat, "seiHarf", "TEXT"); AppSingleton.Instance().AddField(vat, "kiHarf", "TEXT"); AppSingleton.Instance().AddField(vat, "niHarf", "TEXT"); AppSingleton.Instance().AddField(vat, "etp3Harf", "TEXT"); var yeiHarfField = vat.Fields.FindField("yeiHarf"); var seiHarfField = vat.Fields.FindField("seiHarf"); var kiHarfField = vat.Fields.FindField("kiHarf"); var niHarfField = vat.Fields.FindField("niHarf"); var etpHarfField = vat.Fields.FindField("etp3Harf"); IQueryFilter queryFilter = new QueryFilterClass(); ICursor updateCursor = vat.Search(queryFilter, false); IRow feature = null; while ((feature = updateCursor.NextRow()) != null) { var suFazlasiKisVal = Convert.ToDouble(feature.get_Value(suFazlasiKisField)); var suFazlasiYazVal = Convert.ToDouble(feature.get_Value(suFazlasiYazField)); var suEksigiKisVal = Convert.ToDouble(feature.get_Value(suEksigiKisField)); var suEksigiYazVal = Convert.ToDouble(feature.get_Value(suEksigiYazField)); var yeiVal = Convert.ToInt32(feature.get_Value(yeiField)); var yeiHarf = CalculateYeiHarf(yeiVal); feature.set_Value(yeiHarfField, yeiHarf); var seiVal = Convert.ToInt32(feature.get_Value(seiField)); var seiHarf = CalculateSeiHarf(seiVal); feature.set_Value(seiHarfField, seiHarf); var etpVal = Convert.ToInt32(feature.get_Value(etpField)); var etpHarf = CalculateEtpHarf(etpVal); feature.set_Value(etpHarfField, etpHarf); var kiVal = Convert.ToInt32(feature.get_Value(kiField)); var kiHarf = CalculateKiHarf(kiVal, suEksigiYazVal, suEksigiKisVal); feature.set_Value(kiHarfField, kiHarf); var niVal = Convert.ToInt32(feature.get_Value(niField)); var niHarf = CalculateNiHarf(niVal, suFazlasiYazVal, suFazlasiKisVal); feature.set_Value(niHarfField, niHarf); feature.Store(); } tpSonuc.CustomText = "İşlem tamamlandı..."; tpSonuc.PerformStep(); (this.Parent as Form).Close(); }
private void btnOk_Click(object sender, EventArgs e) { if (cmbUygulamaKatmani.SelectedIndex < 0) { MessageBox.Show("Uygulama katmanı belirlenmeden işlem yapılamaz."); return; } if (cmbProjectArea.SelectedIndex < 0) { MessageBox.Show("Proje sınırı belirlenmeden işlem yapılamaz."); return; } if (cmbNn.SelectedIndex < 0) { MessageBox.Show("Nn değeri belirlenmeden işlem yapılamaz."); return; } if (cmbGs.SelectedIndex < 0) { MessageBox.Show("Gs değeri belirlenmeden işlem yapılamaz."); return; } if (cmbY.SelectedIndex < 0) { MessageBox.Show("Y değeri belirlenmeden işlem yapılamaz."); return; } if (cmbS.SelectedIndex < 0) { MessageBox.Show("S değeri belirlenmeden işlem yapılamaz."); return; } AppSingleton.Instance().CreateWorkspacePath(); if (AppSingleton.Instance().SettingsControl == null) { SettingsControl control = new SettingsControl(); control.Load(); control.CheckForm(); } tpSonuc.Visible = true; tpSonuc.VisualMode = ProgressBarDisplayMode.TextAndPercentage; tpSonuc.CustomText = "Uygulama Katmanı kesiliyor..."; tpSonuc.Maximum = 13; tpSonuc.Step = 1; tpSonuc.PerformStep(); var clipLayer = AppSingleton.Instance().ClipLayers((cmbProjectArea.SelectedItem as LayerObject).layer, (cmbUygulamaKatmani.SelectedItem as LayerObject).layer); if (rbYillik.Checked) { var clipLayerName = Path.GetFileNameWithoutExtension(clipLayer); CalculateNpYillik(clipLayerName); } string nN = string.Empty; string nP = string.Empty; string Y = string.Empty; string S = string.Empty; string gS = string.Empty; //if (AppSingleton.Instance().UygulamaYontemi == "IDW") //{ tpSonuc.CustomText = "nN Katmanı oluşturuluyor..."; tpSonuc.PerformStep(); nN = AppSingleton.Instance().IDW(clipLayer, cmbNn.SelectedItem.ToString(), "nN"); tpSonuc.CustomText = "nP Katmanı oluşturuluyor..."; tpSonuc.PerformStep(); if (rbYillik.Checked) { nP = AppSingleton.Instance().IDW(clipLayer, "npYillik", "npYillik"); } tpSonuc.CustomText = "Y Katmanı oluşturuluyor..."; tpSonuc.PerformStep(); Y = AppSingleton.Instance().IDW(clipLayer, cmbY.SelectedItem.ToString(), "Y"); tpSonuc.CustomText = "S Katmanı oluşturuluyor..."; tpSonuc.PerformStep(); S = AppSingleton.Instance().IDW(clipLayer, cmbS.SelectedItem.ToString(), "S"); tpSonuc.CustomText = "gS Katmanı oluşturuluyor..."; tpSonuc.PerformStep(); gS = AppSingleton.Instance().IDW(clipLayer, cmbGs.SelectedItem.ToString(), "gS"); //} //else if (AppSingleton.Instance().UygulamaYontemi == "KRIGING") //{ // nN = AppSingleton.Instance().Kriging((cmbUygulamaKatmani.SelectedItem as LayerObject).layer, cmbNn.SelectedItem.ToString()); // nP = AppSingleton.Instance().Kriging((cmbUygulamaKatmani.SelectedItem as LayerObject).layer, cmbNp.SelectedItem.ToString()); // Y = AppSingleton.Instance().Kriging((cmbUygulamaKatmani.SelectedItem as LayerObject).layer, cmbY.SelectedItem.ToString()); // S = AppSingleton.Instance().Kriging((cmbUygulamaKatmani.SelectedItem as LayerObject).layer, cmbS.SelectedItem.ToString()); // gS = AppSingleton.Instance().Kriging((cmbUygulamaKatmani.SelectedItem as LayerObject).layer, cmbGs.SelectedItem.ToString()); //} tpSonuc.CustomText = "nKS Katmanı oluşturuluyor..."; tpSonuc.PerformStep(); if (rbAylik.Checked) { nP = "12"; } string nKS = RasterCalculatorNKS(nN, nP, Y, S, gS); tpSonuc.CustomText = "kKS Katmanı oluşturuluyor..."; tpSonuc.PerformStep(); string kKS = RasterCalculatorKKS(nKS); var nksStr = "0 0.400000 1;0.400000 0.670000 2;0.670000 1 3;1 1.330000 4;1.330000 2 5;2 4 6;4 100000 7;NODATA 0"; var kksStr = "0 0.250000 7;0.250000 0.500000 6;0.500000 0.750000 5;0.750000 1 4;1 1.500000 3;1.500000 2.500000 2;2.500000 100000 1;NODATA 0"; tpSonuc.CustomText = "nKS Katmanı sınıflandırılıyor..."; tpSonuc.PerformStep(); var rNKS = Reclassify(Path.GetFileNameWithoutExtension(nKS), "Value", nksStr, "R_"); tpSonuc.CustomText = "kKS Katmanı sınıflandırılıyor..."; tpSonuc.PerformStep(); var rKKS = Reclassify(Path.GetFileNameWithoutExtension(kKS), "Value", kksStr, "R_"); tpSonuc.CustomText = "Katmanlar birleştiriliyor..."; tpSonuc.PerformStep(); string combine = Combine(rNKS + ";" + rKKS); tpSonuc.CustomText = "Veriler ekleniyor..."; tpSonuc.PerformStep(); Type factoryType = Type.GetTypeFromProgID( "esriDataSourcesGDB.AccessWorkspaceFactory"); IWorkspaceFactory workspaceFactory = (IWorkspaceFactory)Activator.CreateInstance (factoryType); IRasterWorkspaceEx rasterWorkspaceEx = workspaceFactory.OpenFromFile(AppSingleton.Instance().WorkspacePath, 0) as IRasterWorkspaceEx; IRasterDataset rasterDataset = rasterWorkspaceEx.OpenRasterDataset("Siniflandirma_Aydeniz"); IRasterDatasetEdit2 raster = (IRasterDatasetEdit2)rasterDataset; ESRI.ArcGIS.Geodatabase.IGeoDataset geoDataset = (ESRI.ArcGIS.Geodatabase.IGeoDataset)rasterDataset; raster.BuildAttributeTable(); ITable vat = (raster as IRasterBandCollection).Item(0).AttributeTable; AddField(vat, "SONUC", "TEXT"); IQueryFilter queryFilter = new QueryFilterClass(); ICursor updateCursor = vat.Search(queryFilter, false); IRow feature = null; while ((feature = updateCursor.NextRow()) != null) { int kksField = feature.Fields.FindField("R_kks"); int nksField = feature.Fields.FindField("R_nks"); int sonucField = feature.Fields.FindField("SONUC"); string sonucValue = string.Empty; int nksValue = Convert.ToInt32(feature.get_Value(nksField)); int kksValue = Convert.ToInt32(feature.get_Value(nksField)); if (nksValue != kksValue) { sonucValue = "Diğer"; } else if (nksValue == 1) { sonucValue = "Çöl"; } else if (nksValue == 2) { sonucValue = "Çok Kurak"; } else if (nksValue == 3) { sonucValue = "Kurak"; } else if (nksValue == 4) { sonucValue = "Yarı Kurak"; } else if (nksValue == 5) { sonucValue = "Yarı Nemli"; } else if (nksValue == 6) { sonucValue = "Nemli"; } else if (nksValue == 7) { sonucValue = "Çok Nemli (Islak)"; } else if (nksValue == 0) { sonucValue = "Diğer"; } feature.set_Value(sonucField, sonucValue); feature.Store(); } tpSonuc.CustomText = "İşlem tamamlandı..."; tpSonuc.PerformStep(); (this.Parent as Form).Close(); }