Μετάβαση στο περιεχόμενο

Ορθοφωτοχάρτης σε μορφή .jp2 με αρχείο .jpw


Recommended Posts

Κάποιος φίλος μου έστειλε ορθοφωτοχάρτη σε εικόνα με κατάληξη .jp2 και γεωαναφορά .jpw.

Ξέρει κανείς με ποιο πρόγραμμα ανοίγει? Σε Autocad πάντως δεν μπορώ να το εισάγω.

Link to comment
Share on other sites

Το απλό Autocad δεν διαβάζει αρχείο γεωαναφοράς. Πρέπει να έχεις είτε το Civil 3D είτε το Raster Design.

Οσο για την μετατροπή σε tiff το είχα προσπαθήσει χωρίς επιτυχία με το ArcGIS 9.3

Με άλλο πρόγραμμα το είχα καταφέρει αλλά χειροκινητα και όχι αυτοματοποιημένα και επειδή έπαιρνε πολύ χρόνο το παράτησα.

Link to comment
Share on other sites

Έχει ξανασυζητηθεί. Μια λύση φαίνεται εδώ.

 

http://www.michaniko...post__p__433777

 

Από εκεί και πέρα, τον συνδυασμό tiff/tfw τον ανοίγει ακόμα και το LDT/Map 2002.

Edited by dsworks
Link to comment
Share on other sites

Για το "απλό" AutoCad υπάρχει αυτό το lispακι

 

Tools->AutoLisp->Load Application

 

Επιλεγεις το iraster.lsp

 

Κατοπιν γραφεις στη γραμμή εντολών Command Line: iraster

 

Και επιλεγεις το αρχειο που θες

 

Αν δε διαβαζει το *.jgw απλά μετονόμασέ το σε *.tfw

 

 

 

Edit

 

 

Δεν ανεβαίνει το αρχείο οπότε ο κωδικας είναι:

 

