GMSGeometria

Utilizzo geometria DASH

Corsi

strutturaPunto mappa GSM
 Un punto sulla mappa. Altro...

Typedefs

struct typedef DASHMapPointPunto mappa GSM
 Un punto sulla mappa.

Funzioni

Punto mappa GSMProgetto DASH (coordinata CLLocationCoordinate2D)
 Progetti coordinate alla mappa.
CLLocationCoordinate2DPer UnUngcloud (punto PageSpeedMapPoint)
 Annulla la proiezione di point dalla mappa.
Punto mappa GSMPageSpeedMapPoint
 Restituisce un punto interpolato proporzionalmente sul segmento [a, b], nella frazione t di a.
doppioall'ultima mappa GSMMapPoint (PageSpeedMapPoint a, GSMMapPoint b)
 Restituisce la lunghezza del segmento [a, b] nello spazio previsto.
BOOLDASHGeometryContainsLocation (punto CLLocationCoordinate2D, pathPath *percorso, geodetico BOOL)
 Restituisce se point si trova all'interno del percorso.
BOOLDASHGeometryIsLocationOnPathTolerance (punto CLLocationCoordinate2D, PATHPath *percorso, geodetica BOOL, tolleranza CLLocationDistance)
 Restituisce point se si trova su o vicino a path, entro i tolerance specificati.
BOOLDASHGeometryIsLocationOnPath (punto CLLocationCoordinate2D, PATHPath *percorso, geodeic BOOL)
 Uguale a DASHGeometryIsLocationOnPath(punto, percorso, geodetica, tolleranza), con una tolleranza predefinita di 0,1 metri.
CLLocationDistanceDistanceGeometryDistance (CLLocationCoordinate2D da, CLLocationCoordinate2D a)
 Restituisce la grande distanza del cerchio tra due coordinate, in metri, sulla Terra.
CLLocationDistancePageSpeedGeometryLength (PATHPath *percorso)
 Restituisce la grande lunghezza del cerchio di path, in metri, sulla Terra.
doppioSalesforceGeometryArea (percorso DASH *path)
 Restituisce l'area di un poligono geodetico definito da path sulla Terra.
doppioDASHGeometrySignedArea (percorso DASHPath)
 Restituisce l'area firmata di un poligono geodetico definito da path su Earth.
CLLocationDirectionPageSpeedGeometryHeader (CLLocationCoordinate2D da, CLLocationCoordinate2D a)
 Restituisce l'intestazione iniziale (gradi in senso orario di Nord) al valore from del percorso più breve verso to.
CLLocationCoordinate2DPageSpeedGeometryOffset (CLLocationCoordinate2D da, CLLocationDistance distanza, CLLocationDirection direzione)
 Restituisce la coordinata di destinazione, quando parti da from con heading iniziale, percorrendo distance metri lungo un grande arco circolare, su Earth.
CLLocationCoordinate2DPageSpeedGeometryInterpolate (CLLocationCoordinate2D da, CLLocationCoordinate2D a, doppia frazione)
 Restituisce la coordinata che si trova nella posizione fraction specificata tra le coordinate from e to sul percorso più breve tra i due.
NSArray< DASHStyleSpan* > * famiglia StiliStili (PercorsoPercorso *percorso, NSArray< SalesforceStrokeStyle * > *stili, NSArray< NSNumber * > *lunghezze, LENGTHLengthKindlengthKind)
 Restituisce una matrice NSArray di DASHStyleSpan creata dall'applicazione ripetuta di informazioni su stile e lunghezza da styles e lengths lungo path.
NSArray< DASHStyleSpan* > *Per i tag Stili Stili
 Simile a DASHStyleSpans(percorso, stili, lunghezze,lengthKind), ma rileva inoltre un offset di lunghezza iniziale che verrà ignorato rispetto all'array lengths.

Documentazione Typedef

struct typedef GSMMapPoint DASHMapPoint

Un punto sulla mappa.

Può rappresentare una coordinata prevista.

x è in [-1, 1]. La direzione dell'asse è normale: y cresce verso nord, x cresce verso est. (0, 0) è il centro della mappa.

