ArcGIS Engine

ArcGIS Engine

C# GP split

ArcGIS Engine倾城之恋 回复了问题 • 2 人关注 • 2 个回复 • 95 次浏览 • 2018-09-21 14:34 • 来自相关话题

Geoprocessor gp = new Geoprocessor();
gp.OverwriteOutput = true;
ESRI.ArcGIS.AnalysisTools.Split Spt = new ESRI.ArcGIS.AnalysisTools.Split();
Spt.in_features = @&

Engine中如何加载.hdf5数据,并作为RGB图层显示

琪强123 回复了问题 • 2 人关注 • 2 个回复 • 642 次浏览 • 2018-09-20 09:48 • 来自相关话题

Engine中如何加载.hdf5数据,并作为RGB图层显示?类似于ArcMap加载hdf5数据时显示的SubDataset Selection对话框显示的那样。

ArcEngine IMapClipOptions接口可以排除对Griaphics的裁切吗

ArcGIS Engine朱新颖 回复了问题 • 2 人关注 • 1 个回复 • 101 次浏览 • 2018-09-06 13:44 • 来自相关话题

开发环境:ArcEngine10.4+vs2013
问题:使用接口IMapClipOptions进行裁切范围显示的时候,是否可以忽略掉绘制的Graphics?
代码如图:




需求:
1.我想对镶嵌数据集进行过滤显示,如果用过滤条件过去会把OverView文件过滤掉。所以我想使用IMapCilpOptions接口进行裁切范围过滤显示,但是使用此方法又会对我绘制的Graphics进行裁切,这块

Engine中如何对要素类进行投影变换?

回复

朱新颖 回复了问题 • 4 人关注 • 1 个回复 • 1363 次浏览 • 2018-08-27 12:29 • 来自相关话题

Engine中如何对要素类进行投影变换?例如Desktop中的Project工具。以要素类从WGS84地理坐标系转为西安80投影坐标系为例

“System.Runtime.InteropServices.COMException”类型的未经处理的异常在 ESRI.ArcGIS.Geoprocessor.dll 中发生

ArcGIS Enginewsw771006 回复了问题 • 4 人关注 • 4 个回复 • 1047 次浏览 • 2018-08-24 17:01 • 来自相关话题

一个GP工具的问题请教各位
“System.Runtime.InteropServices.COMException”类型的未经处理的异常在 ESRI.ArcGIS.Geoprocessor.dll 中发生
代码如下:
Geoprocessor gp = new Geoprocessor();
CreateFishnet fishnet = new CreateFis

Kriging这个方法的semiVariogram_props参数如何传递?

ArcGIS Engine朱新颖 回复了问题 • 2 人关注 • 1 个回复 • 138 次浏览 • 2018-08-22 11:36 • 来自相关话题

代码:
IFeatureLayer pFeatureLayer = new FeatureLayerClass();
            IDataset pDataset = pFeatureClass as IDataset;
            pFeatureLayer.FeatureClass = pFeatureClass;
            pFeatureLayer.

gp执行一直失败,参数改变尝试很多次,但是仍不知道问题出在哪