>
; Εισάγει μία εικόνα raster στο Autocad σύμφωνα με τα στοιχεία του βοηθητικού αρχείου *.tfw
(Defun Image_Input  (Name_tiff / Init_point1 Path_Image_Name Image_Name dt Xpix Ypix Xcoor Ycoor txt ss1 fact emax
   ed en et dxf10_1 dxf10_2 dxf10_3 dxf13_1 dxf12_2 dxf11_3 dxf12_1 dxf12_2 dxf12_3 Xsize Ysize
   count nname Detach_Name New_dxf_10 New_dxf_11 New_dxf_12 User_Sel Calc_Coef)
;Ελεγχος για την ύπαρξη του αρχείου εικόνας
(if (findfile Name_tiff) ;if 1
(progn ; progn1
 (setq Init_point1  (list 0.0 0.0)
Name_tiff_length (strlen Name_tiff)
Path_Image_Name  (substr Name_tiff 1 (- Name_tiff_length 4))
Name_tfw  (strcat Path_Image_Name ".tfw")
 );setq
;Ελεγχος για την ύπαρξη του βοηθητικού αρχείου tfw
(if (findfile Name_tfw) ;if 2
(progn ; progn 2
 (setq txt   (open Name_tfw "r")
Xpix   (abs (atof (read-line txt)))
dt   (read-line txt)
dt   (read-line txt)
Ypix   (abs (atof (read-line txt)))
Xcoor   (atof (read-line txt))
Ycoor   (atof (read-line txt))
count   (- Name_tiff_length 4)
) ;setq
 (while (not (eq "\\" (substr Name_tiff count 1)))
   (setq count (- count 1))
   ) ;while   
 (setq Detach_Name (substr Name_tiff (+ count 1) (- (- Name_tiff_length 4) count)))
 ; Ελεγχος ύπαρξης εικόνας με το ίδιο όνομα στο αρχείο Autocad
(if (dictsearch (namedobjdict) "ACAD_IMAGE_DICT")
 (if (dictsearch (cdar (dictsearch (namedobjdict) "ACAD_IMAGE_DICT")) Detach_Name)
  (command "-image" "d" Detach_Name)
 ); if
);if 
 (command "-image" "a" Name_tiff Init_point1 1 0)
 (princ "Επεξεργασία σε εξέλιξη ....")
 (progn
   (setq en (entlast)
  ed (entget en)
  et (cdr (assoc 0 ed))
  ) ; setq
   (if (= et "IMAGE")
  (setq dxf10_1 (cadr (assoc 10 ed)) ;X Insertion point
 dxf10_2 (caddr (assoc 10 ed)) ;Y Insertion point
 dxf10_3 (cadddr (assoc 10 ed)) ;Z Insertion point
 dxf11_1 (cadr (assoc 11 ed)) ;U-vector of a single pixel - 2st list element
 dxf11_2 (caddr (assoc 11 ed)) ;U-vector of a single pixel - 3st list element
 dxf11_3 (cadddr (assoc 11 ed)) ;U-vector of a single pixel - 4st list element
 dxf12_1 (cadr (assoc 12 ed)) ;V-vector of a single pixel - 2st list element
 dxf12_2 (caddr (assoc 12 ed)) ;V-vector of a single pixel - 3st list element
 dxf12_3 (cadddr (assoc 12 ed)) ;V-vector of a single pixel - 4st list element
 Xsize   (abs (cadr (assoc 13 ed))) ;Number of image pixels X
 Ysize   (abs (caddr (assoc 13 ed))) ;Number of image pixels Y
 ) ;setq
  ) ;if	
   (setq X_Scale_Fac (/ Xpix dxf11_1))
   (setq Y_Scale_Fac (/ Ypix dxf12_2))
   ) ;progn
 (setq New_dxf_10 (list Xcoor (- Ycoor (* Ysize Ypix) 0.0))
New_dxf_11 (list Xpix (* dxf11_2 X_Scale_Fac) (* dxf11_3 X_Scale_Fac))
New_dxf_12 (list (* dxf12_1 Y_Scale_Fac) Ypix (* dxf12_3 Y_Scale_Fac))
 ) ;setq
 (setq ed (subst (cons 10 New_dxf_10) (assoc 10 ed) ed))
 (entmod ed)
 (setq ed (subst (cons 11 New_dxf_11) (assoc 11 ed) ed))
 (entmod ed)
 (setq ed (subst (cons 12 New_dxf_12) (assoc 12 ed) ed))
 (entmod ed)
 (command "zoom" "e")
 (close txt)
) ;progn 2
 
;else if 2
 (progn
   (alert (strcat "    ====> ΔΙΑΚΟΠΗ ΠΡΟΓΡΑΜΜΑΤΟΣ <====\n\n\n - Δεν υπάρχει το βοηθητικό αρχείο ορισμού εικόνας:  " Name_tfw))
   (prompt (strcat "Δεν υπάρχει το βοηθητικό αρχείο: " Name_tfw))
   (exit)
 );progn
);if 2
) ;progn 1
;else if 1
 (progn
   (alert (strcat "    ====> ΔΙΑΚΟΠΗ ΠΡΟΓΡΑΜΜΑΤΟΣ <====\n\n\n - Δεν υπάρχει το αρχείο εικόνας:  " Name_tiff "\n\n - Ελέγξτε τα στοιχεία του αρχείου ASCII:  " ASCII_File_Name))
   (prompt (strcat "Δεν υπάρχει το αρχείο εικόνας " Name_tiff))
   (exit)
 );progn
);if 1
) ;

