RLMgeospatialPolygon
Objective-C
@interface RLMGeospatialPolygon : NSObject <RLMGeospatial>
Swift
class RLMGeospatialPolygon : NSObject, RLMGeospatial, @unchecked Sendable
地理空間geoWithin
クエリで使用できる多角形を表すクラス。
RLMGeospatialPolygon
は、 outerRing
と呼ばれる と外側のPolygon
に準拠し、 holes
と呼ばれる 0 個以上の内部Polygon
に準拠した形状を記述します。これは、外側のPolygon
内の内部穴の数が無制限を表すものです。 Polygon
は少なくとも 3 つのセグメントに準拠した形状を記述します。閉じた多角形を示すには、最後の RLMGeospatialPoint
と最初のが同じである必要があります(つまり、多角形を定義するには少なくとも 4 つのポイントが必要)。 RLMGeospatialPolygon
内の穴は完全に外側の円内になければなりません
hole
には次の制限があります。
- 穴はまたがることはできません。つまり、層の境界は他の層の層と層の両方と交差することはできません。
- 穴はエッジを共有しない場合があります。つまり、穴にエッジ AB が含まれている場合、他の層にはそれが含まれていない場合があります。
- 穴は垂直方向を共有する場合がありますが、単一の穴にドライバーが 2 回表示されることはありません。
- 空の穴はありません。
ネストは 1 つのみです。
警告
このクラスは永続化することができず、地理空間geoWithin
クエリ内でのみ使用できます。
-
多角形の外側(外側)の円。
宣言
Objective-C
@property (strong, readonly) NSArray<RLMGeospatialPoint *> *_Nonnull outerRing;
Swift
var outerRing: [RLMGeospatialPoint] { get }
-
多角形の穴(存在する場合)。
宣言
Objective-C
@property (strong, readonly, nullable) NSArray<NSArray<RLMGeospatialPoint *> *> *holes;
Swift
var holes: [[RLMGeospatialPoint]]? { get }
-
外側の円と穴(存在する場合)を使用して
RLMGeospatialPolygon
を初期化します。多角形(外側の円または穴)を表す
RLMGeospatialPoints
に少なくとも 4 つのポイントがない場合、nil
を返します。 多角形内の最初と最後のRLMGeospatialPoint
が同じでない場合はnil
を返します。宣言
Objective-C
- (nullable instancetype)initWithOuterRing: (nonnull NSArray<RLMGeospatialPoint *> *)outerRing;
Swift
init?(outerRing: [RLMGeospatialPoint])
パラメーター
outerRing
多角形の外側(外側)の円。
-
外側の円と穴(存在する場合)を使用して
RLMGeospatialPolygon
を初期化します。多角形(外側の円または穴)を表す
RLMGeospatialPoints
に少なくとも 4 つのポイントがない場合、nil
を返します。 多角形内の最初と最後のRLMGeospatialPoint
が同じでない場合はnil
を返します。宣言
Objective-C
- (nullable instancetype) initWithOuterRing:(nonnull NSArray<RLMGeospatialPoint *> *)outerRing holes: (nullable NSArray<NSArray<RLMGeospatialPoint *> *> *)holes;
Swift
init?(outerRing: [RLMGeospatialPoint], holes: [[RLMGeospatialPoint]]?)
パラメーター
outerRing
多角形の外側(外側)の円。
holes
多角形の穴(存在する場合)。