<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 © 怎么羨慕天空的飛鳥

    主站蜘蛛池模板: 国产成人亚洲精品电影| 亚洲综合伊人制服丝袜美腿| 久久久久久久久无码精品亚洲日韩 | 特色特黄a毛片高清免费观看| 全免费a级毛片免费**视频| 亚洲中文字幕人成乱码| 无码少妇一区二区浪潮免费| 亚洲娇小性xxxx色| 成年男女男精品免费视频网站| 国产成人精品日本亚洲18图| 成在人线AV无码免费| MM1313亚洲精品无码久久| 国产精品视_精品国产免费| 美女黄频免费网站| 久久精品国产亚洲Aⅴ香蕉| 不卡视频免费在线观看| 婷婷精品国产亚洲AV麻豆不片 | 全部免费a级毛片| 一级做a爰片久久毛片免费陪 | 日本免费中文字幕在线看| 日韩亚洲人成网站| 亚洲成av人片不卡无码久久| 久久精品成人免费观看97| 自怕偷自怕亚洲精品| 成年女人毛片免费播放人| 污污视频免费观看网站| 亚洲成av人片天堂网| 免费在线看v网址| 曰批免费视频播放在线看片二| 亚洲午夜久久久影院| 国产精品永久免费10000| 欧洲亚洲国产精华液| 亚洲日本va中文字幕久久| 免费看男女下面日出水来| 美女视频黄a视频全免费网站一区| 区久久AAA片69亚洲| 国产在线观看片a免费观看| 免费的黄色网页在线免费观看| 亚洲欧洲在线观看| 国产精品无码素人福利免费| 野花香高清视频在线观看免费 |