Mehr

So zeichnen Sie automatisch ein Polygon zwischen mehreren Polygonen


Die gewichtete „leere“ Fläche, die durch die orangefarbene Grenze begrenzt wird, sollte eine Landnutzung „Straßen“ darstellen, also sollte ich sie mit Polygonen füllen. Meine Frage ist nun, wie man diese leeren Bereiche automatisch mit Polygonen füllt?

Ich könnte Autocomplete Polygons verwenden, um die Lücken zu füllen, aber es ist zeitaufwändig, da ich mehr als 150 Urban Masterpläne habe! Gibt es eine Methode, dies schneller und genauer zu tun?


Abhängig von den spezifischen Anforderungen und der verfügbaren Lizenzstufe gibt es mehrere Möglichkeiten, dies zu erreichen.

Der erste Schritt für alle Methoden besteht darin, eine neue Feature-Class/einen neuen Layer für die Lückenbereiche zu erstellen. Auch wenn Sie sie am Ende auf derselben Ebene haben möchten, erleichtert das Arbeiten mit zwei Ebenen die Bearbeitung erheblich.

Zeichnen Sie als Nächstes ein verallgemeinertes Polygon auf dieser neuen temporären Ebene, das alle Bereiche abdeckt, die Sie ausfüllen möchten. Abhängig von der in den nächsten Schritten verwendeten Methode gibt es einige Überlegungen zum Zeichnen dieses Polygons.

  • Sie könnten einfach ein riesiges Polygon erstellen, das Ihre vorhandenen vollständig umgibt. Bei diesem Ansatz müssen Sie am Ende etwas schneiden, um die gewünschten Bereiche von den zusätzlichen Resten zu trennen (denken Sie daran, ein gewünschtes Stück aus der Mitte des abgeflachten Teigs auszuschneiden).
  • Sie können an den Scheitelpunkten fangen, an denen Ihre Straße auf die äußere Begrenzung trifft, und dann allgemeinere, schnell platzierte Punkte innerhalb Ihrer vorhandenen Polygone verwenden, um eine verallgemeinerte Form zu erstellen, die die Straßen bedeckt, aber nicht über die aktuelle äußere Begrenzung hinausgeht (wenn Sie bereits im ToC über Temp bestellt haben, sind nur die gewünschten Temp-Teile sichtbar).
  • Sie können Aggregate Polygons (erfordert Advanced License) verwenden, um Polygone zu erstellen, die der äußeren Begrenzung Ihrer vorhandenen Polygone entsprechen (siehe verlinkte Hilfedatei für ein grafisches Beispiel).

Nachdem das temporäre Polygon erstellt wurde, müssen Sie nun die Teile, die Sie nicht möchten, mit den vorhandenen Polygonen wegschneiden.

  • Am einfachsten ist es, das Erase-Tool mit temp als Eingabe und vorhandenen Polys als Löschfunktion zu verwenden, wodurch alle Bereiche in temp entfernt werden, die von bestehenden bedeckt sind. Dieses Tool erfordert jedoch eine Advanced-Lizenz.
  • Wenn nur diese beiden Ebenen sichtbar/bearbeitbar sind, wählen Sie alle vorhandenen Polygone aus und wählen Sie auf der Dropdown-Schaltfläche Editor die Option Clip mit einem Abstand von 0 und den Schnittbereich verwerfen. Hinweise/Warnungen: Dieser Clip ist nicht mit dem Geoverarbeitungswerkzeug Clip identisch. Bei der Verwendung wird davon ausgegangen, dass es keine Überlappung innerhalb der vorhandenen Polygone gibt und keine anderen bearbeitbaren Layer vorhanden sind. Diese Methode wird schneiden alles und jedes sichtbare und bearbeitbare Layer unter Verwendung der ausgewählten vorhandenen Polygonumrisse.

An dieser Stelle sollten Sie die gewünschten Straßenpolygone haben. Je nachdem, wie Sie die temporären Polygone erstellt haben, müssen Sie möglicherweise das Werkzeug „Polygon ausschneiden“ verwenden, um überschüssiges Außenmaterial abzuschneiden, oder verwenden Sie die Methode „Polygone aggregieren“, um eine Grenze zu erstellen, mit der Sie schneiden können. Welche dieser Varianten am schnellsten ist, hängt von Ihren Anforderungen und Ihrem Workflow ab.

Sobald Sie die gewünschten Polygone haben, können Sie sie kopieren und einfügen, anhängen oder auf andere Weise in Ihre vorhandene Polygonebene einfügen.


Syntax

Die zu unterteilenden Polygon-Features.

Die Ausgabe-Feature-Class von unterteilten Polygonen.

Gibt die Methode an, die zum Teilen der Polygone verwendet wird.

  • NUMBER_OF_EQUAL_PARTS — Polygone werden gleichmäßig in mehrere Teile aufgeteilt. Dies ist die Standardeinstellung.
  • EQUAL_AREAS — Polygone werden in eine bestimmte Anzahl von Teilen eines bestimmten Bereichs und einen Restteil unterteilt.

Die Anzahl der Bereiche, in die das Polygon unterteilt wird, wenn die Unterteilungsmethode NUMBER_OF_EQUAL_PARTS angegeben wird.

Die Fläche der gleichen Teile, wenn die Unterteilungsmethode EQUAL_AREAS angegeben ist. Wenn target_area größer als die Fläche des Eingabepolygons ist, wird das Polygon nicht unterteilt.

Dieser Parameter wird noch nicht unterstützt.

Der Winkel, der verwendet wird, um die Linien zu zeichnen, die das Polygon teilen. Der Standardwert ist 0.

Gibt an, wie die Polygone aufgeteilt werden.

  • STREIFEN — Polygone werden in Streifen unterteilt. Dies ist die Standardeinstellung.
  • STACKED_BLOCKS — Polygone werden in gestapelte Blöcke unterteilt.

