|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Member
Iscritto dal: Dec 2004
Città: Mantova
Messaggi: 230
|
[JAVA] Aiuto x aprire file hdr
salve, io avrei un problema a creare quasto programmino:
creare un programma che legge il file hdr, ne ricava I parametri del file dati associato, apre il file dati associato questi sono i 2 files: DOWNLOAD ![]() grazie
__________________
Cooler Master Elite 332 (RC-332) - Intel I5 4570 - SSD Samsung 840 250GB - Seagate Barracuda 320GB SATA-II 16MB AsRock H87 Pro4 - Dimm 2X4GB DDR3 1600 Corsair - Radeon HD 7950 3GB Monitor Samsung 22" S22D390H (Res. Max. 1920x1080) - Alimentatore Enermax Pro82+ 425W Ultima modifica di dejsav : 01-11-2006 alle 22:43. |
![]() |
![]() |
![]() |
#2 | |
Senior Member
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
|
Quote:
Ma in ogni non è affatto chiaro come è strutturato il file .bin. Senza delle informazioni e delle specifiche precise su cosa contiene il file bin, dubito che si possa fare qualcosa con quel file. Inoltre dovresti specificare con quale linguaggio vuoi/devi fare questo programmino. ![]()
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%) |
|
![]() |
![]() |
![]() |
#3 |
Member
Iscritto dal: Dec 2004
Città: Mantova
Messaggi: 230
|
le uniche informazioni che ho sono quelle e dovrei farlo con java
ho anche questa documentazione: DOWNLOAD e le istruzioni totali sarebbero queste: Passo 1: creare un programma che legge il file hdr, ne ricava I parametri del file dati associato, apre il file dati associato Passo 2: usando la banda 1 e la banda 4 del file dati, calcolo del NDVI e sua visualizzazione Passo3: diesegnare un'interfaccia che opermetta all'utente di scegliere il valore del NDVI di soglia visualizzando cosa succede un real time per la scelta di un valore o di un altro Passo 4: scelta la soglia, l'utente salva il file in formato ENVI 8 cioe' dati e HDR). Il file contiene il valore dell'NDVI nei punti dove è piu' alto della soglia, 0 negli altri punti.
__________________
Cooler Master Elite 332 (RC-332) - Intel I5 4570 - SSD Samsung 840 250GB - Seagate Barracuda 320GB SATA-II 16MB AsRock H87 Pro4 - Dimm 2X4GB DDR3 1600 Corsair - Radeon HD 7950 3GB Monitor Samsung 22" S22D390H (Res. Max. 1920x1080) - Alimentatore Enermax Pro82+ 425W |
![]() |
![]() |
![]() |
#4 | ||
Senior Member
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
|
Quote:
![]() Credo di aver capito quale è la struttura del file. Il file bin è lungo 524288 (esattamente 512KiB). Nell'header c'è scritto: samples = 256 lines = 256 bands = 4 data type = 2 Cioè il file binario è suddiviso in 4 blocchi. Ogni blocco è composto da un array di 256x256 interi a 16 bit (data type 2). I conti tornano: 256 * 256 * 2 * 4 = 524288. ![]() Quote:
![]() Comunque, a grandi linee, puoi fare così: Crei una classe (es. EnviHeader) che incapsula i dati dell'header. Tramite un metodo apposito, apri, leggi il file riga x riga, interpreti i valori e li metti nella classe. Poi crei una seconda classe (es. EnviData) a cui passi un oggetto della precedente classe. A quel punto, apri il file binario e in base ai parametri, leggi i dati. Ad esempio potresti ottenere un array bidimensionale con tutti i dati di una banda.
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%) |
||
![]() |
![]() |
![]() |
#5 |
Member
Iscritto dal: Dec 2004
Città: Mantova
Messaggi: 230
|
ok grazie ci provo
anche se non ho la + pallida idea di come si faccia lol
__________________
Cooler Master Elite 332 (RC-332) - Intel I5 4570 - SSD Samsung 840 250GB - Seagate Barracuda 320GB SATA-II 16MB AsRock H87 Pro4 - Dimm 2X4GB DDR3 1600 Corsair - Radeon HD 7950 3GB Monitor Samsung 22" S22D390H (Res. Max. 1920x1080) - Alimentatore Enermax Pro82+ 425W |
![]() |
![]() |
![]() |
#6 | |
Senior Member
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
|
Quote:
Comunque, se mi permetti un suggerimento, inizia a creare la classe che si occupa esclusivamente di leggere ed incapsulare le informazioni del file di header. Tieni presente che nell'header ci sono diverse informazioni che influenzano il modo con cui si devono poi leggere i dati dal file .bin. E cioè i valori di "interleave" e "byte order".
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%) |
|
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 17:47.