POST
|
Answering my own question after searching the old forum again. Eventually I will port all of that knowledge over here and then ESRI can create a new forum so we have three to search. The answer is it is an ESRI.ArcGIS.esriSystem.ISet not an enumerator that is named as such. Let's make the old forum searchable from here.
... View more
11-08-2011
04:03 PM
|
0
|
0
|
373
|
POST
|
I'm trying to get a list of Layers selected in the Table of Contents. That is they are highlighted whether they are checked on or off in the tick box. When I get the selected item and a single layer is selected in the ToC the returned object is an ILayer. However if more than one layer is selected it is not an IEnumLayer which I thought was logical and it is not a System.Array which seemed to be alluded to but not stated specifically. It is stated that the return value could be an enum but I don't know which Enum type to cast to. In the code below if multiple layers are selected in the ToC what is the type of object x?
IMxDocument mxDocument = (IMxDocument)ChangeMultipleSymbology_AddIn.ArcMap.Document;
IActiveView activeView = (IActiveView)mxDocument.ActiveView;
IContentsView contentsView = (IContentsView)mxDocument.CurrentContentsView;
System.Object x = contentsView.SelectedItem;
If there is a better way to get a list of values that are selected in the ToC I am open to suggestions.
... View more
11-08-2011
03:40 PM
|
0
|
3
|
642
|
POST
|
It looks like you can shuffle anything about using ITransform2D. I have used it to move my combined elements. I assume it works for other map document Elements also. This means that I just create the element off to the side one over the other and then shift it to the place on the map document I need it. Cheers
... View more
10-30-2011
04:34 PM
|
0
|
0
|
305
|
POST
|
Cheers for the info. Part of the reason I wanted to move grouped data is that they are created dynamically and then need to be placed. This means that figuring out the location and sticking the text in the middle was a major issue. I am now setting the location of the text inside a drawn box by using the font size and associated proportions. I will try and post the code if it holds up after testing.
... View more
10-16-2011
05:10 PM
|
0
|
0
|
305
|
POST
|
Does anyone know how to move a Group Element or even just a regular old ELement to a specific XY on the Layout View? I've tried setting it like I do for the Text Element below but just change ITextElement for IGroupElement and TextElementCLass for GroupElementClass : ESRI.ArcGIS.Carto.IElement element = new ESRI.ArcGIS.Carto.TextElementClass(); ESRI.ArcGIS.Carto.ITextElement textElement = (ESRI.ArcGIS.Carto.ITextElement)element; ESRI.ArcGIS.Geometry.IPoint point = new ESRI.ArcGIS.Geometry.PointClass(); point.X = 5; point.Y = 10; element_TableField.Geometry = point; But it fails with values outside expected range. Is there an easy way to set the Anchor Point to a specific XY coordinate on the Page Layout? This would be really good if it can be moved as IElement so I can use it for everything. It is painfully easy in Python but not being able to create Elements kind of ruined the good time I was having there...
... View more
10-13-2011
12:02 AM
|
0
|
3
|
918
|
POST
|
Awesome, this had already been answered on the old forum but using the new search did not pull it up. http://forums.esri.com/Thread.asp?c=93&f=1170&t=193441 For those of you who couldn't be bothered clicking you just have to set the Font to something. for example: Font.Name = "Arial"; It is still a bug as far as I am concerned because I don't want to change the font or have to account for this when I write the script. Plans to migrate old information to the new forum?
... View more
10-11-2011
11:02 PM
|
0
|
0
|
361
|
POST
|
When I use the following script I cannot set the font size to below 13. This works when I try font sizes 13 and above (converts 13 to 12.75). The data comes in as a string but this should not make a difference otherwise it would fail the conversion to Decimal. The exception I get is the "value not within expected range". ESRI.ArcGIS.Carto.IElement element = new ESRI.ArcGIS.Carto.TextElementClass(); ESRI.ArcGIS.Carto.ITextElement textElement = (ESRI.ArcGIS.Carto.ITextElement)element; textElement.Text = elementString; stdole.IFontDisp font = (stdole.IFontDisp)new stdole.StdFontClass(); font.Size = System.Convert.ToDecimal(textSize); ESRI.ArcGIS.Display.ITextSymbol symbol = textElement.Symbol; symbol.Font = font; //FAILS HERE if textSize > 12 textElement.Symbol = symbol; This seems to be a bug as the lowest value in ArcMap is 5 but more importantly the default value is 12 which I cannot set either. I am also not sure why I must explicilty set "textElement.Symbol = symbol" as I assumed it was referencing it anyway.
... View more
10-11-2011
10:48 PM
|
0
|
2
|
545
|
POST
|
This temporary xxScript.py is fine. What you need to do is open the Properties, select validation and then Edit. From this point do not close the Properties window as it seems to break a link between the xxScript.py file that is open and the properties. Then edit the Python script and save it. Then you can press Apply in the properties window. If you press apply before saving it will fail and break the link so if you save later and Apply it will show no change. Also once you have pressed Apply once it seems to break the link so to edit you have to open a new edit session and this will probably be xxScript2.py or some such. I'm up to about xxScript40.py at the moment. It is kind of a work around because I don't think it works as well as it could but it should work as long as you proceed like this.
... View more
09-19-2011
05:16 PM
|
0
|
0
|
236
|
POST
|
Layer below can be full path and shapefile or a feature layer etc. desc = arcpy.Describe('C:/shapefile.shp') geometryType = desc.shapeType if geometryType == 'polygon': print 'Polygon' elif geometryType == 'point' ...
... View more
09-14-2011
08:00 PM
|
1
|
0
|
3996
|
POST
|
Nice bit of code. Very tidy and I imagine it will work in most cases. I slapped myself on the head when I saw it as I had envisaged doing it the hard way by finding out all the possible file extensions for each file type. The benfit is it will also work with MapInfo files and quite a few others. Thanks, I will definitely be using it As you say it would not work for Feature Classes or Datasets but I wonder whether this would be feasible anyway as they are not so much individual entities that have a distinct size rather they are a part of the greater GDB. The only downfall is that it will not work on some of the imagery data I have which is used quite extensively. Particularly ER Mapper format imagery files. Even though they are in BIL format they do not have a file extension. In this case a generic extension solution would not work. Likewise, ER Mapper ERS files in general may not necessarily carry the same names as the file (e.g. ECW) they reference as the linkage is created internally to the ERS not by associated name. Both of these have a pretty simple work arounds but looking at the bigger picture it could be a fair bit of time and effort to discover, work out and code the work arounds for all the data types available in ListDatasets.
... View more
09-14-2011
07:28 PM
|
0
|
0
|
1217
|
POST
|
I was wondering if there was a way to get file sizes from a shapefile or other multi part spatial file as a single command. For instance a shapefile is comprised of the several files including SHP, DBF, SHX, etc... and would involve getting info for each of the parts if done using regular Python. While I can use the os.path.getfilesize('fileName') command it does not take into account the other information that is not specifically the SHP file. While it would not be too difficult to write a one off for say a shapefile it would require writing one for each multi part file type in 'ListDatasets'.
... View more
09-14-2011
04:24 PM
|
0
|
5
|
2225
|
POST
|
Yes, just needed to add the info there in File... Map Docuemnt Properties... Title I thought it was getting pulled straight from the file name. Thanks.
... View more
09-09-2011
12:15 AM
|
0
|
0
|
379
|
POST
|
Okay most of that stuff in here before was redundant so it seems. New toolbox, new Script. No changes made to validation. No input at all. Just a straight run of the script does not work. import arcpy mxd = arcpy.mapping.MapDocument("current") arcpy.AddMessage(mxd.title) Hopefully that is a bit easier to answer cos I reckon I must be missing something really, really simple.
... View more
09-06-2011
01:16 AM
|
0
|
6
|
697
|
POST
|
I encountered this problem running a Python script and the only related thread states the solution is running 'Describe' rather than 'DescibeData'. The problem is then resolved but as a work around rather than a solution. However it is stated specifically that 'Describe' was being used in the first place. http://forums.arcgis.com/search.php?searchid=654992 I am encountering the same problem and am definitely using 'Describe' also. Specifically desc = arcpy.Describe('C:\\image.ers\\Band_1') datum = desc.spatialReference.datumName cellSizeVal = desc.meanCellWidth The reason I am using Band_1 is that the Mean Cell Width method only works on some of the data when I specify this. Otherwise the error "DescribeData: Method meanCellWidth does not exist" occurs. Once again this is a reference to 'DescribeData' when using 'Describe'. On the other hand sometimes 'Band_1' does not exist for DEM files. I would have thought this referenced only a single band with a default of Band_1 for us people out here in user land. Should I remove 'Band_1' from the Describe input then I get the same "DescribeData: Method spatialReference does not exist" error again. In addition to this I also get nothing as a value in some cases when I run the 'desc.spatialReference.datumName' method and it does not produce an IOError. While this is a legitimate failure of a user to assign a coordinate system in some cases in others the data is found easily in ArcCatalog.
... View more
09-05-2011
08:13 PM
|
2
|
3
|
7066
|
Title | Kudos | Posted |
---|---|---|
2 | 09-05-2011 08:13 PM | |
1 | 09-14-2011 08:00 PM |
Online Status |
Offline
|
Date Last Visited |
01-07-2024
04:01 PM
|