2009-02-10 18 views
11

Ho una mappa di elevazione memorizzata come un raster. Mi piacerebbe inserire una curva "vettoriale" uniforme sui contorni di elevazione costante. Nella mia applicazione, i dati sono in realtà elevazioni geografiche, ma il problema potrebbe essere generalizzato a qualsiasi funzione di due variabili.Come approssimare un contorno vettoriale da un raster di elevazione?

Posso produrre un altro raster con linee di contorno anti-alias e usarlo come input per il processo di adattamento vettoriale, se questo aiuta.

This question è simile, ma sto cercando una libreria gratuita che possa essere utilizzata nella mia applicazione Java, o una spiegazione dell'algoritmo I (un non matematico) in grado di implementare me stesso. Inoltre, nel mio caso, ho già trovato tutti i "bordi" che mi interessano di — Ho solo bisogno di vettorizzarli.

Another question tocca il mio, ma il poster non è mai tornato per spiegare come ha implementato il passaggio finale, che è la parte che mi manca.

+2

Purtroppo googling finisce per lo più con le pagine su come fare questo in ArcGIS o MapView. –

risposta

2

Probabilmente si desidera adattarsi alle spline di bezier chiuse (curve).

C'è uno page with a Java applet che esegue tale adattamento. Dai un'occhiata al loro (non commentato, bleh) PSegment.java

Se questo non fa abbastanza bene il lavoro, Fitting B-Spline Curves to Point Clouds by Squared Distance Minimization dovrebbe essere eccessivo per l'attività.

Per ulteriori informazioni, Google (Scholar) cerca cose come "b-spline fitting" e "chiuso bezier spline" dovrebbe aiutare.

1

Io uso GDAL. E secondo me probabilmente lo non vuoi creare spline di Bézier, il che aggiunge complessità. I segmenti della linea corta sono abbastanza buoni.

L'unico problema è che dovresti creare i contorni al momento della preparazione dei dati, non nella tua app Java.

Ecco una mappa con alcuni contorni creati dal USGS height data usando GDAL:

enter image description here

+0

Potete fornire un esempio o un collegamento per i contorni in GDAL? Si prega di –

+0

Si prega di consultare http://www.gdal.org/gdal_contour.html. Sfortunatamente non ho i miei esempi di tre anni e mezzo fa. –

Problemi correlati