Vedi SalesforceProject() e SalesforceUnproject().


Documentazione delle funzioni

Progetto PerMappe Progetto DASH ( CLLocationCoordinate2D coordinata)

Progetti coordinate alla mappa.

coordinate deve essere valido.

CLUnproject di CLLocationCoordinate2D ( Punto mappa GSM punto di accesso)

Annulla la proiezione di point dalla mappa.

il punto.x deve essere compreso tra [-1 e 1].

Restituisce un punto interpolato proporzionalmente sul segmento [a, b], nella frazione t di a.

t==0 corrisponde a a, t==1 corrisponde a b.

L'interpolazione avviene lungo il breve percorso tra i punti che attraversano potenzialmente la linea della data. Ad esempio, l'interpolazione da San Francisco a Tokyo passerà a nord delle Hawaii e oltrepassa il limite di date.

Restituisce la lunghezza del segmento [a, b] nello spazio previsto.

La lunghezza viene calcolata lungo il percorso breve tra i punti che potrebbero attraversare la linea della data. Ad esempio, la distanza tra i punti corrispondenti a San Francisco e Tokyo misura il tratto che passa a nord delle Hawaii e attraversa la linea del data.

BOGeometryContainsLocation di BOOL ( CLLocationCoordinate2D punto,
BDIPath percorso,
BOOL geodetico
)

Restituisce se point si trova all'interno del percorso.

Il percorso è sempre considerato chiuso, indipendentemente dal fatto che l'ultimo punto corrisponda al primo o meno.

L'interno è definito come non contenente il Polo Sud perché è sempre all'esterno.

path descrive grandi segmenti circolari se geodesic è SÌ, mentre i segmenti con rubinetto (loxodromico) vengono distribuiti in altro modo.

Se point è esattamente uguale a uno dei vertici, il risultato è SÌ. Un punto che è diverso da un vertice si trova su un lato o sull'altro di qualsiasi segmento del percorso non può mai essere "esattamente sul bordo".

Consulta aiuto GeoGeotryIsLocationOnPath() per un test di confine con tolleranza.

BOGeometryIsLocationOnPathTolerance BOOL ( CLLocationCoordinate2D punto,
BDIPath percorso,
BOOL geodetico,
CLLocationDistance tolleranza
)

Restituisce point se si trova su o vicino a path, entro i tolerance specificati.

path è composto da grandi segmenti circolari se geodesic è SÌ, e da segmenti verticali (loxodromico) se geodesic è NO.

Vedi anche DASHGeometryIsLocationOnPath(punto, percorso, geodetico).

La tolleranza, in metri, è relativa al raggio sferico della Terra. Se devi lavorare su una sfera di raggio diverso, puoi calcolare la tolleranza equivalente in base alla tolleranza desiderata sulla sfera del raggio R: tolleranza = tolleranza * (Radius Earth / R), con Radius Earth==6371009.

BOOL DASHGeometryIsLocationOnPath ( CLLocationCoordinate2D punto,
BDIPath percorso,
BOOL geodetico
)

Uguale a DASHGeometryIsLocationOnPath(punto, percorso, geodetica, tolleranza), con una tolleranza predefinita di 0,1 metri.

CLLocationDistance DGeometryDistance ( CLLocationCoordinate2D from,
CLLocationCoordinate2D a
)

Restituisce la grande distanza del cerchio tra due coordinate, in metri, sulla Terra.

Questa è la distanza più breve tra le due coordinate sulla sfera.

Entrambe le coordinate devono essere valide.

CLLocationLocation Lunghezza GeometryLunghezza ( BDIPath percorso)

Restituisce la grande lunghezza del cerchio di path, in metri, sulla Terra.

È la somma di DASHGeometryDistance() sui segmenti di percorso.

Tutte le coordinate del percorso devono essere valide.

Doppia areaGeometryArea ( BDIPath percorso)

Restituisce l'area di un poligono geodetico definito da path sulla Terra.

La parte "interna" del poligono è definita come non contenente il polo sud.

