首页 / 浏览问题 / 组件GIS / 问题详情
通过supermap-iobjectsjava实现cad中圆弧对象的参数化
18EXP 2023年03月27日
问题详细描述:通过supermap-iobjectsjava读取dwg文件中数据集后,如何获取圆弧对象的坐标信息,并添加实体到数据库数据集中

1个回答

您好,参数化的数据没法直接存入简单数据集中,建议您在导入 CAD 数据的时候选择不保留参数化选项(setKeepingParametricPart)。

希望可以帮到您。
2,258EXP 2023年03月27日
我知道弧形参数化的对象不能存入简单数据集中,但是现在需要获取弧形数据,应该怎么处理呢,supermap暂时不支持弧形嘛?
是支持的,建议您可以从数据集中获取记录集,recordset.getGeometry() 获取要素对象。
现在是这样处理的,recordset.getGeometry()得到Geometry之后如何获取弧形点坐标呢,应该怎么保存弧形实体到数据库中,并在前端展示
根据您的参数化数据具体类型,如果是圆弧的话就将Geometry对象强转为GeoArc类型,如果是椭圆弧的话就将Geometry对象强转为GeoEllipticArc。

每个具体几何对象类型提供了对应的接口用于获取几何对象数据信息,如 GeoArc 提供了 getRadius 接口获取圆弧半径,getCenter 获取圆弧圆心等。

如果是需要在前端展示的话,建议使用 Toolkit 工具栏提供的 GemetryToGeoJson、GemetryToWKT 等接口,将几何要素转换成前端通用的类型,方便前端库正确识别几何要素。
但是比如GeoJson本身就不支持弧形,你转换出来的坐标已经是不带弧度的,这里已经存在问题了吧,这部分是怎么处理的呢
有没有示例能参考的,supermap最终转换出来的弧形坐标是什么样的结构,如何在前端展示的

您好,目前不支持导出以参数化结构导出几何数据,导出几何数据后都是以节点的形式。

在前端加载的话,每个前端库都有自己封装的接口用于解析通用格式,如 Leaflet 支持 GeoJSON,可参考 https://leafletjs.com/reference.html#geojson

若您对前端库如何展示几何要素,建议您先学习一下前端库如何绘制几何要素,在前端库的官网有对应库的使用教程。

你回复的意思就是目前支持不弧形解析,以及 Leaflet展示弧形的坐标点嘛?常规的图形解析以及前端绘制我没有疑问,现在主要是询问弧形数据该怎么处理?

您好,建议您仔细阅读解决方案,上述内容是说的iObjects Java组件不支持 导出 参数化结构的几何要素,导出的几何要素都是节点结构。

弧形数据导出后也是节点结构,您在前端自行解析节点结构的弧形数据并进行显示即可。

那后续会考虑支持导出以参数化结构导出几何数据嘛
感谢您的建议,已与研发团队沟通,研发团队会对是否支持导出参数化结构的功能进行评估,若后续产品提供了此功能,再私信您
...