Ciao,
Ho un grande set di dati GPS su strada. Come posso selezionare i dati che rientrano in un limite? (vedi allegato, ho importato il confine utilizzando ESRI nel componente aggiuntivo JMP)? So di poterlo fare manualmente con il Lazo ma mi chiedevo se esiste un modo più semplice.
@shasheminassab ,
Supponendo che i tuoi file di dati abbiano latitudine e longitudine e che il tuo confine sia definito da una sequenza di latitudine e longitudine, esiste una funzione che può essere utile chiamata InPolygon (). Se il tuo file di dati ha numerosi punti, il metodo della forza bruta mostrato nello script qui sotto probabilmente non è efficiente.
Ecco la sceneggiatura. L'immagine è mostrata sotto e l'output del registro mostra che i punti 2 e 3 si trovano all'interno dell'area.
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);

Il registro mostra res = {[44 40], [75 50]};
Potresti essere in grado di creare un file della mappa in cui la selezione per area denominata potrebbe essere più semplice. Altri potrebbero avere metodi più efficienti.
Se hai un file di grandi dimensioni, potrei definire un rettangolo che delimita il confine per schermare rapidamente i punti ovviamente non nell'area di confine.
Sarà interessante vedere altri metodi suggeriti.