乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 99|回复: 7

ZWCAD SHP文件

[复制链接]

12

主题

20

帖子

1

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
68
发表于 2016-10-16 08:16:33 | 显示全部楼层 |阅读模式

我正在测试ZWCAD,它不是SHP输入的
有人尝试使用它将SHP文件导入CAD吗
http://www . easygisdotnet . com/
https://dot spatial . codeplex . com

本帖以下内容被隐藏保护;需要你回复后,才能看到!

游客,如果您要查看本帖隐藏内容请回复
回复

使用道具 举报

12

主题

20

帖子

1

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
68
发表于 2016-10-21 22:00:41 | 显示全部楼层

我得到了一点帮助,这就是我所拥有的,但它画了一条长线
我如何结束每个折线
  1.    _
  2.         Public Sub readxy()
  3.             Using acTrans As Transaction = acCurDb.TransactionManager.StartTransaction()
  4.                 Dim acBlkTbl As BlockTable
  5.                 acBlkTbl = CType(acTrans.GetObject(acCurDb.BlockTableId, OpenMode.ForRead), BlockTable)
  6.                 Dim acBlkTblRec As BlockTableRecord
  7.                 acBlkTblRec = CType(acTrans.GetObject(acBlkTbl(BlockTableRecord.ModelSpace), OpenMode.ForWrite), BlockTableRecord)
  8.                 Dim shapeActual As FeatureSet = FeatureSet.Open("PATH\FILE.shp")
  9.                 shapeActual.FillAttributes()
  10.                 Dim dt As System.Data.DataTable = shapeActual.DataTable
  11.                 Dim pline As Polyline = New Polyline()
  12.                 pline.SetDatabaseDefaults()
  13.                 For count As Integer = 0 To shapeActual.Features.Count - 1
  14.                     For Each feature As IFeature In shapeActual.Features 'circle through the features
  15.                         For i As Integer = 0 To feature.BasicGeometry.NumGeometries - 1 'circle through the parts of one feature
  16.                             For Each coord As Coordinate In feature.BasicGeometry.GetBasicGeometryN(i).Coordinates() 'circle through the coordinates of the feature part
  17.                                 Dim AdresX = coord.X
  18.                                 Dim AdresY = coord.Y
  19.                                 pline.AddVertexAt(count, New Point2d(coord.X, (coord.Y + 1)), 0.0, 0.0, 0.0)
  20.                                 count = count + 1
  21.                                 ed.WriteMessage(vbCr & count)
  22.                                 ed.WriteMessage(vbCr & feature.FeatureType.ToString)
  23.                             Next
  24.                         Next
  25.                     Next
  26.                 Next
  27.                 acBlkTblRec.AppendEntity(pline)
  28.                 acTrans.AddNewlyCreatedDBObject(pline, True)
  29.                 acTrans.Commit()
  30.             End Using
  31.         End Sub

回复

使用道具 举报

69

主题

875

帖子

15

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1146
发表于 2016-10-21 22:16:26 | 显示全部楼层
你的意思是“关闭”每一条线路吗?如果是这样,请使用pline。Close()创建闭合多段线(无间隙)
回复

使用道具 举报

12

主题

20

帖子

1

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
68
发表于 2016-10-22 04:10:47 | 显示全部楼层

你的意思是pline.Closed=True已经试过了
我上传的图像显示房子行我插入
1.如何插入一行
2.手动删除多余的行
回复

使用道具 举报

69

主题

875

帖子

15

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1146
发表于 2016-10-22 18:15:40 | 显示全部楼层
啊好的。看起来你需要找到几何数据的开始/结束对。
能否附上您的shp样本文件,让我看看?
回复

使用道具 举报

12

主题

20

帖子

1

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
68
发表于 2016-10-23 09:40:25 | 显示全部楼层

这是SHP样本
回复

使用道具 举报

69

主题

875

帖子

15

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1146
发表于 2016-10-23 18:50:13 | 显示全部楼层
嗨,sigster,
我希望能够阅读shp文件,但它是二进制的,我也看了地图帮助文档,它们几乎没有用(对我来说,我不知道产品),但在看了一会儿图片后,我会尝试只添加线段,而不是折线,看看你会得到什么。
也就是说,不是每个点都附加一个顶点,而是每隔一个点创建一条线。换句话说,将顶点列表分割成2个点的元组,并为每个元组创建一行,希望这样有意义?
这可能不是您想要的,但可能会带来一些线索。
您能提供一些您正在使用的“FeatureSet”库/api的在线帮助吗?
回复

使用道具 举报

12

主题

20

帖子

1

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
68
发表于 2016-10-23 19:32:18 | 显示全部楼层
我使用这个<br>https://dotspatial.codeplex.com/
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-2-4 16:46 , Processed in 0.270669 second(s), 68 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表