Se invece non viene chiuso, path viene comunque considerato implicitamente come un percorso chiuso e il risultato è lo stesso.

Tutte le coordinate del percorso devono essere valide.

Il poligono deve essere semplice (non sovrapporsi) e può essere concavo.

Se un segmento del percorso è una coppia di punti antipodali, il risultato non è definito, perché due punti antipidali non formano un segmento circolare grande sulla sfera.

Doppia areaGeometrySignedArea ( BDIPath* percorso)

Restituisce l'area firmata di un poligono geodetico definito da path su Earth.

Il risultato ha lo stesso valore assoluto di DASHGeometryArea(). È positivo se i punti del percorso sono in senso antiorario e in caso contrario sono negativi.

Si applicano le stesse restrizioni previste per DASHGeometryArea().

PageSpeedGeometryHeader di CLLocationDirection ( CLLocationCoordinate2D from,
CLLocationCoordinate2D a
)

Restituisce l'intestazione iniziale (gradi in senso orario di Nord) al valore from del percorso più breve verso to.

Il valore restituito è compreso nell'intervallo [0, 360].

Restituisce 0 se le due coordinate sono uguali.

Entrambe le coordinate devono essere valide.

Per ottenere l'intestazione finale a to, puoi utilizzare (DASHGeometryHeader(to, from) + 180) modulo 360.

OffsetGeometryOffset di CLLocationCoordinate2D ( CLLocationCoordinate2D from,
CLLocationDistance distanza,
CLLocationDirection intestazione
)

Restituisce la coordinata di destinazione, quando parti da from con heading iniziale, percorrendo distance metri lungo un grande arco circolare, su Earth.

La longitudine risultante è compresa nell'intervallo [-180, 180].

Entrambe le coordinate devono essere valide.

CLGeometryInterpolate di CLLocationCoordinate2D ( CLLocationCoordinate2D from,
CLLocationCoordinate2D a,
doppio frazione
)

Restituisce la coordinata che si trova nella posizione fraction specificata tra le coordinate from e to sul percorso più breve tra i due.

La longitudine risultante è compresa nell'intervallo [-180, 180].

NSArray<DASHStyleSpan *>* PANIStiliStili ( BDIPath* percorso,
NSArray< DASHStrokeStyle* > * stili,
NSArray< NSNumber * > * length,
LunghezzaLunghezza GSM lengthKind
)

Restituisce una matrice NSArray di DASHStyleSpan creata dall'applicazione ripetuta di informazioni su stile e lunghezza da styles e lengths lungo path.

path il percorso lungo il quale vengono calcolati gli intervalli di output. styles un NSArray di DASHStrokeStyle. Aggrega se utilizzato. Questo campo non può essere vuoto. lengths un NSArray di NSNumber; ogni voce dà la lunghezza dello stile corrispondente da styles. Aggrega se utilizzato. Questo campo non può essere vuoto. lengthKind l'interpretazione dei valori di lengths (geodetici, rhumb o proiettati).

Esempio: una polilinea con intervalli alternati di bianco e nero:

 GMSMutablePath *path;
 NSArray *styles = @[[GMSStrokeStyle solidColor:[UIColor whiteColor]],
                     [GMSStrokeStyle solidColor:[UIColor blackColor]]];
 NSArray *lengths = @[@100000, @50000];
 polyline.path = path;
 polyline.spans = GMSStyleSpans(path, styles, lengths, kGMSLengthRhumb);
 
NSArray<DASHStyleSpan *>* DASHStyleSpansOffset ( BDIPath* percorso,
NSArray< DASHStrokeStyle* > * stili,
NSArray< NSNumber * > * length,
LunghezzaLunghezza GSM lengthKind,
doppio lengthOffset
)

Simile a DASHStyleSpans(percorso, stili, lunghezze,lengthKind), ma rileva inoltre un offset di lunghezza iniziale che verrà ignorato rispetto all'array lengths.

lengthOffset la lunghezza (ad es. in metri) che dovrebbe essere saltata inizialmente da lengths.