开源SharpMap实例讲解(三)_第1页
开源SharpMap实例讲解(三)_第2页
开源SharpMap实例讲解(三)_第3页
开源SharpMap实例讲解(三)_第4页
开源SharpMap实例讲解(三)_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、private SharpMap.Data.FeatureDataSet QueryMapByClick(SharpMap.Geometries.Point clickPoint1, SharpMap.Geometries.Point clickPoint2) SharpMap.Data.FeatureDataSet ds = new SharpMap.Data.FeatureDataSet(); SharpMap.Geometries.BoundingBox objBounds; if (clickPoint1.X != clickPoint2.X) objBounds = new Shar

2、pMap.Geometries.BoundingBox(clickPoint1.X, clickPoint1.Y, clickPoint2.X, clickPoint2.Y); else objBounds = new SharpMap.Geometries.BoundingBox(clickPoint1.X - 0.01, clickPoint1.Y - 0.01, clickPoint1.X + 0.01, clickPoint1.Y + 0.01); . /Execute click-query on first layer in layers collection SharpMap.L

3、ayers.VectorLayer objVLyr = myMap.Layers站点站点 as SharpMap.Layers.VectorLayer; if (!objVLyr.DataSource.IsOpen) objVLyr.DataSource.Open(); objVLyr.DataSource.ExecuteIntersectionQuery(objBounds, ds); if (ds.Tables.Count 0) /We have a result return ds; for (int i = 0; i dsResult.Tables0.Columns.Count; i+

4、) lblProperty.Text += + dsResult.Tables0.Columnsi.ColumnName; lblProperty.Text += + dri.ToString() + ; lblProperty.Text += ; lblProperty.Visible = true; + QueryMapByClick函数函数private SharpMap.Data.FeatureDataSet QueryMapByClick(SharpMap.Geometries.Point clickPoint) SharpMap.Data.FeatureDataSet ds = n

5、ew SharpMap.Data.FeatureDataSet(); SharpMap.Layers.VectorLayer objVLyr = myMap.Layers0 as SharpMap.Layers.VectorLayer; if (!objVLyr.DataSource.IsOpen) objVLyr.DataSource.Open(); SharpMap.Geometries.BoundingBox objBounds = new SharpMap.Geometries.BoundingBox(clickPoint.X - 0.01, clickPoint.Y - 0.01,

6、clickPoint.X + 0.01, clickPoint.Y + 0.01); objVLyr.DataSource.ExecuteIntersectionQuery(objBounds, ds); / objVLyr.DataSource.ExecuteIntersectionQuery(clickPoint, ds); if (ds.Tables.Count 0) /We have a result /Add clicked features to a new selection layer SharpMap.Layers.VectorLayer laySelected = new

7、SharpMap.Layers.VectorLayer(Selection); laySelected.DataSource = new SharpMap.Data.Providers.GeometryProvider(ds.Tables0); laySelected.Style.Fill = new System.Drawing.SolidBrush(System.Drawing.Color.Yellow); myMap.Layers.Add(laySelected); return ds; QueryMapByClick函数函数。 laySelected.DataSource = new

8、SharpMap.Data.Providers.GeometryProvider(ds.Tables0); laySelected.Style.Fill = new System.Drawing.SolidBrush(System.Drawing.Color.Yellow); myMap.Layers.Add(laySelected); return ds; /判断字段值是否相等,若相等,则查询到该要素 if (tempFeatsFieldName.ToString() = sFieldValue) /高亮度显示该要素 SharpMap.Data.FeatureDataTable tempTa

9、ble = new SharpMap.Data.FeatureDataTable(); tempTable = (tempFeat.Table as SharpMap.Data.FeatureDataTable).Clone(); tempTable.LoadDataRow(tempFeat.ItemArray, false); FeatureDataRow tempRow; tempRow = tempTable.RowstempTable.Rows.Count - 1 as FeatureDataRow; tempRow.Geometry = tempFeat.Geometry; Shar

10、pMap.Layers.VectorLayer laySelected = new SharpMap.Layers.VectorLayer(Selection); laySelected.DataSource = new SharpMap.Data.Providers.GeometryProvider(tempTable); laySelected.Style.Fill = new System.Drawing.SolidBrush(System.Drawing.Color.Yellow); myMap.Layers.Add(laySelected); /显示该要素的其他属性 lblPrope

11、rty.Text = ; lblProperty.Text += 属性:; for (int j = 0; j tempFeat.Table.Columns.Count; j+) / lblProperty.Text += tempFeat.Table.Columnsi.ColumnName+ +tempFeati.ToString()+ lblProperty.Text += + tempFeat.Table.Columnsj.ColumnName; lblProperty.Text += + tempFeatj.ToString() + ; lblProperty.Visible = tr

12、ue; break; laySelected.Style.Fill = new System.Drawing.SolidBrush(System.Drawing.Color.Yellow); myMap.Layers.Add(laySelected); /显示该要素的其他属性 lblProperty.Text = ; lblProperty.Text += 属性:; for (int j = 0; j tempFeat.Table.Columns.Count; j+) / lblProperty.Text += tempFeat.Table.Columnsi.ColumnName+ +tempFea

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论