qq_35980546 于 2017.09.19 08:22 提问

1个回答

code68   2017.09.19 08:34

DatasourceConnectionInfo datasourceConnnectionInfo = new DatasourceConnectionInfo();
datasourceConnnectionInfo.EngineType = EngineType.UDB;
datasourceConnnectionInfo.Server = ":memory:"
datasourceConnnectionInfo.Alias = "mdata";

DatasetVector datasetvectorgrid = workspace.Datasources["mdata"].Datasets["mapgrid"] as DatasetVector;
Recordset recordset = datasetvectorgrid.GetRecordset(false, CursorType.Dynamic);
Rectangle2D maprectangle = new Rectangle2D();
maprectangle = mapcontrol.Map.ViewBounds;
double distancex = (maprectangle.Right - maprectangle.Left) / 10;
double distancey = (maprectangle.Top - maprectangle.Bottom) / 9;
Point2D point2d = new Point2D();
rectangles = new Rectangle2D[100];
Array .Clear (rectangles ,0, rectangles .Length );
int count = 0;
For (int j = 0; j <= 8; j++)
{
for (int i = 0; i <= 9; i++)
{
point2d.X = maprectangle.Left + distancex * i;
point2d.Y = maprectangle.Bottom + distancey * j;
Rectangle2D rectangle = new Rectangle2D(point2d, distancex, distancey);
rectangles[count] = rectangle;
count++;
GeoRectangle georectangle = new GeoRectangle(rectangle, 0);
GeoStyle style = Setgeostyle();
georectangle.Style = style;
recordset.Update();
}
}

//检查是否包含;
private void IsCanContain()
{
//聚合点数据集；
DatasetVector datasetvectorgrid = workspace.Datasources["mdata"].Datasets["point"] as DatasetVector;
Recordset recordsetpoint = datasetvectorgrid.GetRecordset(false, CursorType.Dynamic);
//原始点数据集；
DatasetVector datasetvectorpoint = workspace.Datasources[0].Datasets["POIP"] as DatasetVector;

Recordset recordset = datasetvectorpoint.GetRecordset(false, CursorType.Static);
//临时单个聚合对象点
DatasetVector datasetvetortpoint = workspace .Datasources ["mdata"].Datasets ["tpoint"] as DatasetVector ;
recordsetpoint.DeleteAll();
Point2D[] point2ds = new Point2D[recordset.RecordCount];
int pointitem = 0;
for (int i = 0; i < 100; i++)
{
int count = 0;
Rectangle2D rectangle = rectangles[i];

recordset.MoveFirst();
Recordset rectangleitemrecordset = datasetvetortpoint.GetRecordset(false, CursorType.Dynamic);
for (int j = 0; j < recordset.RecordCount; j++)
{
Geometry geometry = recordset.GetGeometry();

GeoPoint geopoint = geometry as GeoPoint ;
Point2D point2d = new Point2D (geopoint .X ,geopoint .Y );
if (rectangle .Contains (point2d ))
{
if (Array.IndexOf(point2ds, point2d) == -1)
{
count++;
point2ds[pointitem] = point2d;
pointitem++;
GeoPoint itemgeopoint = new GeoPoint(point2d);
rectangleitemrecordset.Update();
}
}
recordset.MoveNext();
}

qq_35980546 不行,生成不了图片,
10 个月之前 回复
qq_35980546 谢谢大哥,我看一下
10 个月之前 回复

SuperMap IObjects C++组件学习笔记（二） - Qt接管下IObjectsC++组件的自定义地图绘制
Qt接管下iObjects C++组件的地图自定义绘制一、什么为自定义绘制自定义绘制，顾名思义，就是用自己的方法去绘制地图，由于部分地图绘制任务对地图刷新性能的高要求，如果采用GIS组件提供的内置绘制方法，其绘制过程中会有很多的计算和判断，从而消耗大量的不必要时间。 先要缩短地图绘制时间，我们可以使用自己的绘制方法，从两个方面出发去节省GIS组件绘制地图的时间： + 1.节约查询时间：GIS组件
SuperMap iObjects Java tar 包使用指南
SuperMap iObjects Java 7C tar 包使用指南​ 前言 欢迎使用 Supe
SuperMap iObjects .NET 实现聚合显示详解

SuperMap iObjects Java在Tomact中的应用

SuperMap iObjects for Java组件写iServer扩展服务
SuperMap iObjects for Java组件写iServer扩展服务SuperMap iServer产品里提供了基于 REST 的应用编程接口，这些接口封装了大部分的 GIS 功能，包括基本的地图功能，数据编辑功能，分析功能等。这些接口的实现严格讲也是基于SuperMap iObjects for Java组件完成，本文介绍重点介绍如何用java组件编写iServer的扩展服务，本文以计
SuperMap iObjects .NET 8C技术文档 ——三维管线
SuperMap iObjects .NET 8C技术文档 ——三维管线 作者：博哥 北京超图软件股份有限公司 中国•北京 目录 1. 概述1.1 三维管线场景的组成2. 构建三维网络数据集2.1 组件产品构建三维网络数据集2.2 桌面产品构建三维网络数据集
SuperMap iDesktop 如何制作一幅“星光闪闪”的地图

SuperMap Objects .NET 中更新方法的使用
SuperMap Objects .NET 中更新方法的使用一、 使用软件 SuperMap Objects .NET 6R（2012） 二、 使用背景 大家在使用 SuperMap Objects .NET 6R 进行开发的时候，会发现很多时候，在进行了操作后 需要使用 update，或 updatedata 方法来提交之前所做操作，经常会因为忘记使用这些方法，是 的所做操作没有提交
supermap iobjects学习——workspace，WorkspaceControl，控件交互