Gibt es in TikZ eine Möglichkeit, regelmäßige Polygone mit einer beliebigen Anzahl von Kanten zu reflektieren?

Gibt es in TikZ eine Möglichkeit, regelmäßige Polygone mit einer beliebigen Anzahl von Kanten entlang jeder Kante, die als Spiegel betrachtet wird, zu reflektieren?

Ich verwende MacTeX und bin neu bei LaTeX, pgf und TikZ.

Ich möchte dies tun, um eine geometrische Konstruktion zu demonstrieren, die mithilfe von Reflexionen mit Polygonen mit einer beliebigen Anzahl von Kanten durchgeführt werden kann.

Für einige Polygone (z. B. Dreiecke und Sechsecke) kann dies iteriert werden, um eine Tessellation der Ebene zu erzeugen. (Andere haben nach sechseckigen Fliesen usw. gefragt.)

Idealerweise möchte ich einfach in der Lage sein, auf eine Kante zu verweisen, eine mit ihr übereinstimmende Linie zu generieren und die Linie als Argument für eine Subroutine bereitzustellen, die die Reflexion des Polygons entlang der Linie durch diese Kante durchführen kann.

Diese Spiegelung kann durch Rotationen und Translationen simuliert werden, aber ich möchte die Translationen ganz vermeiden (und die Berechnungen des Translationsabstands in (x,y)-Koordinaten oder sogar in Polarkoordinaten). Damit soll der Code auch als Demonstration der Konstruktionsprinzipien dienen, nicht nur der Grafiken. Für Polygone mit einer ungeraden Anzahl von Kanten n ist vor der Translation eine Drehung von 180/n erforderlich, für Polygone mit einer geraden Anzahl von Kanten ist eine solche Drehung nicht erforderlich.

Ich habe versucht, Knoten von überlagerten Konstruktionen zu referenzieren, um die effektiv reflektierten Polygone neu zu zentrieren, aber meine Referenzen schienen nicht zu funktionieren. Ich habe auch versucht, was ich für planare Koordinaten (geordnete Paare) hielt, basierend auf einem radialen Koordinatensystem, das ich einem Beispiel entnommen hatte, aber sie funktionierten in meinem Code nicht wie erwartet.


Wie kann ich diese Polygone mit schattierten Bereichen zeichnen?

Es wird Ihnen mehr nützen, wenn Sie das pgf-Handbuch lesen, insbesondere wenn Sie in Zukunft mehr von diesen Figuren zeichnen müssen. Das Handbuch enthält detaillierte Beispiele, wie Sie mit tikz Ihre LaTeX-Figuren zeichnen.

Ich gehe davon aus, dass Sie über LaTeX-Kenntnisse verfügen. Wenn Sie dies nicht tun, können Sie auf dieser Site mit Was ist das beste Buch, um mit dem Lernen von LaTeX zu beginnen?

Beginnen wir mit einigen Tikz-Grundlagen und passen sie an Ihre Frage an.

Wir werden Ihre erste Figur in dieser Demonstration verwenden. Wir können Koordinaten mit dem Befehl coordinate zuweisen. Wir können die Zuweisung von Koordinaten automatisieren, aber wir werden dies nicht für die Eckpunkte des Polygons tun. Wir können für die ersten drei Scheitelpunkte etwa Folgendes eingeben:

Beachten Sie, dass beim Versuch, Ihr Dokument zu kompilieren, keine Abbildung angezeigt wird. Keine Sorge, Sie haben gerade die Koordinaten zugewiesen, aber nichts getan, um tikz anzuweisen, Ihre Figur zu zeichnen.

Sie können jetzt ein Segment zeichnen, das (A1) mit (A2) und (A2) mit (A3) verbindet, indem Sie draw (A1) -- (A2) und draw (A2) -- (A3) schreiben. Also hast du jetzt

oder alternativ kannst du schreiben

und Sie erhalten die folgende Abbildung.

Um die Beschriftungen zu zeichnen, müssen Sie den ode-Befehl mit den richtigen Positionierungsoptionen wie links, rechts, unten, oben, oben links, oben, rechts, unten links, unten rechts wie im folgenden Code verwenden.

Hier ist das Polygon mit Beschriftungen.

Wir können den Schnittpunkt mit bestimmen

Um die Schattierung hinzuzufügen, schreiben wir

Alles zusammen haben wir:

Wir können den Code kürzen, indem wir foreach und eine Technik zum Platzieren der Knoten verwenden, die ich von Peter Grill gelernt habe. Hinweis


5 Antworten 5

Um den Ball ins Rollen zu bringen, hier ist eine fünfstufige Konstruktion eines Quadrats, die von zwei Punkten ausgeht, die minimal sein können oder nicht. (In den Kommentaren unter dem OP habe ich eine zweistufige Konstruktion für das gleichseitige Dreieck angegeben, von der ich glaube, dass sie nicht in einem einzigen Schritt konstruiert werden kann.)

Beginnend mit den Punkten $P$ und $Q$,

  1. Zeichnen Sie den Kreis, der bei $P$ zentriert ist und durch $Q$ geht.
  2. Zeichnen Sie den Kreis, der bei $Q$ zentriert ist und durch $P$ geht. Diese beiden Kreise schneiden sich in zwei Punkten $R$ und $S$.
  3. Ziehen Sie die Linie durch $P$ und $Q$.
  4. Ziehen Sie die Linie durch $R$ und $S$. Diese beiden Linien sind senkrecht und schneiden sich in einem Punkt $O$.
  5. Zeichnen Sie einen Kreis mit beliebigem Radius, der bei $O$ zentriert ist. Seine Schnittpunkte mit den Linien der Schritte 3 und 4 sind Eckpunkte eines Quadrats.

