POST
|
Does anyone know where the ArcGIS for IOS 2.2.1 API documentation is? I can't find it anymore.
... View more
08-15-2016
08:10 AM
|
0
|
1
|
1071
|
POST
|
Have you tried using a unique value renderer? Oh yes, you just made me realize another constraint... the users can apply their own renderers, so I need something that can be applied to the outlines of the parcel polygons separately from the unique values / class breaks / simple renderers. They may have a renderer in place, then I would come along after them in code and apply an outline color or style to a certain group of individual parcels who's identification is totally separate from the where clause used by their unique value renderer. (for example)
... View more
03-20-2013
06:31 AM
|
0
|
0
|
148
|
POST
|
My Environment... Visual Studio 2008 VB.NET ArcObjects 10.0 I have no clue where to even start on this. Say you're given a layer that is a Simple Polygon File Geodatabase Feature Class which resides in a GDB. The layer contains 500,000+ polygons, each of which represent a property parcel. Your users have been using various bitmap markers to indicate some status on a parcel The markers are placed in code via IGraphicsContainer.AddElement(IElement) The problem your users have run into is that when they have a label AND a marker on the same parcel, they compete with each other for placement, and one hides the other depending on who wins the internal struggle inside ESRI's code base. So the users are seeing either the label, or the marker, but not both. So they would like a way to show the labels (within their scale range) AND a colorized parcel polygon outline simultaneously instead of having labels randomly blocked out by markers. So instead of a given color and shape marker, they would like to use each parcel polygon's outline color as the indicator. The problem is, a user can place a different color, size, shape marker on a parcel by parcel basis giving them a lot of flexibility to indicate meaning, but there is no clear easy way to color the lines of a parcel polygon on a parcel by parcel basis that I am aware of, and which is very high performing, allowing 5,000 or so parcels to be individually line colorized and drawn extremely fast when panning/zooming. In other words, don't noticeably degrade the existing performance with the given solution. What would you do in this situation? Best answer wins an all expense paid cruise on any one of the many broken down Carnival Cruises ships.
... View more
03-19-2013
01:04 PM
|
0
|
2
|
546
|
POST
|
My Environment Visual Studio 2008 ArcObjects 10.0 VB.NET I'm using IFeatureLayerDefinition2.DefinitionExpression, and nothing else on that interface. The layer i'm using it on is a polygon layer with 600,000 features. The layer's ITable has ONLY 2 FIELDS ... Shape and ObjectID The problem is the IFeatureLayerDefinition interface does not allow for supplying a table of values to use for the DefinitionExpression. Instead it ONLY accepts a string, probably because ESRI incorrectly assumed that people would only need to use a short fancy simple text string in order to specify the expression. Adding additional attribute fields to this layer's ITable is NOT an option, nor is joining the ITable to a Sql Table, because the performance is horrific (that's what I originally tried). You'll wait several minutes for an expression that results in only a handful of features, because of a bug in ArcEngine 10 that tries to send a billion sql queries to sql server in order to figure out what you're looking for. I already successfully identified a similar bug in ArcObjects in version 9.3 and it was accepted as a bug by ESRI. I have yet to submit this one, but will get around to it at some point. So, I need to be able to specify 5,000+ ObjectID's in my expression, but since the DefinitionExpression is simply a string, it tops out at some unknown length. It will return all values up to that length, but after that, nothing. I need to be able to do this with 5,000+ ObjectID's IFeatureLayerDefinition.DefinitionExpression = "OBJECTID IN (100000, 100001, 100002, 100003, 100004... and so on)" So how can I get around the string length limitation?
... View more
02-05-2013
10:11 PM
|
0
|
0
|
386
|
POST
|
Just for reference, may be wrong �?�Data Type: IFeatureLayer.DataSourceType �?�Feature Class: IFeatureLayer.featureClass �?�SERVER: IFeatureLayer.featureClass->Idataset->IpropertySet->GetProperty("Server") �?�INSTANCE:IFeatureLayer.featureClass->Idataset->IpropertySet->GetProperty("Instance") �?�Location:IFeatureLayer.featureClass->Idataset->IpropertySet->GetProperty("database") �?�AUTHENTICATION_MODE:IFeatureLayer.featureClass->Idataset->IpropertySet->GetProperty("AUTHENTICATION_MODE") �?�VERSION:IFeatureLayer.featureClass->Idataset->IpropertySet->GetProperty("version") Regards, Bing Thanks a lot. I'll try those and report back.
... View more
01-05-2012
03:07 PM
|
0
|
0
|
503
|
POST
|
I have some loaded layers in a map control, and I would like to get some information from these layers. Do you know what classes/interfaces I need to use in order to get the information that is displayed in a layer properties Source tab. (See attached pic) Keep in mind, these are ALREADY loaded layers. I'm not attempting nor able to load the layers myself and get the information at that point. (if that makes any difference) I'm looking for the data for these items Data Type: Feature Class: SERVER: INSTANCE: Location: AUTHENTICATION_MODE: VERSION: I already have the information for Feature Type Geometry Type
... View more
01-05-2012
02:20 PM
|
0
|
6
|
1098
|
POST
|
I recently migrated from version 9.3 to version 10. In the process I completely uninstalled 9.3 and did a fresh install of 10. Please see the attached image to see what I refer to below. Anyone know where this EDN ArcGIS Engine license came from? When I installed ArcEngine Runtime, and licensed it, I got the row in the ArcGis Administrator for that, and when I installed the Engine SDK, I got the row in the ArcGIS Administrator for that one. Then mysteriously a week or so later, this new one appeared, and it wasn't there from anything I installed. Thanks
... View more
12-01-2011
06:26 AM
|
0
|
0
|
555
|
POST
|
My environment Visual studio 2008 ArcEngine 10 VB.NET I choose to start a new project using an ArcGIS TEmplate, specifically, the "MapControl Application" Template. I didn't change a single line of code, I simply ran it, and it bombed with "You must have a license to use this ActiveX control" Keep in mind, their own template has code in the ApplicationEvents.vb file which checks out an Engine license. i have BOTH an engine license and desktop license on this computer. I looked at ESRI's own advice here... http://help.arcgis.com/en/sdk/10.0/arcobjects_net/conceptualhelp/index.html#//0001000002ns000000 ...which says to put the license checkout code in the form's Sub New() just before the call to InitializeComponent() So I did that, ran it, and it bombed again with same message. I attached the project so you could see for yourself. I also attached a pic of the relevant code. Notice in the immediate window that i have licenses. I don't know how to get this to work programmatically. I do NOT want to use a license control because of the nature of our application. People need to be able to start the application and use parts of it other than the map without checking out a map license, and the only way to do that is programmatically check out the license just before it's needed. Any help is appreciated. Thanks.
... View more
10-12-2011
02:38 PM
|
0
|
1
|
2074
|
POST
|
My environment Visual Studio 2008 Sql Server 2008 ArcEngine 9.3.1 VB.NET Parcel Layer About 650,000 parcels Sql Attribute Table being joined to. Approx 125 columns Approx 650,000 rows Please see the attached text file as well. It shows examples of the SQL statements captured by the SQL Profiler Trace. I join the parcel layer to an attribute table on Sql Server 2008. Basically, what I'm running into is enormous performance problems with certain labeling where clauses. ArcEngine, when it internally queries sql server, in some cases for some bizarre reason, decides NOT to use the where clause that I specified and instead queries for every single column and row in the whole attribute table. This results in a wait time of about 10 minutes before the labels appear. I can find no rhyme or reason as to why this behavior occurs, and perhaps its a bug within ArcEngine. It does not appear to have anything to do with the datatypes of the label expression, nor the datatypes of the fields in the specified where clauses. In many other cases, where ArcEngine works properly, it correctly uses my where clause when querying the attribute table, and the labels appear within seconds. Not only does it use the where clause, but it only queries for the parcels that are in the visible extent. In my attached file, in most of my tests, you'll notice each test has only 3 lines of SELECT statements, because ArcEngine was working properly and only queried for the visible parcels. In the attached file, I have included details about what the map scale was, the scale range in place when labeling was applied, the expression, and where clause, and the SQL statements caught by the SQL Profiler trace. In cases where it queried every row and column, I didn't pollute the attached file with that mess... just showed a few lines of the trace along with noting that that is what happened. If you can unlock the secret to this rediculousness, you are WAAYYY underpaid. Thanks
... View more
10-04-2011
07:30 PM
|
0
|
0
|
453
|
POST
|
Greetings, If you simply plan on loading the data as a layer, you can use the IRasterLayer object and load from file. All you need to do is point to the .sid file and ArcGIS will read the associated files. There are several code samples online. Robert Thanks a lot Robert. I'll give this a try and update this post with my results.
... View more
07-18-2011
03:28 PM
|
0
|
0
|
1877
|
POST
|
I found the problem... I needed to make it the current tool... Friend Sub BuildMapContextMenu()
_mapControlContextMenu.Items.Clear()
Dim inkToolMenuItem As ToolStripMenuItem = New ToolStripMenuItem("Highlight Tool", Nothing, AddressOf CallInkTool)
_mapControlContextMenu.Items.Insert(0, inkToolMenuItem)
End Sub
Friend Sub CallInkTool(ByVal sender As Object, ByVal e As System.EventArgs)
[INDENT]Dim cmd_ As ICommand = New ControlsInkHighlightTool
cmd_.OnCreate(Me.MapControl.Object)
IMapControl4.CurrentTool = cmd_
cmd_.OnClick()
[/INDENT]
End Sub
... View more
06-16-2011
01:52 PM
|
0
|
0
|
165
|
POST
|
I think Application comes with ArcMap, i.e. you have to be running the ArcGIS Desktop application to use this. I get the sense that you are writing a stand-alone application based on ArcEngine. You're correct, I am writing a standalone app based on ArcEngine. I revised my original post to reflect this fact.
... View more
06-16-2011
01:21 PM
|
0
|
0
|
162
|
POST
|
My Environment: ArcObjects 9.3.1 VB.NET Visual Studio 2008 I have built a user control (see attached pic) that uses the toolbar, table of contents control, and map control. I am trying to access built in commands to use through code. It's my understanding that to do this I need to be able to get to the CommandBars class by Application.Document.CommandBars.Find(UID) If a standalone application based on ArcEngine does not have Application, then how do people writing this type of application execute commands. If this is relevant, when I open a map document (mxd), this is the meat of the code involved in that... Private _esriIMapDoc As IMapDocument
Private _esriMapControl As ESRI.ArcGIS.Controls.AxMapControl
Public Sub OpenMxd(ByVal MxdFileNameAndPath As String)
_esriIMapDoc = New MapDocument
_esriIMapDoc.Open(MxdPathAndFileName, "")
_esriMapControl.Map = _esriIMapDoc.Map(0)
End Sub
... View more
06-16-2011
09:59 AM
|
0
|
2
|
354
|
POST
|
My environment: Visual Studio 2008 VB.NET ArcEngine 9.3.1 File Geodatabase I have a .NET Context Menu (right-click) that I have various commands on that have nothing to do with ESRI or any of ArcObjects. Just your ordinary vanilla .NET context menu. I would like to add to this .NET Context Menu, a ToolStripMenuItem that activates an ESRI command (or tool?). Normally that ESRI command (or tool) would be placed on an ESRI toolbar as a button. The ESRI command (or tool) I am interested in using has not been placed on any of my ESRI toolbars, nor do I want to. I don't care about showing the official ESRI icon for the command or anything, I just want to make the command (or tool) active when I click on the MenuItem on my .NET Context Menu. Can you point me to how to do this? Based on another post, I have gotten this far... Friend Sub BuildMapContextMenu()
_mapControlContextMenu.Items.Clear()
Dim inkToolMenuItem As ToolStripMenuItem = New ToolStripMenuItem("Highlight Tool", Nothing, AddressOf CallInkTool)
_mapControlContextMenu.Items.Insert(0, inkToolMenuItem)
End Sub
Friend Sub CallInkTool(ByVal sender As Object, ByVal e As System.EventArgs)
Dim cmd_ As ICommand = New ControlsInkHighlightTool
cmd_.OnCreate(Me.MapControl.Object)
cmd_.OnClick()
End Sub
The problem with this code though is that to tool only appears for a fraction of a second after I click the menu item. I have to click the menu item, and then immediately begin highlighting in order to get it to work. The tool won't remain active between highlights either. As soon as I complete one, it goes back to regular arrow cursor and I have to click the menu item again and immediately begin highlighting. Thanks a lot for any help.
... View more
06-15-2011
04:45 PM
|
0
|
1
|
794
|
Title | Kudos | Posted |
---|---|---|
1 | 08-15-2016 08:14 AM |
Online Status |
Offline
|
Date Last Visited |
11-11-2020
02:23 AM
|