

The available linear units of measure.
| Factory Code | Unit Name |
|---|---|
| 9001 | International meter |
| 9002 | International foot |
| 9003 | US survey foot |
| 9005 | Clarke's foot |
| 9014 | Fathom |
| 9030 | International nautical mile |
| 9031 | German legal meter |
| 9033 | US survey chain |
| 9034 | US survey link |
| 9035 | US survey mile |
| 9036 | Kilometer |
| 9037 | Yard (Clarke's ratio) |
| 9038 | Chain (Clarke's ratio) |
| 9039 | Link (Clarke's ratio) |
| 9040 | Yard (Sears) |
| 9041 | Sear's foot |
| 9042 | Chain (Sears) |
| 9043 | Link (Sears) |
| 9050 | Yard (Benoit 1895 A) |
| 9051 | Foot (Benoit 1895 A) |
| 9052 | Chain (Benoit 1895 A) |
| 9053 | Link (Benoit 1895 A) |
| 9060 | Yard (Benoit 1895 B) |
| 9061 | Foot (Benoit 1895 B) |
| 9062 | Chain (Benoit 1895 B) |
| 9063 | Link (Benoit 1895 B) |
| 9070 | Foot (1865) |
| 9080 | Indian geodetic foot |
| 9081 | Indian foot (1937) |
| 9082 | Indian foot (1962) |
| 9083 | Indian foot (1975) |
| 9084 | Indian yard |
| 9085 | Indian yard (1937) |
| 9086 | Indian yard (1962) |
| 9087 | Indian yard (1975) |
| 9093 | Statute mile |
| 9094 | Gold Coast foot |
| 9095 | British foot (1936) |
| 9096 | International yard |
| 109002 | US survey yard |
| 109003 | International Chain |
| 109004 | International Link |
| 109005 | Decimeter |
| 109006 | Centimeter |
| 109007 | Millimeter |
| 109008 | International inch |
| 109009 | US survey inch |
| 109010 | International rod |
| 109011 | US survey rod |
| 109012 | US nautical mile (pre 1954) |
| 109013 | UK nautical mile (pre 1970) |
| 109016 | Point |
| 109030 | 50 kilometer length |
| 109031 | 150 kilometer length |
| 109406 | US square foot |
{
//Create a new layout using a modified CIM and open it.
//The CIM exposes additional members that may not be
//available through the managed API.
//In this example, optional guides are added.
//Create a new CIMLayout on the worker thread
//Note: Needs QueuedTask to run
//Set up a CIM page
CIMPage newPage = new CIMPage
{
//required parameters
Width = 8.5,
Height = 11,
Units = LinearUnit.Inches,
//optional rulers
ShowRulers = true,
SmallestRulerDivision = 0.5,
//optional guides
ShowGuides = true
};
CIMGuide guide1 = new CIMGuide
{
Position = 1,
Orientation = Orientation.Vertical
};
CIMGuide guide2 = new CIMGuide
{
Position = 6.5,
Orientation = Orientation.Vertical
};
CIMGuide guide3 = new CIMGuide
{
Position = 1,
Orientation = Orientation.Horizontal
};
CIMGuide guide4 = new CIMGuide
{
Position = 10,
Orientation = Orientation.Horizontal
};
List<CIMGuide> guideList = new List<CIMGuide>
{
guide1,
guide2,
guide3,
guide4
};
newPage.Guides = guideList.ToArray();
//Construct the new layout using the customized cim definitions
var layout_local = LayoutFactory.Instance.CreateLayout(newPage);
layout_local.SetName("New 8.5x11 Layout");
//Open new layout on the GUI thread
await ProApp.Panes.CreateLayoutPaneAsync(layout_local);
}
{
// This example create a new spatial map series and then applies it to the active layout. This will automatically
// overwrite an existing map series if one is already present.
//Note: Must be on QueuedTask.Run;
//SpatialMapSeries constructor - required parameters
BasicFeatureLayer indexLyr = map.FindLayers("Countries").FirstOrDefault() as BasicFeatureLayer;
SpatialMapSeries SMS = MapSeries.CreateSpatialMapSeries(layout, mapFrame, indexLyr, "Name");
//Set optional, non-default values
SMS.CategoryField = "Continent";
SMS.SortField = "Population";
SMS.ExtentOptions = ExtentFitType.BestFit;
SMS.MarginType = ArcGIS.Core.CIM.UnitType.PageUnits;
SMS.MarginUnits = ArcGIS.Core.Geometry.LinearUnit.Centimeters;
SMS.Margin = 1;
SMS.ScaleRounding = 1000;
layout.SetMapSeries(SMS); //Overwrite existing map series.
}
{
//Note: Call within QueuedTask.Run()
//The fields in the datasource used for the report
//This uses a US Cities dataset
var listFields = new List<CIMReportField> {
//Grouping should be the first field
new CIMReportField{Name = "STATE_NAME", FieldOrder = 0, Group = true, SortInfo = FieldSortInfo.Desc}, //Group cities using STATES
new CIMReportField{Name = "CITY_NAME", FieldOrder = 1},
new CIMReportField{Name = "POP1990", FieldOrder = 2, },
};
//Definition query to use for the data source
var defQuery = "STATE_NAME LIKE 'C%'";
//Define the Datasource
var reportDataSource = new ReportDataSource(featureLayer, defQuery, listFields);
//The CIMPage defintion - page size, units, etc
var cimReportPage = new CIMPage
{
Height = 11,
StretchElements = false,
Width = 6.5,
ShowRulers = true,
ShowGuides = true,
Margin = new CIMMargin { Bottom = 1, Left = 1, Right = 1, Top = 1 },
Units = LinearUnit.Inches
};
//Report template
var reportTemplates = await ReportTemplateManager.GetTemplatesAsync();
var reportTemplate = reportTemplates.Where(r => r.Name == "Attribute List with Grouping").First();
//Report Styling
var reportStyles = await ReportStylingManager.GetStylingsAsync();
var reportStyle = reportStyles.Where(s => s == "Cool Tones").First();
//Field Statistics
var fieldStatisticsList = new List<ReportFieldStatistic> {
new ReportFieldStatistic{ Field = "POP1990", Statistic = FieldStatisticsFlag.Sum}
//Note: NoStatistics option for FieldStatisticsFlag is not supported.
};
var newReport = ReportFactory.Instance.CreateReport("USAReport", reportDataSource, cimReportPage, fieldStatisticsList, reportTemplate, reportStyle);
}
System.Object
ArcGIS.Core.Geometry.Unit
ArcGIS.Core.Geometry.LinearUnit
Target Platforms: Windows 11 Home, Pro, Enterprise (64 bit)