Was hier natürlich fehlt, ist der Beweis, dass fünf minimal ist. Ich hoffe, jemand wird eine Antwort posten, die einen solchen Beweis liefert (oder noch besser, eine Konstruktion, die weniger Schritte erfordert).

Später hinzugefügt: Nur um den Ball am Rollen zu halten (und/oder zusätzliche niedrig hängende Früchte zu verbrauchen), hier ist eine vierstufige Konstruktion für das Sechseck:

Beginnend mit den Punkten $O$ und $P$,

  1. Zeichnen Sie den Kreis, der bei $O$ zentriert ist und durch $P$ geht.
  2. Zeichnen Sie den Kreis, der bei $P$ zentriert ist und durch $O$ geht. Diese beiden Kreise schneiden sich in zwei Punkten $A$ und $D$.
  3. Ziehen Sie die Linie durch $O$ und $P$. Er schneidet den Kreis aus Schritt 1 an einem Punkt $Q$.
  4. Zeichnen Sie den Kreis, der bei $Q$ zentriert ist und durch $O$ geht. Er schneidet den Kreis aus Schritt 1 an zwei Punkten $B$ und $C$. Die Punkte $P,A,B,Q,C,D$ sind Eckpunkte eines Sechsecks.

Ich denke, das ist "offensichtlich" minimal. Aber ich denke, wir brauchen einige explizite Regeln dafür, was eine Konstruktion ausmacht, um zu beweisen, dass sie offensichtlich ist.

Wenn Sie von zwei gegebenen Punkten ausgehen und nur eine Gerade von zwei bekannten Punkten oder einen Kreis um einen bekannten Punkt und durch einen anderen ziehen lassen, können Sie alle möglichen Konstruktionen skizzieren.

Mit zwei Linien (Sie erhalten das gleichseitige Dreieck):

Mit vier Linien (Sie erhalten das Sechseck):

Die fünfte Konstruktion mit vier Linien zeigt Ihnen, wie Sie das Quadrat in fünf Linien (mit einem zusätzlichen Kreis) erreichen.

Ich vermute, dass das Zeichnen durch unbekannte Punkte die minimale Anzahl von Linien nicht reduzieren würde. Leider wird dieser Brute-Force-Ansatz sehr schnell unpraktisch.

Es fehlt eine Operation: Messen Sie den Abstand zwischen zwei bekannten Punkten mit dem Zirkel und zeichnen Sie einen Kreis mit diesem Radius um einen dritten Punkt.

Auch fehlen viele Konstruktionen mit größeren Kreisen.

Nur um eine einfache Beobachtung hinzuzufügen (keine Antwort):

Da sich Kreise zweimal schneiden können, während Linien sich ein- oder zweimal schneiden können, ist die maximale Anzahl der Schnittpunkte durch die doppelte Anzahl der Kreispaare gegeben. Außerdem werden für ein $n$-Gon eindeutig mindestens $n$-Schnittpunkte benötigt. Somit ist eine sehr lockere untere Schranke gegeben durch: $C^2-C > n$ Was bedeuten würde, dass die Anzahl der Schritte von unten asymptomatisch durch $Oleft(sqrt echts)$.

Um den Ball am Laufen zu halten, ist hier eine schnelle Möglichkeit, das normale Fünfeck zu zeichnen.

Beginnen Sie mit einem Kreis, zentrieren Sie $O$ und zeichnen Sie zwei zueinander senkrechte Durchmesser $AB$ und $CD$.

Finden Sie den Mittelpunkt von $OD$ und nennen Sie ihn $E$.

Zeichnen Sie die Linie $BE$ verlängert und halbieren Sie den Winkel $BEO$ sowohl nach innen als auch nach außen.

Diese Winkelhalbierenden treffen auf $AB$ bei $X$ und $Y$. Konstruiere Linien senkrecht zu $AB$ durch $X$ und $Y$.

Diese Senkrechten treffen an vier Punkten auf den Kreis, die zusammen mit $B$ ein regelmäßiges Fünfeck bilden.

Ich bin mir nicht sicher, wie viele Schritte dies nach Ihren Regeln ist, aber ich würde gerne wissen, ob es einen schnelleren Weg gibt. Das bezweifle ich.

Angenommen, die Aufgabe besteht darin, ein reguläres $n$-Eck in einen bestimmten Kreis einzuschreiben. Sobald die Knoten $P_0$ und $P_i$ lokalisiert sind, wobei $i$ zu $n$ teilerfremd ist, können die anderen leicht gefunden werden. Es braucht $O(n)$ Schritte, um sie zu konstruieren, also ist dieser Teil der Aufgabe teurer, je größer $n$ ist.

Wenn wir uns jedoch auf den Teil der Aufgabe konzentrieren, der die Position von $P_i$ ist, ist dies für $n=2k$ oder $n=4k$ möglicherweise nicht schwieriger als für $n=k$. Betrachten Sie zum Beispiel $n=5$ und $n=10$. Bezeichnen Sie die Eckpunkte des Fünfecks mit $P_i$ und die des Zehnecks mit $D_i$. Bei einem Umkreisradius von $1$ sind die Seite und die Diagonale des Fünfecks $P_0P_2$ $sqrt2>$. Die Seite des Zehnecks und die Diagonale $D_0D_3$ sind $dfrac2$. Die Scheitelpunkte des Zehnecks $D_1, D_9$ können von $D_0$ wie folgt gefunden werden:

Nennen Sie den angegebenen Kreis $Omega_1$. Zeichne $Omega_1

Fehlerbehebung bei benutzerdefinierten Polygonkarten in SAS Visual Analytics 8.3