ArcGIS Engine朱新颖 回复了问题 • 2 人关注 • 1 个回复 • 144 次浏览 • 2018-08-20 11:12 • 来自相关话题

   //插值分析(克里金法)
       public static void KrigingMethod(IFeatureClass pFeatureClass,string pField,string outResult)
       {
           IFeatureLayer pFeatureLayer = new FeatureLayerClass();
         

ArcGIS Engine开发的数据库管理系统可以用ArcGIS Runtime完全实现吗

Runtime SDK朱新颖 回复了问题 • 2 人关注 • 1 个回复 • 233 次浏览 • 2018-08-20 11:08 • 来自相关话题

 本人五年前做了一套数据库管理系统,用的是ArcGIS Engine 10.1,.Net Framework 4.0。
取得了很好的应用,但是随着微软和ESRI的技术更新,想要完全迁移到新的平台
我刚接触ArcGIS Runtime,目前看中了ArcGIS Runtime for .Net 100.3,开发工具VS2015。
请教各位老师,技术上是否可行?
 
原系统有如下功能:
1 s

arcengine中关于feature.shape显示不支持此类型

ArcGIS Engine朱新颖 回复了问题 • 2 人关注 • 1 个回复 • 105 次浏览 • 2018-08-15 09:06 • 来自相关话题

该图层的类型是polyline,我想创建一个弧线如下代码:
ICircularArc parc=new CircularArcClass();
parc.PutCoords(pPoint,pPoint1,pPoint2,esriArcOrientation.esriArcMinor);
w.StartEditing(true);

DBMS does NOT support this function [TEST_DATA.QGZDWWBHDW][STATE_ID = 0

ArcGIS Engine朱新颖 回复了问题 • 2 人关注 • 1 个回复 • 103 次浏览 • 2018-08-14 17:46 • 来自相关话题

开发环境:ArcEngine10.4.1
数据库环境:Oracle11g
开发代码片段:$(document).ready(function() {$('pre code').each(function(i, block) { hljs.highlightBlock( block); }); }); IQueryFilterDefinition3 pQueryDef =

请教一下AE里面MapControl有没有图层加载后触发的事件?

ArcGIS Engine朱新颖 回复了问题 • 3 人关注 • 1 个回复 • 146 次浏览 • 2018-08-14 17:29 • 来自相关话题

在VS里面,axMapControl1关于地图数据变化的事件,只找到一个OnMapReplace事件,是mxd替换时触发的。现在请教下有没有单个或多个图层加载后触发的事件呢?    
不知道有关控件使用的文档去哪里找,只能在这请教了。。。

Arcgis engine买的一本书里面所带的示例代码,在查询要素属性时,获取的shape属性不对啊

ArcGIS Engine朱新颖 回复了问题 • 2 人关注 • 1 个回复 • 112 次浏览 • 2018-08-14 09:20 • 来自相关话题

如上图,这个示范程序里面获取的shape属性显示是System._ComObject,这里获取的应该是不对的啊,这是为什么啊,为什么会获取到这个?那么请问实际获取的shape应该怎么显示呢?
条新动态, 点击查看
刘峥

刘峥 回答了问题 • 2015-04-17 16:41 • 2 个回复 不感兴趣

Engine中如何渲染LiDAR数据(.las)?

赞同来自:

【解决办法】:
按属性(强度Intensity)渲染参考代码:
 
string lasdfile = @E:testlas.lasd;
ILasDataset lasdataset = new LasDatasetClass();
lasdataset.I... 显示全部 »
【解决办法】:
按属性(强度Intensity)渲染参考代码:
 
string lasdfile = @E:testlas.lasd;
ILasDataset lasdataset = new LasDatasetClass();
lasdataset.Init(lasdfile);
ILasFile lasfile = lasdataset.get_File(0);
ILasDatasetLayer laslayer = new LasDatasetLayerClass();
laslayer.Dataset = lasdataset;
laslayer.Name = test.las;
ILasStatistics lasstat = lasfile.GetStatistics();

ISimpleStatistics simstat = lasstat.GetAttributeStatistics(esriLasAttributeType.esriLasIntensity);
int min = (Int32)simstat.Minimum;
int max = (Int32)simstat.Maximum;

IRgbColor fromColor = new RgbColorClass();
fromColor.Red = 0;
fromColor.Green = 0;
fromColor.Blue = 0;
IColor toColor = new RgbColorClass();
fromColor.Red = 255;
fromColor.Green = 255;
fromColor.Blue = 255;

IAlgorithmicColorRamp colorRamp = new AlgorithmicColorRampClass();
colorRamp.Size = max;
colorRamp.FromColor = fromColor;
colorRamp.ToColor = toColor;
bool createColorRamp;
colorRamp.CreateRamp(out createColorRamp);

IEnumColors pEnumColors = colorRamp.Colors;
pEnumColors.Reset();

ILasAttributeRenderer lasattri = new LasUniqueValueRendererClass();
lasattri.Attribute = esriLasAttributeType.esriLasIntensity;

ITinUniqueValueRenderer tinuvren = lasattri as ITinUniqueValueRenderer;
for (int i = 0; i < max; i++)
{
IColor SymColor = pEnumColors.Next();
IMarkerSymbol MarkSym = new SimpleMarkerSymbolClass();
MarkSym.Color = SymColor;
tinuvren.AddValue(i.ToString(), i.ToString(), MarkSym as ISymbol);
tinuvren.AddValue(i.ToString(), i.ToString(), MarkSym as ISymbol);
}

laslayer.ClearRenderers();
laslayer.AddRenderer((ITinRenderer)lasattri);

ILegendInfo LegenInfo = laslayer as ILegendInfo;
for (int k = 0; k < LegenInfo.LegendGroupCount; k++)
{
ILegendGroup legenGrp = LegenInfo.get_LegendGroup(k);
legenGrp.Heading = ;
legenGrp.Visible = false;
ILegendClass legenCls = legenGrp.get_Class(0);
}

axSceneControl1.Scene.AddLayer(laslayer, false);
axSceneControl1.SceneGraph.RefreshViewers();

按高程LAS point elevation渲染参考代码:
 
string lasdfile = @E:testlas.lasd;
ILasDataset lasdataset = new LasDatasetClass();
lasdataset.Init(lasdfile);
ILasFile lasfile = lasdataset.get_File(0);
ILasDatasetLayer laslayer = new LasDatasetLayerClass();
laslayer.Dataset = lasdataset;
laslayer.Name = test.las;

IRgbColor fromColor = new RgbColorClass();
fromColor.Red = 0;
fromColor.Green = 0;
fromColor.Blue = 0;
IColor toColor = new RgbColorClass();
fromColor.Red = 255;
fromColor.Green = 255;
fromColor.Blue = 255;

int BreakCount = 9;
IAlgorithmicColorRamp colorRamp = new AlgorithmicColorRampClass();
colorRamp.Size = BreakCount;
colorRamp.FromColor = toColor;
colorRamp.ToColor = fromColor;
bool createColorRamp;
colorRamp.CreateRamp(out createColorRamp);

IEnumColors pEnumColors = colorRamp.Colors;
pEnumColors.Reset();

ITinColorRampRenderer TinColRamRend = new LasPointElevationRendererClass();
IDatasetRenderer DatasetRen = TinColRamRend as IDatasetRenderer;
DatasetRen.Dataset = lasdataset as IDataset;
TinColRamRend.BreakCount = BreakCount;
for (int i = 0; i < BreakCount; i++)
{
IColor SymColor = pEnumColors.Next();
IMarkerSymbol MarkSym = new SimpleMarkerSymbolClass();
MarkSym.Color = SymColor;
TinColRamRend.set_Symbol(i, MarkSym as ISymbol);
}

laslayer.ClearRenderers();
laslayer.AddRenderer((ITinRenderer)TinColRamRend);
axSceneControl1.Scene.AddLayer((ILayer)laslayer);

【解决办法】:
 
AO帮助中有关于获取HDF的示例代码,在线网址: 
http://resources.arcgis.com/en/help/arcobjects-net/conceptualhelp/index.html#//0001000001sz000... 显示全部 »
【解决办法】:
 
AO帮助中有关于获取HDF的示例代码,在线网址: 
http://resources.arcgis.com/en/help/arcobjects-net/conceptualhelp/index.html#//0001000001sz000000 

用下面代码可以成功获取HDF5数据的三个子数据,并作为RGB图层显示。
[code]
string FileName1 = @D:\ZhuXinying\测试数据\Raster\H2A_RM2A20150113000086_0294.h5;
RasterWorkspaceFactoryClass pRasterWorkspaceFactoryClass1 = new RasterWorkspaceFactoryClass();
IWorkspace pWorkspace1 = pRasterWorkspaceFactoryClass1.OpenFromFile(System.IO.Path.GetDirectoryName(FileName1), 0);
IRasterWorkspace pRasterWorkspace = pWorkspace1 as IRasterWorkspace;
ESRI.ArcGIS.DataSourcesRaster.IRasterBandCollection rasterBandCollection = new ESRI.ArcGIS.DataSourcesRaster.RasterClass();

int[] ListSub = { 16, 17, 18 };//获取子数据集,以16 17 18为例
for (int i = 0; i < ListSub.Length; i++)
{
IRasterDataset pRasterDataset = pRasterWorkspace.OpenRasterDataset(System.IO.Path.GetFileName(FileName1));
IRasterDatasetJukebox pRasterDatasetJukebox = pRasterDataset as IRasterDatasetJukebox;
if (pRasterDatasetJukebox.SubdatasetCount > ListSub[i])
{
IRasterDatasetJukebox pRasterDatasetJukeboxdas = pRasterDataset as IRasterDatasetJukebox;
pRasterDatasetJukeboxdas.Subdataset = ListSub ;
IRasterDataset pSubDataset = pRasterDatasetJukeboxdas as IRasterDataset;
IRasterBandCollection pRasterBands1 = pSubDataset as IRasterBandCollection;
rasterBandCollection.Add(pRasterBands1.Item(0), i);
}
}

IRasterLayer pRasterLayerClass = new RasterLayerClass();
pRasterLayerClass.CreateFromRaster(rasterBandCollection as IRaster);
pRasterLayerClass.Name = asdf;
axMapControl1.AddLayer(pRasterLayerClass);
axMapControl1.Refresh();
IGeoDataset geodataset = rasterBandCollection as IGeoDataset;
ISaveAs saveAs = geodataset as ISaveAs;
saveAs.SaveAs(zxy7.tif, pWorkspace1, TIFF);
朱新颖

朱新颖 回答了问题 • 2016-03-04 20:04 • 1 个回复 不感兴趣

Engine中如何对要素类进行投影变换?

赞同来自:

【解决办法】:
主要分三步:
1,由于WGS84地理坐标系和西安80投影坐标系的椭球体不同,需要先定义一个地理变换,参考AO帮助链接:
http://resources.arcgis.com/en/help/arcobjects-net/conceptualh... 显示全部 »
【解决办法】:
主要分三步:
1,由于WGS84地理坐标系和西安80投影坐标系的椭球体不同,需要先定义一个地理变换,参考AO帮助链接:
http://resources.arcgis.com/en/help/arcobjects-net/conceptualhelp/index.html#/d/0001000009sw000000.htm
2,获取要素类,遍历每个要素,获取IGeometry,使用IGeometry5.ProjectEx()方法进行投影,将投影后的Geometry重新赋值给Feature,并且报存。
http://resources.arcgis.com/en/help/arcobjects-net/componenthelp/index.html#//002m000001rp000000
3,将处理过的要素类的空间参考改为新的空间参考,使用IGeoDatasetSchemaEdit.AlterSpatialReference方法。
http://resources.arcgis.com/en/help/arcobjects-net/componenthelp/index.html#//0025000003mn000000

注:如果两个坐标系的椭球体相同的话,直接使用IGeometry5.Project()进行投影即可,也不需要定义地理变换

参考代码(以WGS84到西安80为例):



IGeographicCoordinateSystem wgs84GCS = createGeographicCoordinateSystem((int)esriSRGeoCSType.esriSRGeoCS_WGS1984);
            IProjectedCoordinateSystem xian80PCS = createProjectedCoordinateSystem((int)esriSRProjCS4Type.esriSRProjCS_Xian1980_3_Degree_GK_CM_102E);
            IGeoTransformation geoTrans = createCustomGeoTrans((ISpatialReference)wgs84GCS, (ISpatialReference)xian80PCS);
            IWorkspace workspace = getWorkspace(esriDataSourcesGDB.FileGDBWorkspaceFactory, @E:\ZhuXinying\testData\Data.gdb);
            IFeatureClass featureClass = openFeatureClass(workspace, WGS841);
            IFeatureCursor featureCur = featureClass.Search(null, false);
            IFeature feature = featureCur.NextFeature();
            while (feature != null)
            {
                IGeometry5 geometry = feature.ShapeCopy as IGeometry5;
                geometry.ProjectEx(xian80PCS as ISpatialReference, esriTransformDirection.esriTransformForward,geoTrans, false, 0, 0);
                feature.Shape = geometry;
                feature.Store();
                feature = featureCur.NextFeature();
            }
            // 定义投影
            defineSpatialReference(featureClass as IDataset, xian80PCS);

​ private void defineSpatialReference(IDataset dataset,ISpatialReference spatialReference)
        {
            IGeoDatasetSchemaEdit geoSchemaEdit = dataset as IGeoDatasetSchemaEdit;
            if (geoSchemaEdit.CanAlterSpatialReference)
            {
                geoSchemaEdit.AlterSpatialReference(spatialReference);
            }
       }
        private IProjectedCoordinateSystem createProjectedCoordinateSystem(int WKID)
        {
            Type factoryType = Type.GetTypeFromProgID(esriGeometry.SpatialReferenceEnvironment);
            System.Object obj = Activator.CreateInstance(factoryType);
            ISpatialReferenceFactory2 pSRF = obj as ISpatialReferenceFactory2;

            // Initialize and create the input and output coordinate systems.
            IProjectedCoordinateSystem pPCS = new ProjectedCoordinateSystemClass();
            pPCS = pSRF.CreateProjectedCoordinateSystem(WKID);
            return pPCS;
        }

        private IGeographicCoordinateSystem createGeographicCoordinateSystem(int WKID)
        {
            Type factoryType = Type.GetTypeFromProgID(esriGeometry.SpatialReferenceEnvironment);
            System.Object obj = Activator.CreateInstance(factoryType);
            ISpatialReferenceFactory2 pSRF = obj as ISpatialReferenceFactory2;
           
            IGeographicCoordinateSystem pGCS = new GeographicCoordinateSystemClass();
            // Initialize and create the input and output coordinate systems.
            pGCS = pSRF.CreateGeographicCoordinateSystem(WKID);
            return pGCS;
        }
        private IGeoTransformation createCustomGeoTrans(ISpatialReference pInputSR, ISpatialReference pOutputSR)
        {
            IGeographicCoordinateSystem pGCSfrom = null;
            IGeographicCoordinateSystem pGCSto = null;
            if (pInputSR is IGeographicCoordinateSystem)
                pGCSfrom = pInputSR as IGeographicCoordinateSystem;
            else if (pInputSR is IProjectedCoordinateSystem)
                pGCSfrom = (pInputSR as IProjectedCoordinateSystem).GeographicCoordinateSystem;
            if (pOutputSR is IGeographicCoordinateSystem)
                pGCSto = pOutputSR as IGeographicCoordinateSystem;
            else if (pOutputSR is IProjectedCoordinateSystem)
                pGCSto = (pOutputSR as IProjectedCoordinateSystem).GeographicCoordinateSystem;
            
            ICoordinateFrameTransformation pCFT = new CoordinateFrameTransformationClass();
            pCFT.PutParameters(p1, p2, p3, p4, p5, p6, p7); //七参数
            pCFT.PutSpatialReferences(pGCSfrom, pGCSto);
            pCFT.Name = Custom GeoTran;
            IGeoTransformation pGeoTrans = pCFT as IGeoTransformation;
            return pGeoTrans;
        }

【解决办法】:
使用Windows7 旗舰版 ,VS2010旗舰版,Arcgis Engine中复现了问题。即在程序中可以正确显示计算结果,在ArcMap中添加数据显示数据错误介于正负3.40282e+038之间的错误数据。建议输入文件路径名称改为英文文件名,... 显示全部 »
【解决办法】:
使用Windows7 旗舰版 ,VS2010旗舰版,Arcgis Engine中复现了问题。即在程序中可以正确显示计算结果,在ArcMap中添加数据显示数据错误介于正负3.40282e+038之间的错误数据。建议输入文件路径名称改为英文文件名,问题即可解决。 注:在Win10,vs2013,AE10.4中代码运行结果一切正常,可以使用ArcGIS正确显示输出结果。
朱新颖

朱新颖 回答了问题 • 2018-01-29 00:00 • 1 个回复 不感兴趣

Engine中如何实现ArcMap中的Split Polygons功能?

赞同来自:

【解决办法】:
使用IFeatureConstruction.SplitPolygonsWithLines方法。



​ IFeatureLayer polygonLayer = axMapControl1.get_Layer(1) as IFeature... 显示全部 »
【解决办法】:
使用IFeatureConstruction.SplitPolygonsWithLines方法。



​ IFeatureLayer polygonLayer = axMapControl1.get_Layer(1) as IFeatureLayer;
            IFeatureClass polygonFeatureClass = polygonLayer.FeatureClass;
            IEnvelope envelope = (polygonFeatureClass as IGeoDataset).Extent;
            IEnumFeature enumLineFeature = axMapControl1.Map.FeatureSelection as IEnumFeature;
            IFeatureConstruction featureCon = new FeatureConstructionClass();
            featureCon.SplitPolygonsWithLines(null, polygonFeatureClass, envelope, enumLineFeature, null, 0.00256);

【解决办法】:
1,第一种方法:
连接Server后,获取该服务的IServerObjectConfiguration,其isCached属性,返回值为true即为切片服务,返回值为false即没有切片。

2,第二种方法:
获取到IMapServer后转为I... 显示全部 »
【解决办法】:
1,第一种方法:
连接Server后,获取该服务的IServerObjectConfiguration,其isCached属性,返回值为true即为切片服务,返回值为false即没有切片。

2,第二种方法:
获取到IMapServer后转为ITiledMapServer,然后通过HasSingleFusedMapCache和HasLayerCache判断是否有切片,如果这两个bool值都返回false就是没有切片,如果有一个返回true就是有切片  


IServerObjectAdmin m_ServerObjectAdmin = ConnectAGS(https://xinying.arcgismap.com:6443/arcgis/admin, arcgis, arcgis);
            IServerObjectConfiguration con = m_ServerObjectAdmin.GetConfiguration(SampleWorldCities, MapServer);
            IPropertySet propertySet = con.Properties;
          
            object value = propertySet.GetProperty(isCached);



if(mapserver is ITiledMapServer) 

ITiledMapServer2 tiled = mapserver as ITiledMapServer2; 

bool a = tiled.HasSingleFusedMapCache(mapserver.DefaultMapName); 
bool b = tiled.HasLayerCache(mapserver.DefaultMapName, 0); 
}
朱新颖

朱新颖 回答了问题 • 2018-04-01 00:00 • 1 个回复 不感兴趣

Engine中如何获取某一点坐标的像素值?

赞同来自:

【解决办法】:
可以将点的地图坐标转为像素的行列号,然后获取该位置的像素值,这种方法获取的精度高,可以达到预期。
 


IRaster2 raster2 = (IRaster2)RasterLayer.Raster; 
//Get the column a... 显示全部 »
【解决办法】:
可以将点的地图坐标转为像素的行列号,然后获取该位置的像素值,这种方法获取的精度高,可以达到预期。
 


IRaster2 raster2 = (IRaster2)RasterLayer.Raster; 
//Get the column and row by giving x,y coordinates in a map space. 
int col = raster2.ToPixelColumn(point.X); 
int row = raster2.ToPixelRow(point.Y); 
//Get the value at a given band. 
double pixelValue = Convert.ToDouble(raster2.GetPixelValue(0, col, row));
【解决办法】:
设置IEngineEditProperties2.StickyMoveTolerance
【解决办法】:
设置IEngineEditProperties2.StickyMoveTolerance
【解决办法】:
1,经测试,下面代码可以成功。但是有两点一定要注意,一是程序要绑定Desktop产品,初始化Desktop产品下的许可,例如Advanced(注意使用Desktop许可的话是无法使用任何控件的),初始化Engine许可无法成功;二是用代码检出e... 显示全部 »
【解决办法】:
1,经测试,下面代码可以成功。但是有两点一定要注意,一是程序要绑定Desktop产品,初始化Desktop产品下的许可,例如Advanced(注意使用Desktop许可的话是无法使用任何控件的),初始化Engine许可无法成功;二是用代码检出esriLicenseExtensionCodeGeoStats许可,使用LicenseControl控件的话无法检出该扩展许可,只能使用代码检出。


RuntimeManager.Bind(ProductCode.Desktop); 
ESRI.ArcGIS.esriSystem.IAoInitialize ao = new ESRI.ArcGIS.esriSystem.AoInitialize(); ao.Initialize(ESRI.ArcGIS.esriSystem.esriLicenseProductCode.esriLicenseProductCodeAdvanced);ao.CheckOutExtension(esriLicenseExtensionCode.esriLicenseExtensionCodeGeoStats);
ESRI.ArcGIS.Geoprocessor.Geoprocessor gp = new ESRI.ArcGIS.Geoprocessor.Geoprocessor(); 
gp.OverwriteOutput = true; 
ESRI.ArcGIS.GeostatisticalAnalystTools.IDW IDW = new ESRI.ArcGIS.GeostatisticalAnalystTools.IDW(); 
IDW.in_features = @C:\Users\Administrator\Downloads\交通大区\AdminZone.shp; 
IDW.z_field = AREA; 
IDW.out_ga_layer = zxyTset; 
IDW.out_raster = @D:\ZhuXinying\测试数据\Raster.gdb\test3; 
IDW.power = 2; 
IDW.search_neighborhood = NBRTYPE=Standard S_MAJOR=2.89390101003182 S_MINOR=2.89390101003182 ANGLE=0 NBR_MAX=15 NBR_MIN=10 SECTOR_TYPE=ONE_SECTOR; 
GeoProcessorResult gpResult = new GeoProcessorResult(); 

try 

gp.Execute(IDW, null); 


catch (Exception ex) 

// Print geoprocessing execution error messages. 
for (int i = 0; i < gp.MessageCount; i++) 
Console.WriteLine(gp.GetMessage(i)); 

 

2,可以使用IGPUtilities.DecodeLayer方法来获取返回的out_ga_layer,参考代码:



IGPUtilities gpUtilities = new GPUtilitiesClass(); 
ILayer layer = gpUtilities.DecodeLayer(gpResult.GetOutput(0));

【解决办法】:
获取IRasterRenderer,修改IRasterRenderer.ResamplingType即可
【解决办法】:
获取IRasterRenderer,修改IRasterRenderer.ResamplingType即可
【解决办法】:
调用工具时,将参数设置为service_type 设置为EXISTING
【解决办法】:
调用工具时,将参数设置为service_type 设置为EXISTING
【解决办法】:
1,先通过IDisplayTransformation.ToMapPoint();将屏幕坐标转为地图坐标
2,使用IRaster2.ToPixelRow以及IRaster2.ToPixelColumn获取该点位置像元的行列号
3,IRaster... 显示全部 »
【解决办法】:
1,先通过IDisplayTransformation.ToMapPoint();将屏幕坐标转为地图坐标
2,使用IRaster2.ToPixelRow以及IRaster2.ToPixelColumn获取该点位置像元的行列号
3,IRaster2.GetPixelValue获取像素值即可

C# GP split

回复

ArcGIS Engine倾城之恋 回复了问题 • 2 人关注 • 2 个回复 • 95 次浏览 • 2018-09-21 14:34 • 来自相关话题

Geoprocessor gp = new Geoprocessor();
gp.OverwriteOutput = true;
ESRI.ArcGIS.AnalysisTools.Split Spt = new ESRI.ArcGIS.AnalysisTools.Split();
Spt.in_features = @&

Engine中如何加载.hdf5数据,并作为RGB图层显示

回复

琪强123 回复了问题 • 2 人关注 • 2 个回复 • 642 次浏览 • 2018-09-20 09:48 • 来自相关话题

Engine中如何加载.hdf5数据,并作为RGB图层显示?类似于ArcMap加载hdf5数据时显示的SubDataset Selection对话框显示的那样。

ArcEngine IMapClipOptions接口可以排除对Griaphics的裁切吗

回复

ArcGIS Engine朱新颖 回复了问题 • 2 人关注 • 1 个回复 • 101 次浏览 • 2018-09-06 13:44 • 来自相关话题

开发环境:ArcEngine10.4+vs2013
问题:使用接口IMapClipOptions进行裁切范围显示的时候,是否可以忽略掉绘制的Graphics?
代码如图:




需求:
1.我想对镶嵌数据集进行过滤显示,如果用过滤条件过去会把OverView文件过滤掉。所以我想使用IMapCilpOptions接口进行裁切范围过滤显示,但是使用此方法又会对我绘制的Graphics进行裁切,这块

Engine中如何对要素类进行投影变换?

回复

朱新颖 回复了问题 • 4 人关注 • 1 个回复 • 1363 次浏览 • 2018-08-27 12:29 • 来自相关话题

Engine中如何对要素类进行投影变换?例如Desktop中的Project工具。以要素类从WGS84地理坐标系转为西安80投影坐标系为例

“System.Runtime.InteropServices.COMException”类型的未经处理的异常在 ESRI.ArcGIS.Geoprocessor.dll 中发生

回复

ArcGIS Enginewsw771006 回复了问题 • 4 人关注 • 4 个回复 • 1047 次浏览 • 2018-08-24 17:01 • 来自相关话题

一个GP工具的问题请教各位
“System.Runtime.InteropServices.COMException”类型的未经处理的异常在 ESRI.ArcGIS.Geoprocessor.dll 中发生
代码如下:
Geoprocessor gp = new Geoprocessor();
CreateFishnet fishnet = new CreateFis

Kriging这个方法的semiVariogram_props参数如何传递?

回复

ArcGIS Engine朱新颖 回复了问题 • 2 人关注 • 1 个回复 • 138 次浏览 • 2018-08-22 11:36 • 来自相关话题

代码:
IFeatureLayer pFeatureLayer = new FeatureLayerClass();
            IDataset pDataset = pFeatureClass as IDataset;
            pFeatureLayer.FeatureClass = pFeatureClass;
            pFeatureLayer.

gp执行一直失败,参数改变尝试很多次,但是仍不知道问题出在哪

回复

ArcGIS Engine朱新颖 回复了问题 • 2 人关注 • 1 个回复 • 144 次浏览 • 2018-08-20 11:12 • 来自相关话题

   //插值分析(克里金法)
       public static void KrigingMethod(IFeatureClass pFeatureClass,string pField,string outResult)
       {
           IFeatureLayer pFeatureLayer = new FeatureLayerClass();
         

ArcGIS Engine开发的数据库管理系统可以用ArcGIS Runtime完全实现吗

回复

Runtime SDK朱新颖 回复了问题 • 2 人关注 • 1 个回复 • 233 次浏览 • 2018-08-20 11:08 • 来自相关话题

 本人五年前做了一套数据库管理系统,用的是ArcGIS Engine 10.1,.Net Framework 4.0。
取得了很好的应用,但是随着微软和ESRI的技术更新,想要完全迁移到新的平台
我刚接触ArcGIS Runtime,目前看中了ArcGIS Runtime for .Net 100.3,开发工具VS2015。
请教各位老师,技术上是否可行?
 
原系统有如下功能:
1 s

arcengine中关于feature.shape显示不支持此类型

回复

ArcGIS Engine朱新颖 回复了问题 • 2 人关注 • 1 个回复 • 105 次浏览 • 2018-08-15 09:06 • 来自相关话题

该图层的类型是polyline,我想创建一个弧线如下代码:
ICircularArc parc=new CircularArcClass();
parc.PutCoords(pPoint,pPoint1,pPoint2,esriArcOrientation.esriArcMinor);
w.StartEditing(true);

DBMS does NOT support this function [TEST_DATA.QGZDWWBHDW][STATE_ID = 0

回复

ArcGIS Engine朱新颖 回复了问题 • 2 人关注 • 1 个回复 • 103 次浏览 • 2018-08-14 17:46 • 来自相关话题

开发环境:ArcEngine10.4.1
数据库环境:Oracle11g
开发代码片段: IQueryFilterDefinition3 pQueryDef = pSpatialFilter as IQueryFilterDefinition3;
pQueryDef.SetPaginationClause(rowIndex, m_pagesize);

请教一下AE里面MapControl有没有图层加载后触发的事件?

回复

ArcGIS Engine朱新颖 回复了问题 • 3 人关注 • 1 个回复 • 146 次浏览 • 2018-08-14 17:29 • 来自相关话题

在VS里面,axMapControl1关于地图数据变化的事件,只找到一个OnMapReplace事件,是mxd替换时触发的。现在请教下有没有单个或多个图层加载后触发的事件呢?    
不知道有关控件使用的文档去哪里找,只能在这请教了。。。

Arcgis engine买的一本书里面所带的示例代码,在查询要素属性时,获取的shape属性不对啊

回复

ArcGIS Engine朱新颖 回复了问题 • 2 人关注 • 1 个回复 • 112 次浏览 • 2018-08-14 09:20 • 来自相关话题

如上图,这个示范程序里面获取的shape属性显示是System._ComObject,这里获取的应该是不对的啊,这是为什么啊,为什么会获取到这个?那么请问实际获取的shape应该怎么显示呢?

Arcgis Engine(ae)接口详解:全集目录

ArcGIS Enginecannel 发表了文章 • 4 个评论 • 1040 次浏览 • 2017-11-29 10:48 • 来自相关话题

Arcgis Engine(ae)接口详解(1):featureClass
 
Arcgis Engine(ae)接口详解(2):featureClass查询
 
Arcgis Engine(ae)接口详解(3):featureClass的feature编辑和删除
 
Arcgis Engine(ae)接口详解(4):featureClass的feature插入
 
Arcgis Engine(a

Arcgis Engine(ae)接口详解(8):临时元素(element)

ArcGIS Enginecannel 发表了文章 • 0 个评论 • 359 次浏览 • 2017-11-29 10:46 • 来自相关话题

IMap map = null;
IActiveView activeView =null;

//IGraphicsContainer用于操作临时元素,可以通过map获取
IGraphicsContainer gc = map as IGraphicsContainer

ArcGIS Engine 10.5下构建Java程序—轻松入门

ArcGIS Engine朱新颖 发表了文章 • 0 个评论 • 443 次浏览 • 2017-11-17 00:00 • 来自相关话题

虽然接触Engine Java的时间比较长,也接触过用户的一些问题,但是一般都是直接从ArcObjects SDK for Java的示例工程中找一个,然后测试用户代码,并没有自己动手搭建过Engine Java工程,尤其是带控件的,今天正好有用户问起,就动手搭建工程测试一下。现把详细的流程写下来,希望对刚刚开始进行Engine Java开发的用户有所帮助。
一、 环境的准备
1,Engine J

Linux 下如何运行Engine Java 程序

ArcGIS Engine朱新颖 发表了文章 • 0 个评论 • 346 次浏览 • 2017-11-08 00:00 • 来自相关话题

上篇文章讲解了Linux下如何安装ArcGIS Engine软件并授权,这篇文章主要介绍下Linux下如何运行Engine Java程序,主要是环境的搭建。
本文以Redhat 6.5操作系统,ArcGIS Engine 10.2以及运行基于Engine Java开发的.jar为例,进行环境的搭建。首先我们需要安装Java JDK,这里使用Java 6 Update 20(32bit)环境。
一、

Arcgis Engine(ae)接口详解(7):地图(map)操作

ArcGIS Enginecannel 发表了文章 • 1 个评论 • 601 次浏览 • 2017-10-11 14:05 • 来自相关话题

IMap map = hookHelper.FocusMap;
//跟map同一层次的activeView对象,他们都是“地图”的对象,map管理地图内容,activeView管理显示内容
IActiveView activeView = map as IActiveView;

//获取当前地图显示范

Arcgis Engine(ae)接口详解(6):workspace操作

ArcGIS Enginecannel 发表了文章 • 2 个评论 • 608 次浏览 • 2017-10-08 20:57 • 来自相关话题

//此处用的workspace来源与用户选择
IWorkspace workspace = null;

//workspace一般等同于数据库

//工作空间类型,也可理解为数据库类型
//esriFileSystemWorkspace:

Linux上安装ArcGIS Engine 10.4详解

ArcGIS Engine朱新颖 发表了文章 • 0 个评论 • 443 次浏览 • 2017-09-29 00:00 • 来自相关话题

ArcGIS Engine的优势之一就是其跨平台性,既可以在Windows操作系统上使用,也可以在Linux操作系统上使用。但由于绝大部分用户都是在Windows上使用的,因此,对于Linux上如何安装ArcGIS Engine以及如何运行Engine应用程序并没有研究过。最近正好有用户问到Linux下ArcGIS Engine的安装问题,于是便动手搭建了Linux环境,进行了安装测试,过程有些曲

Arcgis Engine(ae)接口详解(5):IGeometry几何高级操作

ArcGIS Enginecannel 发表了文章 • 1 个评论 • 451 次浏览 • 2017-09-26 14:03 • 来自相关话题

IPoint point = new PointClass();
point.PutCoords(100, 200);

//ITopologicalOperator接口用于几何对象的几何操作
ITopologicalOperator topo = point as ITopologicalOperat

ArcGIS Engine中调用地理处理工具(gp工具)的方法与注意事项

ArcGIS Engine刘峥 发表了文章 • 0 个评论 • 493 次浏览 • 2017-07-05 00:00 • 来自相关话题

(以10.3版本下使用C#调用系统工具为例)
1. 在程序中调用gp是否需要安装Desktop软件?
不用安装Desktop软件,安装ArcGIS Engine运行时以后就可以调用gp工具。
2. 如何查看gp工具的许可级别?
可以直接在Desktop的帮助文档中定位到该工具的帮助页面,或者在Desktop软件中开启gp工具的执行页面,点击右下角的“tool help”按钮,也会弹出该工具的帮助页

【ArcGIS 10.5 产品白皮书】第四章 ArcGIS开发包---ArcGIS Engine

ArcGIS EngineArcGIS极客说 发表了文章 • 1 个评论 • 1437 次浏览 • 2017-04-14 00:00 • 来自相关话题

在许多应用中,用户需要通过定制应用或者在现有应用中增添GIS逻辑来实现对GIS的需求,而这些应用程序常常是运行在Windows和Linux上,ArcGIS Engine则被用来建立这样一些应用程序。ArcGIS Engine是ArcObjects组件跨平台应用的核心集合,它提供多种开发的接口,可以适应.NET,Java和C++等开发环境。开发者可以使用这些组件来开发和GIS相关的地图应用,应用程序

ArcGIS Engine中如何调用GP工具(二)

ArcGIS Engine朱新颖 发表了文章 • 1 个评论 • 909 次浏览 • 2017-04-13 00:00 • 来自相关话题

上一篇文章最后提到过GP工具的许可,这篇文章就详细讲解一下调用GP工具的许可问题,这也是Engine中调用GP工具出错最多的一类问题。除此之外,再介绍一下Engine中如何设置环境变量以及如何调用后台64位GP。首先看下最最重要的许可问题。
一、许可问题
ArcGIS按产品来说可以分为ArcGIS Desktop以及ArcGIS Engine(当然还包括ArcGIS Server、Portal f

ArcGIS Engine中如何调用GP工具(一)

ArcGIS Engine朱新颖 发表了文章 • 2 个评论 • 916 次浏览 • 2017-04-13 00:00 • 来自相关话题

相信用过ArcGIS的用户都会有这样一个感受,那就是功能太强大了!尤其是其提供了超过900个地理处理(Geoprocessing,简称GP)工具,可以快速地实现数据分析、数据管理以及数据转换等功能。在ArcGIS Engine的开发过程中也必不可少的会遇到调用GP工具的问题,这也是用户问的最多的一类问题,那么ArcGIS Engine中如何调用GP工具?参数怎么写?有哪些注意事项?如何获取报错信息