Hallo,
Ich habe einen großen On-Road-GPS-Datensatz. Wie kann ich die Daten auswählen, die innerhalb einer bestimmten Grenze liegen? (siehe Anhang, ich habe die Grenze mit dem Add-In ESRI to JMP importiert)? Ich weiß, dass ich es manuell mit dem Lasso machen kann, aber ich habe mich gefragt, ob es einen einfacheren Weg gibt.
@shasheminassab ,
Angenommen, Ihre Datendateien haben Breiten- und Längengrade und Ihre Grenze wird durch eine Folge von Breiten- und Längengraden definiert, dann gibt es eine Funktion namens InPolygon(), die nützlich sein kann. Wenn Ihre Datendatei zahlreiche Punkte enthält, ist die im folgenden Skript gezeigte Brute-Force-Methode wahrscheinlich nicht effizient.
Hier ist das Skript. Das Bild wird unten gezeigt und die Protokollausgabe zeigt, dass sich die Punkte 2 und 3 innerhalb des Bereichs befinden.
Names Default To Here( 1 );
xpt = [11 44 75];
ypt = [75 40 50];
New Window( "Example",
Graph Box(
Fill Color( "red" );
Polygon( [10 30 90], [88 22 44] );
Marker( Marker State( 3 ), xpt, ypt )
)
);
res={};
For(i=1, i<=ncol(xpt), i++,
if(InPolygon(xpt[1,i], ypt[1,i], [10 30 90], [88 22 44]), Insert into (res,xpt[1,i]*[1 0] + ypt[1,i]*[0 1] ) );
);
show(res);

Das Protokoll zeigt res = {[44 40], [75 50]};
Möglicherweise können Sie eine Kartendatei erstellen, in der die Auswahl nach benanntem Bereich möglicherweise einfacher ist. Andere haben vielleicht effizientere Methoden.
Wenn Sie eine große Datei haben, kann ich ein Rechteck definieren, das Ihre Grenze begrenzt, um Punkte schnell zu überprüfen, die offensichtlich nicht in Ihrem Grenzbereich liegen.
Es wird interessant sein, andere vorgeschlagene Methoden zu sehen.