In meinem früheren Blog habe ich beschrieben, wie Sie Karten in SAS Visual Analytics 8.2 erstellen, wenn Sie über ein ESRI-Shapefile mit granularen Geografien wie Landkreisen verfügen, die Sie zu Regionen kombinieren möchten. Seit ich diesen Blog im Januar 2018 veröffentlicht habe, habe ich viele Fragen von Benutzern zu einer Reihe von Mapping-Themen erhalten, daher hielt ich einen allgemeineren Beitrag zur Verwendung – und Fehlerbehebung – von benutzerdefinierten Polygonen in SAS Visual Analytics auf Viya für angebracht. Da Version 8.3 jetzt allgemein verfügbar ist, ist dieser Beitrag auf die 8.3-Version von SAS Visual Analytics zugeschnitten, aber die benutzerdefinierte Polygon-Funktionalität hat sich zwischen den Releases 8.2 und 8.3 nicht wirklich geändert.

Was sind benutzerdefinierte Polygone?

Benutzerdefinierte Polygone sind geografische Grenzen, mit denen Sie Daten als schattierte Bereiche auf der Karte visualisieren können. Sie werden manchmal auch als Choroplethenkarten bezeichnet. Sie arbeiten zum Beispiel für eine gemeinnützige Organisation, die über einen Standort für ein neues Seniorenzentrum entscheidet. Sie erstellen also eine Karte, die die Bevölkerung der Menschen über 65 Jahre nach US-Volkszählungsgebiet zeigt. Die dunkleren Polygone deuten auf eine größere Anzahl von Senioren und damit auf einen möglicherweise besseren Standort für den Bau eines Seniorenzentrums hin:

SAS Visual Analytics 8.3 enthält einige vordefinierte polygonale Formen, einschließlich Länder und Bundesstaaten/Provinzen. Wenn Sie jedoch etwas genaueres benötigen, können Sie Ihre eigenen polygonalen Formen hochladen.

Wie erstelle ich meine eigenen polygonalen Formen?

Um eine polygonale Karte zu erstellen, benötigen Sie zwei Komponenten:

  1. Ein Dataset mit einer Messvariablen und einer Regions-ID-Variablen. Sie können beispielsweise die Bevölkerung als Kennzahl und die Volkszählungsbezirks-ID als Regions-ID verwenden. Als Maß kann auch eine einfache Frequenz verwendet werden.
  2. Ein „Polygonanbieter“-Dataset, das dieselbe Regions-ID wie oben enthält, plus geografische Koordinaten jedes Scheitelpunkts in jedem Polygon, eine Segment-ID und eine Sequenznummer.

Woher bekomme ich diesen mysteriösen Polygonanbieter? Normalerweise müssen Sie nach einem Shapefile suchen, das die benötigten Polygone enthält, und ein wenig Datenvorbereitung durchführen. Shapefile ist ein von ESRI unterstütztes geografisches Datenformat. Wenn Sie ein Shapefile herunterladen und im Dateisystem anzeigen, werden Sie feststellen, dass es mehrere Dateien enthält. Zum Beispiel enthält mein 2010 Census Tract Shapefile alle diese Komponenten:

Manchmal können auch andere Komponenten vorhanden sein. Achten Sie darauf, alle Komponenten zusammenzuhalten.

Um diese Daten für SAS Visual Analytics vorzubereiten, haben Sie zwei Möglichkeiten.

Shapefile für SAS Visual Analytics vorbereiten: Der lange Weg

Eine Methode zum Vorbereiten des Polygonanbieters besteht darin, PROC MAPIMPORT auszuführen, um das Shapefile in ein SAS-Dataset zu konvertieren, ein Sequenz-ID-Feld hinzuzufügen und dann in den Cloud Analytic Services (CAS)-Server in SAS Viya zu laden. Die Sequenz-ID ist obligatorisch, da sie SAS Visual Analytics hilft, die Verbindungslinien der Scheitelpunkte in der richtigen Reihenfolge zu zeichnen.

Ein Kollege bat vor kurzem um Hilfe mit einer Karte mit Volkszählungsblockgruppen für Chatham County in North Carolina. Schauen wir uns sein Beispiel an:

Das Shapefile wurde von hier heruntergeladen. Wir haben dann den folgenden Code auf meinem Desktop ausgeführt:

Anschließend haben wir den Datensatz geo.chatham_cbg manuell in CAS geladen, indem wir den Self-Service-Import in SAS Visual Analytics verwendet haben. Wenn Sie sich nicht sicher sind, wie Sie einen Datensatz in CAS hochladen, überprüfen Sie bitte die Dokumentation.

Shapefile für SAS Visual Analytics vorbereiten: Makroverknüpfung %SHPIMPR

Wenn Ihnen die obigen Schritte nach viel Arbeit erschienen, werden Sie froh sein zu wissen, dass all dies mit einem einfachen Makro namens %SHPIMPR erreicht werden kann. Das Makro führt automatisch PROC MAPIMPORT aus, erstellt eine Sequenz-ID-Variable und lädt die Tabelle in CAS. Hier ist ein Beispiel:

Damit dieses Makro funktioniert, muss das Shapefile an einen Speicherort kopiert werden, auf den Ihr SAS Viya-Server zugreifen kann, und der Code muss in einer Umgebung ausgeführt werden, in der SAS Viya installiert ist. Es würde also nicht funktionieren, wenn ich versuche, es auf meinem Desktop auszuführen, auf dem nur SAS 9.4 installiert ist. Aber es funktioniert wunderbar, wenn ich es in SAS Studio auf meinem SAS Viya-Rechner ausführe.

Konfigurieren des Polygonanbieters

