ArcGIS Runtime SDK for iOS: AGSLabelDefinition.h Source File
ArcGIS Runtime SDK for iOS  100.11
AGSLabelDefinition.h
Go to the documentation of this file.
1 /*
2  COPYRIGHT 2021 ESRI
3 
4  All rights reserved under the copyright laws of the United States
5  and applicable international laws, treaties, and conventions.
6 
7  This material is licensed for use under the Esri Master License
8  Agreement (MLA), and is bound by the terms of that agreement.
9  You may redistribute and use this code without modification,
10  provided you adhere to the terms of the MLA and include this
11  copyright notice.
12 
13  See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english
14 
15  For additional information, contact:
16  Environmental Systems Research Institute, Inc.
17  Attn: Contracts and Legal Services Department
18  380 New York Street
19  Redlands, California, 92373
20  USA
21 
22  email: contracts@esri.com
23  */
24  //Required for Globals API doc
26 
27 #import <Foundation/Foundation.h>
28 #import <CoreGraphics/CGBase.h>
29 #import <ArcGIS/AGSObject.h>
30 #import <ArcGIS/AGSJSONSerializable.h>
31 #import <ArcGIS/AGSLabelingInfo.h>
32 
33 
34 
38 typedef NS_ENUM(NSInteger, AGSLabelDeconflictionStrategy) {
43 };
44 
48 typedef NS_ENUM(NSInteger, AGSLabelLineConnection) {
53 };
54 
58 typedef NS_ENUM(NSInteger, AGSLabelMultipartStrategy) {
64 };
65 
69 typedef NS_ENUM(NSInteger, AGSLabelOverlapStrategy) {
74 };
75 
79 typedef NS_ENUM(NSInteger, AGSLabelOverrunStrategy) {
83 };
84 
89 typedef NS_ENUM(NSInteger, AGSLabelRemoveDuplicatesStrategy) {
95 };
96 
100 typedef NS_ENUM(NSInteger, AGSLabelRepeatStrategy) {
104 };
105 
110 typedef NS_ENUM(NSInteger, AGSLabelTextLayout) {
116 };
117 
121 typedef NS_ENUM(NSInteger, AGSLabelTextOrientation) {
125 };
126 
137 typedef NS_ENUM(NSInteger, AGSLabelStackAlignment) {
141 };
142 
148 typedef NS_ENUM(NSInteger, AGSLabelStackBreakPosition) {
152 };
153 
157 typedef NS_ENUM(NSInteger, AGSLabelStackStrategy) {
161 };
162 
163 @class AGSLabelExpression;
165 @class AGSTextSymbol;
166 @class AGSLabelAngle;
167 
224 
225 #pragma mark -
226 #pragma mark initializers
227 
233 - (instancetype)initWithLabelExpression:(AGSLabelExpression *)labelExpression
234  textSymbol:(nullable AGSTextSymbol *)textSymbol;
235 
241 + (instancetype)labelDefinitionWithLabelExpression:(AGSLabelExpression *)labelExpression
242  textSymbol:(nullable AGSTextSymbol *)textSymbol;
243 
244 #pragma mark -
245 #pragma mark properties
246 
260 @property (nullable, nonatomic, strong, readwrite) AGSLabelAngle *angle;
261 
268 @property (nonatomic, assign, readwrite) AGSLabelDeconflictionStrategy deconflictionStrategy;
269 
282 @property (nonatomic, strong, readwrite) AGSLabelExpression *expression;
283 
289 @property (nonatomic, assign, readwrite) AGSLabelOverlapStrategy featureBoundaryOverlapStrategy;
290 
296 @property (nonatomic, assign, readwrite) AGSLabelOverlapStrategy featureInteriorOverlapStrategy;
297 
303 @property (nonatomic, assign, readwrite) AGSLabelOverlapStrategy labelOverlapStrategy;
304 
310 @property (nonatomic, assign, readwrite) AGSLabelLineConnection lineConnection;
311 
319 @property (nonatomic, assign, readwrite) double maxScale;
320 
328 @property (nonatomic, assign, readwrite) double minScale;
329 
334 @property (nonatomic, assign, readwrite) AGSLabelMultipartStrategy multipartStrategy;
335 
342 @property (nonatomic, copy, readwrite) NSString *name;
343 
352 @property (nonatomic, assign, readwrite) CGFloat offsetDistance;
353 
359 @property (nonatomic, assign, readwrite) AGSLabelOverrunStrategy overrunStrategy;
360 
369 @property (nonatomic, assign, readwrite) AGSLabelingPlacement placement;
370 
391 @property (nonatomic, assign, readwrite) double priority;
392 
399 @property (nonatomic, assign, readwrite) CGFloat removeDuplicatesDistance;
400 
409 @property (nonatomic, assign, readwrite) AGSLabelRemoveDuplicatesStrategy removeDuplicatesStrategy;
410 
419 @property (nonatomic, assign, readwrite) CGFloat repeatDistance;
420 
427 @property (nonatomic, assign, readwrite) AGSLabelRepeatStrategy repeatStrategy;
428 
443 @property (nonatomic, assign, readwrite) AGSLabelStackAlignment stackAlignment;
444 
456 @property (nonatomic, assign, readwrite) AGSLabelStackBreakPosition stackBreakPosition;
457 
469 @property (nonatomic, assign, readwrite) double stackRowLength;
470 
495 @property (nonatomic, copy, readwrite) NSArray<AGSLabelStackSeparator *> *stackSeparators;
496 
504 @property (nonatomic, assign, readwrite) AGSLabelStackStrategy stackStrategy;
505 
521 @property (nonatomic, assign, readwrite) AGSLabelTextLayout textLayout;
522 
534 @property (nonatomic, assign, readwrite) AGSLabelTextOrientation textOrientation;
535 
540 @property (nullable, nonatomic, strong, readwrite) AGSTextSymbol *textSymbol;
541 
549 @property (nonatomic, assign, readwrite) BOOL useCodedValues;
550 
560 @property (nonatomic, copy, readwrite) NSString *whereClause;
561 
562 @end
563 
565 
572 - (instancetype)init ;
573 
580 + (instancetype)labelDefinition ;
581 
582 @end
583 
584 
AGSLabelOverlapStrategy
Definition: AGSLabelDefinition.h:69
@ AGSLabelOverlapStrategyAllow
Definition: AGSLabelDefinition.h:71
@ AGSLabelOverlapStrategyExclude
Definition: AGSLabelDefinition.h:73
@ AGSLabelOverlapStrategyAutomatic
Definition: AGSLabelDefinition.h:70
@ AGSLabelOverlapStrategyAvoid
Definition: AGSLabelDefinition.h:72
AGSLabelOverrunStrategy
Definition: AGSLabelDefinition.h:79
@ AGSLabelOverrunStrategyAutomatic
Definition: AGSLabelDefinition.h:80
@ AGSLabelOverrunStrategyAllow
Definition: AGSLabelDefinition.h:82
@ AGSLabelOverrunStrategyNone
Definition: AGSLabelDefinition.h:81
AGSLabelStackBreakPosition
Definition: AGSLabelDefinition.h:148
@ AGSLabelStackBreakPositionBefore
Definition: AGSLabelDefinition.h:151
@ AGSLabelStackBreakPositionAfter
Definition: AGSLabelDefinition.h:150
@ AGSLabelStackBreakPositionAutomatic
Definition: AGSLabelDefinition.h:149
AGSLabelDeconflictionStrategy
Definition: AGSLabelDefinition.h:38
@ AGSLabelDeconflictionStrategyDynamic
Definition: AGSLabelDefinition.h:40
@ AGSLabelDeconflictionStrategyNone
Definition: AGSLabelDefinition.h:41
@ AGSLabelDeconflictionStrategyStatic
Definition: AGSLabelDefinition.h:42
@ AGSLabelDeconflictionStrategyAutomatic
Definition: AGSLabelDefinition.h:39
AGSLabelStackStrategy
Definition: AGSLabelDefinition.h:157
@ AGSLabelStackStrategyAllow
Definition: AGSLabelDefinition.h:160
@ AGSLabelStackStrategyNone
Definition: AGSLabelDefinition.h:159
@ AGSLabelStackStrategyAutomatic
Definition: AGSLabelDefinition.h:158
AGSLabelTextLayout
Definition: AGSLabelDefinition.h:110
@ AGSLabelTextLayoutFollowFeature
Definition: AGSLabelDefinition.h:115
@ AGSLabelTextLayoutAutomatic
Definition: AGSLabelDefinition.h:111
@ AGSLabelTextLayoutStraight
Definition: AGSLabelDefinition.h:114
@ AGSLabelTextLayoutHorizontal
Definition: AGSLabelDefinition.h:112
@ AGSLabelTextLayoutPerpendicular
Definition: AGSLabelDefinition.h:113
AGSLabelStackAlignment
Definition: AGSLabelDefinition.h:137
@ AGSLabelStackAlignmentTextSymbol
Definition: AGSLabelDefinition.h:140
@ AGSLabelStackAlignmentDynamic
Definition: AGSLabelDefinition.h:139
@ AGSLabelStackAlignmentAutomatic
Definition: AGSLabelDefinition.h:138
AGSLabelMultipartStrategy
Definition: AGSLabelDefinition.h:58
@ AGSLabelMultipartStrategyLabelPerSegment
Definition: AGSLabelDefinition.h:63
@ AGSLabelMultipartStrategyLabelPerPart
Definition: AGSLabelDefinition.h:62
@ AGSLabelMultipartStrategyAutomatic
Definition: AGSLabelDefinition.h:59
@ AGSLabelMultipartStrategyLabelLargest
Definition: AGSLabelDefinition.h:60
@ AGSLabelMultipartStrategyLabelPerFeature
Definition: AGSLabelDefinition.h:61
AGSLabelRemoveDuplicatesStrategy
Definition: AGSLabelDefinition.h:89
@ AGSLabelRemoveDuplicatesStrategyNone
Definition: AGSLabelDefinition.h:94
@ AGSLabelRemoveDuplicatesStrategyLabelClass
Definition: AGSLabelDefinition.h:93
@ AGSLabelRemoveDuplicatesStrategyAll
Definition: AGSLabelDefinition.h:91
@ AGSLabelRemoveDuplicatesStrategyFeatureType
Definition: AGSLabelDefinition.h:92
@ AGSLabelRemoveDuplicatesStrategyAutomatic
Definition: AGSLabelDefinition.h:90
AGSLabelRepeatStrategy
Definition: AGSLabelDefinition.h:100
@ AGSLabelRepeatStrategyNone
Definition: AGSLabelDefinition.h:102
@ AGSLabelRepeatStrategyAutomatic
Definition: AGSLabelDefinition.h:101
@ AGSLabelRepeatStrategyRepeat
Definition: AGSLabelDefinition.h:103
AGSLabelTextOrientation
Definition: AGSLabelDefinition.h:121
@ AGSLabelTextOrientationAutomatic
Definition: AGSLabelDefinition.h:122
@ AGSLabelTextOrientationDirection
Definition: AGSLabelDefinition.h:123
@ AGSLabelTextOrientationScreen
Definition: AGSLabelDefinition.h:124
AGSLabelLineConnection
Definition: AGSLabelDefinition.h:48
@ AGSLabelLineConnectionUnambiguousLabels
Definition: AGSLabelDefinition.h:52
@ AGSLabelLineConnectionMinimizeLabels
Definition: AGSLabelDefinition.h:50
@ AGSLabelLineConnectionAutomatic
Definition: AGSLabelDefinition.h:49
@ AGSLabelLineConnectionNone
Definition: AGSLabelDefinition.h:51
AGSLabelingPlacement
Definition: AGSLabelingInfo.h:36
Definition: AGSLabelDefinition.h:564
Specifies how to calculate the angular position and layout direction for labels on or around point fe...
Definition: AGSLabelAngle.h:52
An object that defines the text, appearance, and position of labels for features within a given scale...
Definition: AGSLabelDefinition.h:223
AGSLabelOverlapStrategy featureBoundaryOverlapStrategy
Definition: AGSLabelDefinition.h:289
AGSLabelStackStrategy stackStrategy
Definition: AGSLabelDefinition.h:504
NSString * name
Definition: AGSLabelDefinition.h:342
AGSLabelRemoveDuplicatesStrategy removeDuplicatesStrategy
Definition: AGSLabelDefinition.h:409
AGSLabelLineConnection lineConnection
Definition: AGSLabelDefinition.h:310
AGSLabelOverrunStrategy overrunStrategy
Definition: AGSLabelDefinition.h:359
AGSLabelingPlacement placement
Definition: AGSLabelDefinition.h:369
CGFloat removeDuplicatesDistance
Definition: AGSLabelDefinition.h:399
NSArray< AGSLabelStackSeparator * > * stackSeparators
Definition: AGSLabelDefinition.h:495
AGSLabelStackAlignment stackAlignment
Definition: AGSLabelDefinition.h:443
NSString * whereClause
Definition: AGSLabelDefinition.h:560
AGSTextSymbol * textSymbol
Definition: AGSLabelDefinition.h:540
AGSLabelExpression * expression
Definition: AGSLabelDefinition.h:282
double maxScale
Definition: AGSLabelDefinition.h:319
CGFloat offsetDistance
Definition: AGSLabelDefinition.h:352
BOOL useCodedValues
Definition: AGSLabelDefinition.h:549
double minScale
Definition: AGSLabelDefinition.h:328
AGSLabelOverlapStrategy featureInteriorOverlapStrategy
Definition: AGSLabelDefinition.h:296
AGSLabelStackBreakPosition stackBreakPosition
Definition: AGSLabelDefinition.h:456
AGSLabelOverlapStrategy labelOverlapStrategy
Definition: AGSLabelDefinition.h:303
AGSLabelAngle * angle
Definition: AGSLabelDefinition.h:260
AGSLabelMultipartStrategy multipartStrategy
Definition: AGSLabelDefinition.h:334
AGSLabelTextOrientation textOrientation
Definition: AGSLabelDefinition.h:534
AGSLabelDeconflictionStrategy deconflictionStrategy
Definition: AGSLabelDefinition.h:268
double stackRowLength
Definition: AGSLabelDefinition.h:469
AGSLabelRepeatStrategy repeatStrategy
Definition: AGSLabelDefinition.h:427
AGSLabelTextLayout textLayout
Definition: AGSLabelDefinition.h:521
CGFloat repeatDistance
Definition: AGSLabelDefinition.h:419
double priority
Definition: AGSLabelDefinition.h:391
Abstract base class for the different types of expressions that can be used to create label text....
Definition: AGSLabelExpression.h:40
A separator character in a label, where a line break may be inserted in long text.
Definition: AGSLabelStackSeparator.h:53
Definition: AGSObject.h:28
A text symbol.
Definition: AGSTextSymbol.h:93
A protocol to convert objects to and from JSON.
Definition: AGSJSONSerializable.h:38