;====================================================================================================
; IRASTER κάνει εισαγωγή μίας εικόνας raster στο σωστό σημείο εισαγωγής και με σωστή κλίμακα η οποία
; υπολογίζεται από τα στοιχεία του αρχείου .TFW, το οποίο απαιτείται να συνοδεύει την εικόνα raster 
;								 ΕΚΔΟΣΗ 3.0 - [30-12-2004]
;  (Eκδοση 2.0 [30-12-2004] η εισαγωγή του αρχείου εικόνας raster γίνεται από dialog box
;  (Eκδοση 2.1 [9-1-2005] γίνονται οι ακόλουθοι πρόσθετοι έλεγχοι:
;   - Ελεγχος ύπαρξης του βοηθητικού αρχείου συντεταγμένων tfw
;   - Εάν έχει ήδη προηγούμενα εισαχθεί στο αρχείο Autocad εικόνα με το ίδιο όνομα τότε γίνεται
;	 detach η παλιά εικόνα και εισάγεται στη θέση της η νέα εικόνα
; (στην έκδοση 3.0 σώζεται το path στην registry των Windows (SOFTWARE\LAB))
;====================================================================================================
(Defun C:IRASTER  (/ Init_point1 Path_Image_Name Image_Name dt Xpix Ypix Xcoor Ycoor ss1 fact emax ed en et dxf10_1
 dxf10_2 dxf10_3 dxf13_1 dxf12_2 dxf11_3 dxf12_1 dxf12_2 dxf12_3 Xsize Ysize count nname
 Y_Scale_Fac Detach_Name New_dxf_10 New_dxf_11 New_dxf_12 User_Sel Calc_Coef ASCII_File_Name Wbl_Path
 Input_txt Count_Wbl_Path ed elast ed en Temp_Path Count_All_Images Registry_Val)
 (alert
   "						   ====== Ρουτίνα IRASTER ver 3.0 ======\n\nΤο πρόγραμμα υποστηρίζει την εισαγωγή όλων των τύπων αρχείων εικόνας, που υποστηρίζει το Autocad\n\nΕφόσον επιλέξετε για τις εικόνες raster ΜΑΖΙΚΗ ΔΗΜΙΟΥΡΓΙΑ αρχείων dwg (επιλέγοντας <File> σε σχετικό ερώτημα της ρουτίνας) τότε θα πρέπει προηγούμενα να έχετε δημιουργήσει ένα ASCII αρχείο με όλα τα ονόματα των αρχείων των εικόνων raster\n\n\Το προηγούμενο αρχείο ASCII θα πρέπει να βρίσκεται ΥΠΟΧΡΕΩΤΙΚΑ στο ίδιο directory με τις εικόνες raster που επιθυμούμε να επεξεργασθούμε\n\n\n(Πατώντας ΟΚ το πρόγραμμα θα συνεχισθεί κανονικά)"
   )
 (initget "One File")
 (if (not (setq User_Sel (getkword "Επιλέξτε εισαγωγή μίας μόνο εικόνας ή μαζική εισαγωγή από αρχείο ASCII:\nOne/File <One>: ")))
   (setq User_Sel "One"))	
 (if (= "One" User_Sel)
   (progn
(if (not (setq Registry_Val (vl-registry-read "HKEY_CURRENT_USER\\SOFTWARE\\LABROS\\IRASTER" "IMAGE")))
	 (setq Name_tiff (getfiled "Επιλέξτε το αρχείο της εικόνας raster" "" "tif;jpg;bmp;gif" 0))
	 (setq Name_tiff (getfiled "Επιλέξτε το αρχείο της εικόνας raster" (strcat Registry_Val "\\") "tif;jpg;bmp;gif;*" 0))
); 
(vl-registry-write "HKEY_CURRENT_USER\\SOFTWARE\\LABROS\\IRASTER" "IMAGE" (vl-filename-directory Name_tiff))	
  (if (= Name_tiff nil)
(progn
  (prompt "\nΔεν επιλέχθηκε αρχείο !!!\n")
  (alert "ΔΙΑΚΟΠΗ ΠΡΟΓΡΑΜΜΑΤΟΣ γιατί δεν επιλέχθηκε αρχείο εικόνας raster")
  (exit)
) ;progn
  ) ;if
  (Image_Input Name_tiff) ; υπορουτίνα εισαγωγής εικόνας
  (setq Calc_Coef (strcat "Επιτυχής ολοκλήρωση εισαγωγής της εικόνας\nΟ συντελεστής κλίμακας του <" Name_tiff "> είναι:  "
 (rtos X_Scale_Fac)))
  (alert Calc_Coef)
  (print Calc_Coef)
  (princ)
  ) ;progn
 ;else if
   (progn
(if (not (setq Registry_Val (vl-registry-read "HKEY_CURRENT_USER\\SOFTWARE\\LABROS\\IRASTER" "ASCII_INPUT")))
	 (setq ASCII_File_Name (getfiled "Επιλέξτε το αρχείο ASCII μαζικής εισαγωγής εικόνων" "" "txt;*" 0))
	 (setq ASCII_File_Name (getfiled "Επιλέξτε το αρχείο ASCII μαζικής εισαγωγής εικόνων" (strcat Registry_Val "\\") "txt;*" 0))
); 
(vl-registry-write "HKEY_CURRENT_USER\\SOFTWARE\\LABROS\\IRASTER" "ASCII_INPUT" (vl-filename-directory ASCII_File_Name))	
 
  (if (= ASCII_File_Name nil)
(progn
  (prompt "\nΔεν επιλέχθηκε αρχείο !!!\n")
  (alert
 "Διακοπή προγράμματος γιατί ΔΕΝ ΕΠΙΛΕΧΘΗΚΕ αρχείο μαζικής εισαγωγής εικόνων raster"
 )
  (exit)
) ;progn
  ) ;if
  (print ASCII_File_Name)
  (setq Temp_Path (strcat (Get_Path ASCII_File_Name) "ΜΗΝ ΔΩΣΕΤΕ κάποιο αρχείο εδώ"))
  (setq Wbl_Path (getfiled "Επιλέξτε το directory αποθήκευσης των αρχείων DWG εικόνων raster" Temp_Path  "" 1))
  (if (= Wbl_Path nil)
(progn
  (prompt "\nΔεν επιλέχθηκε directory !!!\n")
  (alert "Διακοπή προγράμματος γιατί ΔΕΝ ΕΠΙΛΕΧΘΗΚΕ directory δημιουργίας των αρχείων DWG για κάθε μία εικόνα raster"
 )
  (exit)
) ;progn
  ) ;if
  (setq Wbl_Path  (Get_Path Wbl_Path)
 Input_txt (open ASCII_File_Name "r")
 Count_All_Images 0
  ) ;setq
  (while (setq dt (read-line Input_txt))
(Image_Input (strcat (Get_Path ASCII_File_Name) dt)) ; υπορουτίνα εισαγωγής εικόνας
(command "wblock" (strcat Wbl_Path dt) "*")
(setq ed    (entget (entlast))
   elast (last ed)
   en    (cdr (assoc -1 ed))
   Count_All_Images (+ Count_All_Images 1)
) ;setq
(entdel en)
  ) ;while
   (alert (strcat "Ολοκληρώθηκε με επιτυχία η δημιουργία " (itoa Count_All_Images) " αρχείων DWG από τις εικόνες του αρχείου " ASCII_File_Name))
  (princ)
   ) ;progn else if
  )
)

 

 

Κάνε απόθηκευση σε ενα txt αρχειο με την κατάληξη *.lsp

Edited by GiorgosKal
  • Upvote 1
Link to comment
Share on other sites

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε προκειμένου να αφήσετε κάποιο σχόλιο

Πρέπει να είστε μέλος για να μπορέσετε να αφήσετε κάποιο σχόλιο

Δημιουργία λογαριασμού

Κάντε μια δωρεάν εγγραφή στην κοινότητά μας. Είναι εύκολο!

Εγγραφή νέου λογαριασμού

Σύνδεση

Εάν έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
×
×
  • Create New...

Σημαντικό

Χρησιμοποιούμε cookies για να βελτιώνουμε το περιεχόμενο του website μας. Μπορείτε να τροποποιήσετε τις ρυθμίσεις των cookie, ή να δώσετε τη συγκατάθεσή σας για την χρήση τους.