Der nächste Schritt besteht darin, den Polygonanbieter in Ihrem Bericht zu konfigurieren. Ich habe dies in meinem früheren Blog ausführlich beschrieben, daher fasse ich hier nur die Schritte zusammen:

  • Fügen Sie Ihre Daten zum SAS Visual Analytics-Bericht hinzu, suchen Sie die Regions-ID-Variable, klicken Sie mit der rechten Maustaste und wählen Sie Neue Geografie
  • Geben Sie ihm einen Namen und wählen Sie Benutzerdefinierte polygonale Formen als Geografietyp
  • Klicken Sie auf das Feld Benutzerdefinierter Polygonanbieter und wählen Sie Neuen Polygonanbieter definieren
  • Konfigurieren Sie Ihren Polygonanbieter, indem Sie die Bibliothek, die Tabelle und die ID-Spalte auswählen. Die Werte in Ihrer ID-Spalte müssen mit den Werten der Regions-ID-Variablen in dem von Ihnen visualisierten Dataset übereinstimmen. Die ID-Spalte muss jedoch nicht denselben Namen wie im Visualisierungsdatensatz haben.
  • Konfigurieren Sie bei Bedarf erweiterte Optionen des Polygonanbieters (mehr dazu im Abschnitt Fehlerbehebung dieses Blogs).

Wenn alles gut geht, sollten Sie eine Vorschau Ihrer Polygone und einen Prozentsatz der kartierten Regionen sehen. Klicken Sie auf OK, um Ihr geografisches Element zu speichern, und können Sie es im Geokartenobjekt verwenden.

Ich habe deine Anweisungen befolgt, aber die Karte funktioniert nicht. Was vermisse ich?

Ich habe einige häufige Probleme bei der Fehlerbehebung bei benutzerdefinierten Karten beobachtet, und alle sind ziemlich einfach zu beheben. Die folgende Tabelle fasst Symptome und Lösungen zusammen.

(1) Filtern Sie die Karte, um weniger Polygone anzuzeigen

Es gibt mehrere Projektionstypen und zahlreiche Geschmacksrichtungen jedes Typs. Der in SAS Visual Analytics verwendete Standard-EPSG-Code ist EPSG:4326, was dem nicht projizierten Koordinatensystem entspricht. Wenn Sie die erweiterten Eigenschaften Ihres Polygonanbieters öffnen, können Sie den aktuellen EPSG-Code sehen:

Es kann schwierig sein, den richtigen EPSG-Code zu finden, da nicht alle Shapefiles über konsistente und zuverlässige Metadaten verfügen. Hier sind ein paar Dinge, die Sie ausprobieren können:

(1) Öffnen Sie Ihr Shapefile als Layer in einer Kartenanwendung wie ArcMap (lizenziert von ESRI) oder QGIS (Open Source) und zeigen Sie die Eigenschaften des Layers an. In vielen Fällen wird der EPSG-Code in den Eigenschaften angezeigt.

(2) Gehen Sie zum Speicherort Ihres Shapefiles und öffnen Sie die .prj-Datei in Notepad. Es zeigt die Projektionsinformationen für Ihr Shapefile an, obwohl es etwas kryptisch aussehen kann. Beachten Sie die Maßeinheit (z. B. Fuß), das Datum (z. B. NAD 83) und den Projektionstyp (z. B. Lambert Conformal Conic). Gehen Sie dann zu https://epsg.io/ und suchen Sie nach Ihrer Geografie. Um auf das Beispiel für Chatham County zurückzukommen, suchte ich nach North Carolina. Wenn mehr als ein Code aufgeführt ist, wählen Sie einige Codes aus, die Ihren .prj-Informationen am besten entsprechen, kehren Sie dann zu SAS Visual Analytics zurück und ändern Sie die Coordinate Space-Eigenschaft des Polygonanbieters. Möglicherweise müssen Sie einige Codes ausprobieren, bevor Sie den am besten funktionierenden finden.

Sie können die Reihenfolge der Datensätze überprüfen, indem Sie den Polygonanbieter mit PROC GMAP zuordnen, zum Beispiel:

In Bild Nr. 1 unten sind die Datensätze beispielsweise richtig geordnet. In Bild #2 ist die Reihenfolge oder die Datensätze eindeutig falsch, daher kreuzen sich die Zeilen.


Wie Sie sehen, sind benutzerdefinierte regionale Karten in SAS Visual Analytics 8.3 ziemlich einfach zu implementieren. Die wenigen "Probleme", die ich beschrieben habe, werden Ihnen helfen, einige der häufigsten Probleme zu beheben, auf die Sie möglicherweise stoßen.

PS Ich möchte Falko Schulz für seine Hilfe bei der Überprüfung dieses Blogs danken.

Über den Autor

Daria Rostovtseva ist Senior Data Scientist im Beratungsteam von SAS Health and Life Sciences. In ihrer Funktion hilft sie Gesundheitsorganisationen, die Leistungsfähigkeit der Analytik zu nutzen, um das Gesundheitsversorgungssystem zu verbessern.

Hinterlasse eine Antwort Antwort verwerfen

Diese Seite verwendet Akismet, um Spam zu reduzieren. Erfahren Sie, wie Ihre Kommentardaten verarbeitet werden.


Einzelheiten

Die Koordinaten können in einer Plotstruktur (eine Liste mit x- und y-Komponenten), einer zweispaltigen Matrix, übergeben werden. Siehe xy.coords .

Es wird davon ausgegangen, dass das Polygon geschlossen werden soll, indem der letzte Punkt mit dem ersten Punkt verbunden wird.

Die Koordinaten können fehlende Werte enthalten. Das Verhalten ähnelt dem von Linien , außer dass NA-Werte das Polygon nicht in mehrere Linien aufteilen, sondern das Polygon in mehrere vollständige Polygone aufteilen (einschließlich des Schließens des letzten Punkts zum ersten Punkt). Siehe die Beispiele unten.

Wenn mehrere Polygone erstellt werden, werden die Werte von density , angle , col , border und lty auf die übliche Weise wiederverwendet.

Die Schattierung von Polygonen wird nur für lineare Diagramme implementiert: Wenn eine der Achsen im logarithmischen Maßstab liegt, wird die Schattierung mit einer Warnung ausgelassen.

