<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>



    聯系博主          博客地圖
               

    Map Objects2.1 創建shape文件

    Posted on 2007-10-24 10:37 怎么羨慕天空的飛鳥 閱讀(1245) 評論(0)  編輯  收藏 所屬分類: WebGis
            近來一直修改一個由Map Objects2.1和vs2005 開發的一個桌面gis,設計到了doc文檔格式控制和動態生成點或面屬性的shape格式的文件。
            生成shape文件的思路是先通過AddGeoDataset方法生成文件,然后添加屬性數據,下面會在代碼中詳細解釋個參數的含義。
            
     //創建Isoseis
            private void createIsoseis(MapObjects2.DataConnection dcIso,SeismEClass.SeismEClass tmpse)
            
    {
                
                
    try
                
    {
                    
    //blw:::attribute parameters
                    
                    
    string iso_id = TM.ToString("yyyyMMddHHmmss");
                    
    string iso_name = "Isoseis" + iso_id;
                    
    double iso_longitude = Math.Round(PCenter.X,2);
                    
    double iso_latitude = Math.Round(PCenter.Y,2);
                    
    float iso_magnitude = magnitude;
                    
    string iso_location = poly_pos;
                    
    string iso_date = TM.Year + "-" + TM.Month + "-" + TM.Day;
                    
    string iso_depth = angle;

                    
    int j = 0
                    
    for (int i = 6; i < elli.Length;i++ )
                    
    {
                        
    if(elli[i]!=null)
                        
    {
                            j
    ++;
                        }

                    }

                    
                    
    //blw:::add shp files
                    MapObjects2.MapLayer temp_iso = getLayer(BasePath + "\\DataLayer\\SDE_Isoseis20070618165431.shp");
                    MapObjects2.Recordset temp_isorec 
    = temp_iso.Records;
                    MapObjects2.TableDesc temp_isodesc 
    = temp_isorec.TableDesc;
                    MapObjects2.GeoDataset temp_isogeo 
    = dcIso.AddGeoDataset(iso_name ,temp_iso.shapeType ,temp_isodesc , false ,false);
                    MapObjects2.MapLayer temp_iso1 
    = new MapObjects2.MapLayer();
                    temp_iso1.GeoDataset 
    = temp_isogeo;
                    MapObjects2.Recordset temp_isorec2
    =temp_iso1.Records;

                    
    //blw:::add attributes
                   

                  
                    
    for (int k = 0; k < j;k++ )
                    
    {
                        temp_isorec2.AddNew();
                        temp_isorec2.Fields.Item(
    "ID").Value = iso_id;
                        temp_isorec2.Fields.Item(
    "LATITUDE").Value = iso_latitude;
                        temp_isorec2.Fields.Item(
    "LONGITUDE").Value = iso_longitude;
                        temp_isorec2.Fields.Item(
    "MAGNITUDE").Value = iso_magnitude;
                        temp_isorec2.Fields.Item(
    "LOCATION").Value = iso_location;
                        temp_isorec2.Fields.Item(
    "DATE_").Value = iso_date;
                        temp_isorec2.Fields.Item(
    "DEPTH").Value = iso_depth;
                        temp_isorec2.Fields.Item(
    "Shape").Value = elli[k+6];
                        
    if (k == 0)
                        
    { temp_isorec2.Fields.Item("AREA_").Value = tmpse.AreaSQVI;
                        temp_isorec2.Fields.Item(
    "IDX").Value = "VI";
                        }

                        
    else if (k == 1
                        
    { temp_isorec2.Fields.Item("AREA_").Value = tmpse.AreaSQVII;
                           temp_isorec2.Fields.Item(
    "IDX").Value="VII";                    
                        }

                        
    else if (k == 2
                        
    { temp_isorec2.Fields.Item("AREA_").Value = tmpse.AreaSQVIII;
                        temp_isorec2.Fields.Item(
    "IDX").Value="VIII";
                        }

                        
    else if (k == 3
                        
    { temp_isorec2.Fields.Item("AREA_").Value = tmpse.AreaSQIX;
                        temp_isorec2.Fields.Item(
    "IDX").Value = "IX";
                        }


                        temp_isorec2.Update();
                    }

                    
                }

                
    catch(Exception ex)
                
    {
                    MessageBox.Show(ex.Message);
                }

            
            }

             下面是從網絡上搜集的一端比較精簡的代碼,很有代表性。
    private void createshapefile()

            
    {
                
    int i;
                MapObjects2.DataConnection mapdc
    =new MapObjects2.DataConnection();
                mapdc.Database 
    = "D:\\test";
                mapdc.Connect();

                MapObjects2.TableDesc mapdes 
    = new MapObjects2.TableDesc();
                mapdes.FieldCount 
    = 2;
                mapdes.set_FieldName(
    0,"Name");
                mapdes.set_FieldType(
    0, MapObjects2.FieldTypeConstants.moString);
                mapdes.set_FieldName(
    1,"Length");
                mapdes.set_FieldType(
    1, MapObjects2.FieldTypeConstants.moDouble);

                MapObjects2.GeoDataset mapgeo;
                
    object zm=false;
                mapgeo 
    = mapdc.AddGeoDataset("hi",   MapObjects2.ShapeTypeConstants.moShapeTypePolygon, mapdes,zm,zm);

                MapObjects2.MapLayer maplayer
    =new MapObjects2.MapLayer();
                maplayer.GeoDataset 
    = mapgeo;

                MapObjects2.Recordset maprs
    =maplayer.Records;

                
    for (i = 0; i < 10; i++)
                
    {
                    MapObjects2.Polygon mappolygon 
    = new MapObjects2.Polygon();
                    MapObjects2.Points mappoints 
    = new MapObjects2.Points();
                    MapObjects2.Point mappoint 
    = new MapObjects2.Point();

                    mappoint.X 
    = i*100;
                    mappoint.Y 
    = 0;
                    mappoints.Add(mappoint);
                    mappoint.X 
    = (i+1)*100;
                    mappoint.Y 
    = 0;
                    mappoints.Add(mappoint);
                    mappoint.X 
    = (i+1)*100;
                    mappoint.Y 
    = 100;
                    mappoints.Add(mappoint);
                    
                    mappolygon.Parts.Add(mappoints);

                    maprs.AddNew();
                    maprs.Fields.Item(
    "Shape").Value = mappolygon;
                    maprs.Fields.Item(
    "Name").Value = "hi";
                    maprs.Fields.Item(
    "Length").Value = 341.4;
                    maprs.Update();
                    mappolygon 
    = null;
                    mappoints 
    = null;
                    mappoint 
    = null;
                }

            }



        核心: 勇敢進取年輕的心

     

    Copyright © 怎么羨慕天空的飛鳥

    主站蜘蛛池模板: 成人毛片视频免费网站观看| 亚洲日韩在线视频| 97视频热人人精品免费| 99久久精品毛片免费播放| 亚洲AV成人精品日韩一区| 亚洲国产日产无码精品| 亚洲av无码一区二区三区网站 | 亚洲国产成人久久综合一区77| 成人免费在线看片| 久久久久国色av免费看| 亚洲第一视频在线观看免费 | 又粗又硬又大又爽免费视频播放| 91精品视频免费| 99re在线这里只有精品免费| 中文字幕在线免费看| 国产V片在线播放免费无码| 曰批全过程免费视频免费看| 亚洲国产精品无码久久九九大片 | 成人免费无码大片A毛片抽搐| 亚洲视频免费观看| 在线免费中文字幕| 亚洲国产精品免费视频| 久久精品视频免费播放| 日本不卡免费新一区二区三区| 国产高清视频免费在线观看| 国产精品成人免费观看| 一级做a爱过程免费视| 一区二区三区免费在线视频| 黄页网址在线免费观看| 特级aa**毛片免费观看| 老司机午夜精品视频在线观看免费 | 亚洲成人激情小说| 亚洲人xxx日本人18| 亚洲AV综合色区无码二区爱AV| 亚洲日本乱码一区二区在线二产线 | 特级毛片A级毛片免费播放| 羞羞的视频在线免费观看| 免费看又黄又爽又猛的视频软件| 全部一级一级毛片免费看| 深夜a级毛片免费无码| 国产黄色片免费看|