东人EP的内陆空间!
posts - 77, comments - 54, trackbacks - 0, articles - 0
IT博客
::
首页
::
新随笔
::
联系
::
聚合
::
管理
MapXtreme2005曲线动态分段问题!
Posted on 2006-07-13 13:01
东人EP
阅读(662)
评论(2)
编辑
收藏
引用
所属分类:
MapInfo
曲线动态分段
#region
曲线动态分段
/**/
/*
string TableList = null;
string tabname=null;
// 取得高速公路表的表别名
foreach (MapInfo.Data.Table tab in MapInfo.Engine.Session.Current.Catalog)
{
TableList = TableList + "Table: " + tab.ToString() + "\n";
if (tab.ToString().IndexOf("China Highways") >= 0)
tabname=tab.Alias.ToString();
Console.WriteLine("Table: " + tab.ToString());
}
// 查找到想要查找的表中的某一行
MapInfo.Data.Feature myfc=MapInfo.Engine.Session.Current.Catalog.SearchForFeature(tabname,MapInfo.Data.SearchInfoFactory.SearchWhere("Highway='Primary Route30'"));
// 把这个feature分为多曲线
MapInfo.Geometry.MultiCurve c=(MapInfo.Geometry.MultiCurve)myfc.Geometry ;
int j = 0;
foreach(MapInfo.Geometry.Curve c1 in c)
{
if (j > 0) return;
int vl = Convert.ToInt32(TextBox1.Text.Trim());
MapInfo.Geometry.DPoint[] d = c1.SamplePoints();
MapInfo.Geometry.DPoint[] d2 = new DPoint[c1.SamplePoints().Length - vl];
for (int i = 0; i < c.GetMultiCurveEditor().MultiCurve[0].ControlPointCount; i++)
{
//Response.Write("Alert('"+d[i].x.ToString()+","+d[i].y.ToString()+"')");
if (i >= vl)
{
d2[i-vl] = d[i];
//Response.Write("Alert('"+d2[i-101].x.ToString()+","+d2[i-101].y.ToString()+"')");
}
}
j++;
MapInfo.Mapping.Map map = MapInfo.Engine.Session.Current.MapFactory[MapControl1.MapAlias];
LineString lineString = new LineString(map.GetDisplayCoordSys(), d2);
Curve curve = new Curve(map.GetDisplayCoordSys(), lineString);
MultiCurve mcurve = new MultiCurve(map.GetDisplayCoordSys(), curve);
// 定义图形特征
this.AddTempTable();
MapInfo.Geometry.FeatureGeometry fg = mcurve as FeatureGeometry;
// 定义图形特征类型
MapInfo.Styles.LineWidth lw = new MapInfo.Styles.LineWidth(2, MapInfo.Styles.LineWidthUnit.Pixel);
MapInfo.Styles.SimpleLineStyle vs = new MapInfo.Styles.SimpleLineStyle(lw);
vs.Color = Color.Green;
MapInfo.Styles.CompositeStyle cs = new MapInfo.Styles.CompositeStyle(null, vs, null, null);
MapInfo.Data.Table tb = MapInfo.Engine.Session.Current.Catalog.GetTable("Animation");
MapInfo.Data.Feature fe = new MapInfo.Data.Feature(fg, cs);
tb.InsertFeature(fe);
FeatureLayer lyr = new FeatureLayer(tb);
map.Layers.Add(lyr);
}
*/
Feedback
#
re: MapXtreme2005曲线动态分段问题!
回复
更多评论
2006-07-13 13:03 by
东人EP
这个方法还不是最理想的方式,现在还没有做出最好的处理方法!不过此方法大家也可以参考一下!
#
re: MapXtreme2005曲线动态分段问题!
回复
更多评论
2007-05-21 15:20 by
gshzheng
东人EP,你好
c1.SamplePoints()中DPoint的顺序,是否与曲线折点的顺序一致?
刷新评论列表
只有注册用户
登录
后才能发表评论。
Powered by:
IT博客
Copyright © 东人EP
日历
<
2006年9月
>
日
一
二
三
四
五
六
27
28
29
30
31
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
1
2
3
4
5
6
7
常用链接
我的随笔
我的评论
我参与的随笔
留言簿
(11)
给我留言
查看公开留言
查看私人留言
随笔分类
(77)
.NET(43)
Ajax(11)
Design Pattern(1)
Java(1)
JavaScript(5)
MapInfo(10)
NB(6)
随笔档案
(77)
2007年2月 (4)
2007年1月 (10)
2006年12月 (1)
2006年11月 (2)
2006年10月 (5)
2006年9月 (9)
2006年8月 (13)
2006年7月 (8)
2006年6月 (19)
2006年5月 (6)
搜索
最新评论
1. re: 我现在Netyi.net上的下载资料,上面的有许多不错的资料,有好多程序设计方面的!
评论内容较长,点击标题查看
--CALDWELLMarjorie
2. re: PetShop3.0学习---数据库关系图
牛XX 分这么细的表
--sf2009
3. re: 显示多行InfoTips
感谢分享你的成功!:)
--LiWeiJiang
4. re: 使用asp.net 2.0和SQL SERVER 2005构建多层应用
不荀了。www.yougoo.net.cn
--ded
5. re: 我现在Netyi.net上的下载资料,上面的有许多不错的资料,有好多程序设计方面的!
评论内容较长,点击标题查看
--dsfsd
阅读排行榜
1. 我现在Netyi.net上的下载资料,上面的有许多不错的资料,有好多程序设计方面的!(6662)
2. MapInfo MapXtreme 2005 WebGIS上实现简单鹰眼设计!(6619)
3. C#实现串口通信编程(3751)
4. ClickOnce 打包部署WinForm 应用程序(3110)
5. SQLHelper.cs(3009)
评论排行榜
1. 我现在Netyi.net上的下载资料,上面的有许多不错的资料,有好多程序设计方面的!(9)
2. 实现漂亮的XP效果!(8)
3. MapInfo MapXtreme 2005 WebGIS上实现简单鹰眼设计!(7)
4. 如何实现服务器端下页面动态添加JavaScript脚本 (4)
5. PetShop3.0学习---数据库关系图(3)