Sich selbst schneidende Polygone können entweder mit der Regel „ungerade-gerade“ oder „nicht null“ gefüllt werden. Diese füllen einen Bereich, wenn der Polygonrand ihn ungerade bzw. ungleich null umkreist. Schattierungslinien werden intern behandelt von handled R gemäß dem fillOddEven-Argument, aber gerätebasierte feste Füllungen hängen vom Grafikgerät ab. Die windows-, pdf- und postscript-Geräte haben ihr eigenes fillOddEven-Argument, um dies zu steuern.


Konstruieren regelmäßiger Polygone

Wir wissen das ein regelmäßiges Vieleck ist ein Polygon, das alle Seiten gleich lang und alle Innenwinkel gleich groß hat. In dieser Lektion lernen wir, wie man sie mit einem Zirkel und einem Lineal konstruiert.

Gleichseitiges Dreieck

Beginnen wir mit der Konstruktion des ersten regelmäßigen Vielecks, des gleichseitigen Dreiecks.

Beispiel. Konstruieren Sie ein Dreieck, wenn wir die Länge der Seite $a$ kennen.

Zuerst erstellen wir eine Skizze. Es muss nicht genau sein, aber es gibt uns eine Idee, wo wir anfangen sollen.

Lassen Sie uns einen Strahl mit dem Endpunkt $A$ zeichnen, der der erste Scheitelpunkt des Dreiecks ist. Wir nehmen das Lineal und setzen die Zirkelbreite auf die Länge einer gegebenen Seite $a$. Setzen Sie dann die Kompassnadel in die Spitze $A$ und machen Sie einen Bogen. Stellen Sie sicher, dass sich der Bogen mit dem zuvor gezeichneten Strahl schneidet. Der Schnittpunkt von Bogen und Strahl ist unser zweiter Scheitelpunkt $B$. Ohne die Breite des Kompasses zu ändern, wiederholen wir den vorherigen Schritt. Der einzige Unterschied besteht darin, dass wir die Kompassnadel auf den Punkt $B$ setzen und den Bogen machen, der sich mit dem ersten schneidet. Wir können sehen, dass sich Bögen in zwei Punkten schneiden, was uns zwei letzte Scheitelpunkte gibt, $C$ und $C’$. Wir haben jetzt zwei Dreiecke, $igtriangleup ABC$ und $igtriangleup ABC’$. Dreiecke sind wegen des SSS-Theorems kongruent, also sagen wir, wir haben nur eine Lösung.

Wir haben einen Strahl verwendet, um die Punkte $A$ und $B$ zu erhalten, aber wenn wir eine Linie verwenden, erhalten wir einen weiteren Scheitelpunkt $B’$ auf der anderen Seite von $A$. Wenn wir die oben beschriebenen Schritte befolgen, erhalten wir zwei weitere Dreiecke, insgesamt vier. Alle vier sind deckungsgleich und wir sehen sie als eine Lösung des Problems.

Beispiel. Konstruieren Sie ein Dreieck, wenn wir den Radius des umschriebenen Kreises kennen.

Zuerst machen wir einen Kreis $c(O, r)$ und einen Durchmesser $overline$. Dann machen wir einen Kreis $c(A’, |OA’|)$. Schnittpunkte der Kreise $c(O,r)$ und $c(A’, |OA’|)$ sind $B$ und $C$, zwei verbleibende Eckpunkte unseres Dreiecks.

Quadrat

Beispiel. Konstruiere ein Quadrat, wenn wir die Seite $a$ kennen.

Zuerst machen wir eine Skizze, um die Anordnung der Punkte und Seiten zu kennen.

Wir beginnen damit, eine Linie und einen Punkt $A$ zu erstellen. Dann nehmen wir die Länge der Seite $a$ in der Breite des Zirkels und machen einen Bogen, der sich mit der zuerst gezeichneten Linie schneidet. Der Schnittpunkt ist Punkt $B$, unser zweiter Knoten. Jetzt müssen wir eine Linie konstruieren, die senkrecht zu $AB$ verläuft, wobei $B$ der Schnittpunkt ist. Wir tun dies, weil wir den Winkel $measuredangle ABC = 90^$ erzeugen wollen.

Jetzt haben wir eine senkrechte Linie und wissen, dass der Scheitelpunkt $C$ darauf liegen wird. Nehmen Sie die Länge der Seite $a$ in der Breite des Kompasses und machen Sie einen Bogen, der sich mit der senkrechten Linie schneidet – der Schnittpunkt ist unser Scheitelpunkt $C$. Was übrig bleibt, ist die Konstruktion des Scheitelpunkts $D$. Dazu erzeugen wir zwei Kreisbögen der Kreise $c(A,a)$ und $c(C,a)$. Ihr Schnittpunkt ist der letzte Knoten, Knoten $D$.

* Wir haben hier nur ein Quadrat konstruiert, aber wir hätten vier von ihnen konstruieren können, indem wir dem gleichen Verfahren folgen, das wir bei der Konstruktion des gleichseitigen Dreiecks gemacht haben.

Beispiel. Wie konstruiere ich ein Quadrat, wenn wir den Radius seines Umkreises kennen?

Zuerst zeichnen wir einen Punkt $O$ und einen Kreis $c(O, r)$. Wählen Sie einen Startpunkt $A$ irgendwo auf dem Kreis. Jetzt zeichnen wir einen Durchmesser von $A$ bis $O$. Der Schnittpunkt eines Durchmessers und eines Kreises sei der Punkt $C$. Die Gerade $AB$ ist eine Diagonale des Quadrats, das wir konstruieren wollen. Wie bekommt man das andere? Wir wissen, dass Diagonalen im Quadrat senkrecht sind, also erstellen wir eine senkrechte Linie zum Durchmesser $AC$. Stellen Sie sicher, dass der Schnittpunkt der Punkt $O$ ist. Die Schnittpunkte von Lot und Kreis $c(O,r)$ sind nun die Punkte $B$ und $C$, unsere beiden letzten Eckpunkte.

Regelmäßiges Fünfeck

Zuerst zeichnen wir eine Skizze von Hand. Es muss nicht perfekt sein, da es nicht unsere endgültige Konstruktion ist, wir verwenden es nur zum Hobeln.

Beispiel. Konstruieren Sie ein regelmäßiges Fünfeck, wenn wir die Seite $a$ kennen.

Machen Sie einen Strahl mit $B$ als Endpunkt und konstruieren Sie dann den Punkt $A$ so, dass $|AB|=a$ ist. Wir wollen eine Winkelhalbierende von $|AB|$ erstellen. Nehmen Sie den Kompass und stellen Sie sicher, dass die Breite des Kompasses der Länge der Seite $a$ entspricht (WICHTIG!). Setzen Sie die Nadel auf $B$ und machen Sie zwei Kreisbögen $c(B, a)$. Wiederholen Sie den Schritt für Bögen von $c(A,a)$. Die Bögen schneiden sich in den Punkten $K$ und $L$. Schließen Sie sich ihnen an, um den Mittelpunkt zwischen $A$ und $B$ zu erreichen, Punkt $M$. Halten Sie den Kompassradius wieder auf der Länge von $a$, setzen Sie die Kompassnadel auf $M$ und machen Sie einen Bogen, der die Winkelhalbierende schneidet, wodurch der Punkt $N$ entsteht. Stellen Sie nun den Kompass auf die Länge von $AN$ ein. Setzen Sie die Nadel in $A$ und machen Sie einen Bogen, der sich mit dem Strahl schneidet, den wir am Anfang gemacht haben, das gibt uns einen Punkt $P$.

Der Abstand von $M$ zu $P$ ist ein sehr wichtiger Abstand – er gibt uns den Rest der Scheitelpunkte. Machen Sie den Radius des Kompass’ gleich dem Abstand zwischen $M$ und $P$. Setzen Sie die Nadel auf $B$ und machen Sie einen Bogen, der sich mit einem der Bögen schneidet, die wir gemacht haben, um den Mittelpunkt zu erhalten. Machen Sie den zweiten Bogen, der die Winkelhalbierende schneidet. Die Schnittpunkte sind die Punkte $E$ bzw. $D$. Um den Scheitelpunkt $C$ zu erhalten, setzen wir die Nadel in $A$ und wiederholen den Vorgang.

Beispiel. Konstruieren Sie ein regelmäßiges Fünfeck, wenn wir den Radius des umschriebenen Kreises kennen.

Konstruiere den Kreis $c(O, r)$ und zwei senkrechte Durchmesser, $overline$ und $overline$. Konstruieren wir nun die Winkelhalbierende des Segments $overline$, der Schnittpunkt ist der Punkt $M$. Nehmen Sie in der Breite des Kompasses die Länge zwischen $A$ und $M$ und setzen Sie eine Kompassnadel auf $M$, um einen Bogen zu erzeugen, der sich mit $overline . schneidet$. Der Schnittpunkt ist $N$.

Der Abstand von $A$ zu $N$ ist die Länge der Seite $a$ des regulären Fünfecks. Da wir nun die Länge von $a$ kennen, müssen wir Knoten konstruieren. Sei $D$ unser erster Knoten.

Zuerst öffnen wir den Kompass auf die Länge von $a$ und setzen die Kompassnadel auf $A$. Machen Sie nun einen Bogen, der sich mit dem Kreis $c(O,r|)$ schneidet, was uns den Scheitelpunkt $B$ gibt. Ohne die Breite des Kompasses zu ändern, setzen wir die Nadel auf $B$ und führen den gleichen Vorgang aus, um den Scheitelpunkt $A$ zu erhalten, und so weiter. Dieser Prozess gibt uns die verbleibenden $4$ Scheitelpunkte.

Regelmäßiges Sechseck

Beispiel. Konstruieren Sie ein regelmäßiges Sechseck, wenn wir die Seite $a$ kennen.

Wir können ein reguläres Sechseck in $6$ gleichseitige Dreiecke mit der Seite $a$ zerlegen. Der Scheitelpunkt $O$ ist der Mittelpunkt von eingeschriebenen und umschriebenen Kreisen und $|AO|=|BO|=|CO|=|DO|=|EO|=|FO|$. Zuerst konstruieren wir $igtriangleup ABO$ nach dem Verfahren, das wir bei der Konstruktion des gleichseitigen Dreiecks verwendet haben. Lassen Sie uns $c(O, |AO|)$ zeichnen. Da $O$ der Mittelpunkt des umschriebenen Kreises ist, wissen wir, dass die Scheitelpunkte des Sechsecks auf dem Kreis liegen. Jetzt nehmen wir einfach die Länge von $a$ in die Breite eines Zirkels und machen $4$-Bögen auf dem Kreis.

Ohne die Breite des Zirkels zu ändern, setzen wir die Zirkelnadel auf $B$, bilden und bogen, der den Kreis $c(O, |AO|)$ schneidet, was uns den Scheitelpunkt $C$ gibt. Dann setzen wir die Nadel auf $C$ und führen den gleichen Vorgang durch, um den Scheitelpunkt $D$ zu erhalten, und so weiter. Dieser Prozess gibt uns die letzten $4$ Scheitelpunkte. Es spielt keine Rolle, ob wir bei $A$ beginnen und es im Uhrzeigersinn oder wie hier bei $B$ tun, das Ergebnis wird das gleiche sein.

Wichtig zu merken: Im regelmäßigen Sechseck ist $igtriangleup ABO$ gleichseitiges Dreieck, was bedeutet, dass die Länge eines Radius des umschriebenen Kreises und die Länge einer Seite immer gleich sind.

Beispiel. Konstruieren Sie ein regelmäßiges Sechseck, wenn wir den Radius des umschriebenen Kreises kennen.

Dies ist noch einfacher. Wir zeichnen einfach den Kreis $c(O, r)$ und wählen einen Startpunkt darauf, sei es Punkt $A$. In einem regelmäßigen Sechseck wissen wir, dass der Radius des umschriebenen Kreises gleich der Seite des Polygons ist, was bedeutet, dass $r=|AO|=|AB|$. Da wir nun die Seite eines regelmäßigen Sechsecks haben, konstruieren wir die verbleibenden $5$-Scheitelpunkte wie im letzten Beispiel.

Regelmäßiges Achteck

Beispiel. Wie konstruiere ich ein regelmäßiges Achteck, wenn wir den Radius des umschriebenen Kreises kennen?

Zunächst konstruieren wir innerhalb des gegebenen Kreises ein Quadrat mit seinen Diagonalen nach dem oben beschriebenen Verfahren. Dann konstruieren wir Winkelhalbierende von $measuredangle AOB, measuredangle BOC, measuredangle COD$ und $measuredangle DOA$. Halbierende schneiden sich mit den umschriebenen Kreisen und geben uns $4$ neue Punkte, $E, F, G$ und $H$. Diese Punkte sind die verbleibenden Eckpunkte eines Achtecks.

Reguläres Zehneck

Beispiel. Wie konstruiere ich ein regelmäßiges Zehneck, wenn wir den Radius des umschriebenen Kreises kennen?

Zuerst konstruieren wir ein regelmäßiges Fünfeck innerhalb des gegebenen Kreises nach dem in Konstruktion des Fünfecks beschriebenen Verfahren. Dann verbinden wir jeden Scheitelpunkt mit dem Mittelpunkt des umschriebenen Kreises, um das Fünfeck in 5$ kongruente Dreiecke zu teilen. Der nächste Schritt ist die Konstruktion von Winkelhalbierenden von $measuredangle AOB, measuredangle BOC, measuredangle COD,measuredangle DOE$ und $measuredangle EOA$.

Halbierende schneiden sich mit den umschriebenen Kreisen und geben uns $5$ neue Punkte, $F, G, H, I$ und $J$. Diese Punkte sind die verbleibenden Eckpunkte eines Zehnecks.

Regelmäßiges Zwölfeck

Beispiel. Wie konstruiere ich ein regelmäßiges Zwölfeck, wenn wir den Radius des umschriebenen Kreises kennen?

Genau wie in den letzten beiden Beispielen können wir aus einem regelmäßigen Sechseck ein regelmäßiges Zwölfeck konstruieren. Winkelhalbierende der Mittelwinkel eines Sechsecks geben uns verbleibende Eckpunkte des Zwölfecks.


Benutzerdefinierte Polygon-Anzeige

Im Fenster "Benutzerdefinierte Polygonanzeige" können Sie festlegen, wie bestimmte Komponenten Ihrer Polygone angezeigt werden. Dieses Dialogfeld bietet die Möglichkeit, mehrere Optionen festzulegen, die auch im Menü "Anzeigen > Polygone" verfügbar sind, sowie die Kompatibilität mit früheren Versionen von Maya.

Bestimmt die Objekte, die von den Einstellungen betroffen sind, die Sie in diesem Fenster anwenden.

Ermöglicht die Anzeige von Scheitelpunkten und Scheitelpunktnormalen auf Polygonen.

Gleiche Wirkung wie die Optionen Display > Polygons > Vertices und Display > Polygons > Vertex Normals.

Gleicher Effekt wie Display > Polygons > Crease Vertices .

Gleicher Effekt wie Anzeige > Polygone > Scheitelpunktgröße .

Ermöglicht Ihnen, die Anzeige der Kantenhärte anzupassen.

Gleicher Effekt wie Display > Polygons > Standard Edges , Display Polygons > Soft/Hard Edges und Display > Polygons > Hard Edges .

Ermöglicht das Hervorheben von Randkanten, Texturkanten und Faltkanten.

Gleicher Effekt wie Display > Polygons > Border Edges , Display > Polygons > Crease Edges bzw. Display > Polygons Texture Border Edges .

Gleicher Effekt wie Anzeige > Polygone > Kantenbreite .

Allows you to display face centers, face normals and non-planar faces.

Same effect as Display > Polygons > Face Centers , Display > Polygons > Face Triangles and Display > Polygons > Non-planar Faces respectively.

Allows you to display the ID for each vertex, edge, face and UV.

Same effect as the options in Display > Polygons > Component IDs .

Adjusts the length of normals when they are displayed.

Same effect as Display > Polygons > Normals Size .

Same effect as Display > Polygons > UV Size .

Allows you to display UVs individually or as a topology on objects at all times.

Same effect as Display > Polygons > UVs and Display > Polygons > Unshared UVs respectively.

When Color in Shaded Display is on, you can see the effects of Apply Color , Prelighting , and the Paint Vertex Color Tool while in shaded mode. This option is turned on by default whenever you select these commands. Select a Color Material Channel to refine your application. See Coloring polygons using color per vertex data.

Same effect as Display > Polygons > Backface Culling .

Smooth Mesh Preview

Allows you to quickly see what meshes will look like when they are smoothed.

Same effect as pressing 2 on your keyboard.

Allows you to display both the original mesh (as a cage) and the smooth mesh at the same time, or just the smooth mesh.

Allows you to choose whether you want to edit the original version, the smoothed version, or both versions of your mesh simultaneously.

Only available when Display is set to Cage + Smooth Mesh .

Determines the number of concurrent smooth operations shown in the scene panel.

Extra controls

A number of extra options for Smooth Mesh Preview . For more information on these controls, see Smooth Options.


Schau das Video: Minereum Airdrop 3200 MNE. Scam or Legit (Oktober 2021).