วิธีการแก้ไขกระบวนการโมเสคขนาดใหญ่ที่ล้มเหลว?


11

ฉันต้องต่อภาพขนาด 550Gb เข้าด้วยกันและซอฟต์แวร์ที่ฉันพยายามจะล้มเหลว พื้นที่ถูกแบ่งออกเป็นโซนเพื่อให้มีขนาดเล็กที่สุดมีประมาณ 200 แผ่น

ฉันใช้ ERDAS เวอร์ชันล่าสุด (Imagine and Mapper), ArcINFO และ Global Mapper บน 3.30 กิกะเฮิร์ตซ์ Intel Xeon E31245, DELL, 16GB RAM, 64-bit Win 7 Professional Mullti-core (4 total), Hyper-threaded (8 total) เครื่องจักร My C มี 700GB ฟรีและ D มี 1.5TB

ฉันกำลังมองหาการใช้ Grass (ไม่เคยมีมาก่อน) แต่ i.image.mosaic ดูเหมือนว่าจะจัดการไฟล์ 4 ไฟล์เท่านั้น ... บางเหมืองมี 600 ไทล์ ตัวเลือกอื่นหรือซอฟต์แวร์โอเพนซอร์สที่จะลอง?

ขออภัยควรเพิ่มว่าเราไม่สามารถใช้ชุดข้อมูล mosaic (หรือเทียบเท่ากับซอฟต์แวร์อื่น ๆ ) ได้เนื่องจากเราจำเป็นต้องสร้างโซนที่ไม่มีพื้นที่ข้อมูลกำหนดไว้เป็น ecw เพื่อให้สามารถเปิดได้ในซอฟต์แวร์ GIS ใด ๆ และรวมกับความละเอียดต่ำกว่า / เก่ากว่า ข้อมูลเมื่อไม่มีข้อมูลใหม่อย่างราบรื่น

ป้อนคำอธิบายรูปภาพที่นี่ตัวอย่างของไฟล์กระเบื้องเคลือบสลับสีที่ดูในซอฟต์แวร์ที่แตกต่างกัน Global Mapper / ERDAS นั้นใช้ได้ แต่ไม่ถูกต้องใน arcgis

--- ข้อมูลเก่า ---

ป้อนคำอธิบายรูปภาพที่นี่

ขออภัยสำหรับการวาดภาพหยาบ ดังนั้นการมีพื้นที่สีเป็น 5 โซนจะช่วยลดพื้นที่ข้อมูลใน AOI ที่ใหญ่ขึ้น

ใน arcgis รหัสมีดังนี้ (นี่คือการทำงานเป็นแบบจำลองและไม่ได้อยู่ในหลามที่ฉันไม่ได้รับมันเพื่อรับอินพุต tifList)

arcpy.MosaicToNewRaster_management(tifList+";" +mask,RootOutput,"Tile1.tif","PROJCS['GDA_1994_MGA_Zone_55',GEOGCS['GCS_GDA_1994',DATUM['D_GDA_1994',SPHEROID['GRS_1980',6378137.0,298.257222101]],PRIMEM['Greenwich',0.0],UNIT['Degree',0.0174532925199433]],PROJECTION['Transverse_Mercator'],PARAMETER['False_Easting',500000.0],PARAMETER['False_Northing',10000000.0],PARAMETER['Central_Meridian',147.0],PARAMETER['Scale_Factor',0.9996],PARAMETER['Latitude_Of_Origin',0.0],UNIT['Meter',1.0]]","16_BIT_UNSIGNED","0.5","3","MAXIMUM","#")

# Replace a layer/table view name with a path to a dataset (which can be a layer file) or create the layer/table view within the script
# The following inputs are layers or table views: "test2"

arcpy.CopyRaster_management(OutputFile,RootOutput+"Tile1b.tif","#","256","256","NONE","NONE","16_BIT_UNSIGNED")

โดยที่ tifList ควรอ่านจากไฟล์ csv แต่นี่ใช้ไม่ได้กับไพ ธ อนดังนั้นฉันจึงเรียกใช้งานข้างต้นในแบบจำลองแทน ...

ฉันมีพื้นที่ว่าง 1.5TB + ในไดรฟ์ของฉัน แต่กระบวนการขัดข้องโดยมีข้อผิดพลาด 9999

แม้กระทั่ง 100 กระบวนการกระเบื้อง - ฉันควรดูที่การแบ่งโซนขึ้นอีกหรือไม่


3
นั่นเป็นจำนวนข้อมูลที่บ้าที่จะผลักดัน คุณไม่ได้พยายามที่จะรวมมันไว้ในไฟล์ TIF แบบ ginormous หนึ่งไฟล์ใช่ไหม? ฉันจะแนะนำให้สร้างชุดกระเบื้องโมเสคหรือบริการแผนที่ที่เก็บไว้ชั่วคราว
blah238

ใช่มันคือ ... ไม่มันจะเป็นอุดมคติ 7 ecw ของบุคคลหรือ tif (ถ้าใช้ arcgis) ฉันสามารถเพิ่มภาพขนาด / โซน แต่ไม่แน่ใจว่าจะเป็นประโยชน์หรือไม่
GeorgeC

จากความคิดเห็นของคุณเกี่ยวกับองค์กรของคุณโดยใช้ MapInfo และซอฟต์แวร์อื่น ๆ แทนที่จะเป็น ArcGIS ฉันจะลบคำตอบของฉันเพราะไม่สามารถตอบสนองความต้องการของคุณได้เลย อย่างไรก็ตามฉันขอแนะนำให้คุณใส่รายละเอียดเกี่ยวกับข้อกำหนดซอฟต์แวร์ของคุณในคำถามของคุณเพื่อป้องกันไม่ให้เดินทางไปตามเส้นทาง Esri เพิ่มเติม
Spatial

@ GetSpatial - ขอบคุณสำหรับคำตอบโดยละเอียด มันเป็นทางออกหนึ่งสำหรับระยะสั้นและเราอาจจะใช้มัน แต่เมื่อฉันกล่าวถึงในคำถามของฉันเราเป็นซอฟต์แวร์อิสระและมี biggies (ESRI / ERDAS / MAPINFO และ Global Mapper) กุญแจสำคัญสำหรับเราคือผลลัพธ์ - ~ 5 โมเสคที่ไม่มีพื้นที่ข้อมูลที่กำหนดไว้เพื่อให้สามารถใช้ภาพอื่นได้ ECW's ควรมีข้อมูลที่ไม่มีการกำหนดไว้ในซอฟต์แวร์ทั้งหมด - เราพบว่าโมเสสบางตัวไม่คงคุณสมบัติการไม่มีข้อมูลไว้ในซอฟต์แวร์ที่แตกต่างกัน ฉันจะโพสต์ตัวอย่าง ขอบคุณอีกครั้ง. ฉันอยากจะขอให้คุณเก็บคำตอบไว้ที่นี่ฉันจะโหวตให้
GeorgeC

คำตอบ:


9

ฉันจะต้องทำตามคำแนะนำของ 2nd @ blah238 ในการใช้วิธีการเข้าถึงข้อมูลอื่น ๆ มากกว่าการสร้างภาพโมเสกเดียว การเดาง่าย ๆ ว่าไม่มีเดสก์ท็อปที่สามารถจัดการกับปริมาณข้อมูลที่คุณต้องดำเนินการเพื่อทำโมเสกทั้งหมดเหล่านั้น
หากต้องการทำลายมันอาจมีอยู่สองแห่งที่คุณมีพื้นที่เหลืออยู่

  1. สิ่งแรกจะอยู่ในบัฟเฟอร์ RAM ของคุณ เพื่อให้ข้อมูลโมเสคคุณกำลังรวมทุกอย่างไว้ในไฟล์เดียวซึ่งหมายความว่าเป็นการดีที่ไฟล์ทั้งหมดจะถูกเก็บไว้ในหน่วยความจำ คุณไม่มี RAM 550GB หมายความว่าจะมีการอ่าน / เขียนจากหน่วยความจำเสมือน นั่นเพียงพอที่จะทำให้กระบวนการขัดข้องตรงนั้น
  2. ปัญหาอื่น ๆ น่าจะเป็นพื้นที่ว่างบนฮาร์ดดิสก์ การดำเนินการแบบแรสเตอร์จำนวนมากสร้างไฟล์ชั่วคราวในไดเรกทอรี "พื้นที่ทำงาน" ของคุณที่ค่อนข้างใหญ่ อาจมี 2 หรือ 3 หรือมากกว่านี้ก่อนที่จะเขียนชุดข้อมูลสุดท้ายดังนั้นจึงเป็นไปได้ที่จะใช้พื้นที่ดิสก์ทั้งหมดของคุณในระหว่างการประมวลผล

ตอนนี้สำหรับโซลูชั่นอื่น ๆ ตามที่ระบุไว้ในการแสดงความคิดเห็นดังกล่าวข้างต้นมีตัวเลือกในการสร้างโมเสคชุดข้อมูล ชุดข้อมูลนี้จะช่วยให้คุณไม่เพียง แต่ถือว่ากระเบื้องแต่ละใบเป็นภาพเดี่ยวที่ไร้รอยต่อ แต่ยังรักษาข้อมูลเมตาเกี่ยวกับกระเบื้องแต่ละแผ่นที่อยู่ภายใน นอกจากนี้ยังช่วยให้คุณสามารถดำเนินการแรสเตอร์เช่นHillshade

ตัวเลือกอื่น ๆ ที่ผมอยากจะแนะนำให้ขึ้นอยู่กับความคิดเห็นของคุณเกี่ยวกับความต้องการที่จะมีโซนแยกออกจากกันจะสร้างแคตตาล็อก Raster แคตตาล็อก Raster นั้นเป็นชั้นกลุ่ม คุณสามารถเพิ่มชุดข้อมูลแรสเตอร์หลายชุดได้ พวกเขาสามารถจัดการได้ในฐานข้อมูลทางภูมิศาสตร์และนำเข้า rasters หรือเพียงแค่สร้างชุดข้อมูลที่ไม่มีการจัดการที่แคตตาล็อก Raster รักษาเส้นทางไปยังชุดข้อมูล Raster ดั้งเดิม เมื่อคุณโหลดเลเยอร์นี้ลงใน ArcMap คุณสามารถตั้งค่าคุณสมบัติการแสดงผลเพื่อโหลดเฉพาะจำนวนไทล์แรสเตอร์จำนวนหนึ่งในคราวเดียวหรือตั้งค่าขนาดจอแสดงผลและความละเอียด
ขณะนี้ฉันกำลังใช้แคตตาล็อกแรสเตอร์เพื่อจัดเรียงภาพถ่ายทางอากาศจำนวน 100 + GB ประสิทธิภาพดีมาก หากคุณกำลังมองหาที่เก็บข้อมูลประเภทต่าง ๆ เพียงเพื่อใช้ในการจัดการไทล์เป็นจำนวนมากฉันขอแนะนำ

นี่คือรหัสที่คุณสามารถใช้เพื่อสร้างแคตตาล็อก Rasterจากนั้นนำเข้าพื้นที่ทำงานของไทล์ลงใน:

import arcpy
import os

newdir = r"c:\data"
dbname = "Aerialphotos.gdb"
gdbdir = os.path.join(newdir, dbname)
rcat = "AerialCatalog"

arcpy.CreateRasterCatalog_management(gdbdir, rcat,
                                     "NAD 1983 StatePlane California VI FIPS 0406 (US Feet).prj", 
                                     "NAD 1983 StatePlane California VI FIPS 0406 (US Feet).prj",
                                     "MAX_FILE_SIZE_4GB", "1000", "3000", "9000",
                                     "UNMANAGED", "")

#Load all raster datasets in workspace to Raster Catalog
rcatdir = os.path.join(gdbdir, rcat)
rastertiledir = os.path.join(newdir, "tiles")

arcpy.WorkspaceToRasterCatalog_management(rastertiledir, rcatdir,
                                          "INCLUDE_SUBDIRECTORIES",
                                          "PROJECT_ONFLY")

หวังว่านี่จะช่วยได้!

------------- แก้ไข

นี่คือกราฟิกของไทล์ที่จัดการโดยแคตตาล็อกแรสเตอร์ของฉัน โปรดทราบว่าคุณสามารถเลือกให้แสดง wireframes หรือข้อมูลแรสเตอร์ แคตตาล็อกแรสเตอร์มีตารางแอตทริบิวต์ที่คุณสามารถเพิ่มฟิลด์ได้เช่นถ้าคุณต้องการเพิ่มการกำหนดโซนเช่นเดียวกับในกราฟิกของคุณ จากนั้นคุณสามารถเลือกที่จะแสดงภาพแรสเตอร์เหล่านั้นในโซนเฉพาะ
เมื่อพิมพ์ภาพกราฟิกจากมุมมองเลย์เอาต์ความละเอียดเต็มรูปแบบของภาพแรสเตอร์จึงไม่สูญเสียคุณภาพในการพิมพ์

ป้อนคำอธิบายรูปภาพที่นี่

นี่คือกราฟิกเดียวกัน แต่แสดงข้อมูลแรสเตอร์บางส่วนพร้อมกับ wireframes บางส่วน

ป้อนคำอธิบายรูปภาพที่นี่


ขอบคุณสำหรับเวลาของคุณในเรื่องนี้ มันเป็นทางออกระยะสั้นที่ดี แต่เนื่องจากองค์กรใช้ Mapinfo และซอฟต์แวร์อื่น ๆ เราจำเป็นต้องสร้าง ecw ด้วยพื้นที่สภาซึ่งแบ่งออกเป็น 5 โซน Mapinfo มีเลเยอร์ที่ไร้รอยต่อ (คล้ายกับแคตตาล็อก Raster) แต่สิ่งสำคัญคือต้องไม่มีการกำหนดพื้นที่ข้อมูลเพื่อให้เราสามารถซ้อนภาพใหม่ด้วยภาพเก่าที่มีพื้นที่ครอบคลุมมากขึ้นและลดจำนวนไฟล์ที่จะเปิด
GeorgeC

1
ในอนาคตคุณอาจได้รับคำตอบที่เกี่ยวข้องมากขึ้นถ้าคุณให้ข้อมูลประเภทนี้ในคำถามเริ่มต้นของคุณ
Spatial

1
คุณเคยดูว่าMapInfo สามารถใช้บริการอะไรของแผนที่เว็บได้บ้าง ฉันสงสัยว่าคุณจะต้องการที่จะนำข้อมูลที่เก็บไว้ในเวอร์ชันนี้มาเก็บไว้ในเซิร์ฟเวอร์เพื่อการบริโภคขององค์กรไม่ใช่ข้อมูลดิบ ฉันคิดว่าสิ่งที่ไม่มีข้อมูลเป็นจุดที่สงสัยกับบริการแผนที่เพราะคุณจะไม่สร้างกระเบื้องที่ไม่มีข้อมูลและสิ่งที่อยู่ภายใต้จะแสดงผ่าน
blah238

7

ฉันรู้ว่าฉันไปงานปาร์ตี้สาย แต่นี่คือคำแนะนำของฉัน

1) ขนาดภาพ
หากต้นฉบับ 550GB ของคุณไม่ได้รับการบีบอัดคุณควรแปลงเป็นไฟล์ TIFF ที่บีบอัด jpeg ทำให้พวกเขาเป็นรายบุคคล (ไม่รวม) คุณสามารถบีบอัดโดยใช้ arcgis, gdal อะไรก็ได้ที่คุณต้องการ การบีบอัดจะช่วยให้คุณมีขนาดประมาณ 23GB อย่าสร้างปิรามิด / ภาพรวมในตอนนี้ ในการบีบอัดคุณสามารถใช้โปรแกรม gis ที่คุณชอบได้ แต่ฉันชอบใช้ gdal ดังนั้นคำสั่งก็คือ:

gdalwarp -multi -wm 512 --config  GDAL_CACHEMAX 512 -co compress=jpeg -co tiled=yes -co jpeg_quality=70 -co PHOTOMETRIC=YCBCR -co INTERLEAVE=PIXEL uncompressed.tif compressed.tif

คุณสามารถสร้างไฟล์แบ็ตที่ผ่านการบีบอัดไฟล์ทั้งหมดของคุณได้อย่างง่ายดาย ฉันชอบที่จะใช้ gdalwarp เพื่อบีบอัดภาพของฉันแทนที่จะเป็น gdal_translate ปกติเพราะมันเร็วกว่า (ใช้ตัวเลือกมัลติสำหรับมัลติคอร์และ -wm สำหรับหน่วยความจำมากมาย)

2) การจัดการเป็นภาพเดียว
คุณสามารถสร้างโมเสก "เสมือน" โดยใช้รูปแบบ gdal vrt สิ่งนี้เข้ากันได้กับ arcgis, qgis, mapserver และอื่น ๆ ไม่แน่ใจเกี่ยวกับ mapper ระดับโลกและ mapinfo รูปแบบ. vrt เป็นเพียงไฟล์ xml เดียวที่แสดงภาพของคุณ นั่นเป็นคำสั่งเดียวที่จะสร้าง:

gdalbuildvrt nameofmosaic.vrt compressed_tif_folder\*.tif

ไฟล์นี้มีขนาดไม่กี่ kb

3) การสร้างภาพข้อมูลเร่ง
คุณต้องสร้างปิรามิด / ภาพรวม เพียงใช้ซอฟต์แวร์ที่คุณต้องการสำหรับสิ่งนี้ การรักษาด้วยเครื่องมือ gdal คุณสามารถ:

gdaladdo -ro -r average --config COMPRESS_OVERVIEW JPEG --config JPEG_QUALITY_OVERVIEW 70 nameofmosaic.vrt 2 4 8 16 32 64 128

นี่จะใช้เวลานาน พร้อมที่จะรอการประมวลผลแบบไม่หยุด 2 ถึง 3 วัน

4) การใช้ mosaic
โหลดโมเสกเสมือนในโปรแกรม gis ของคุณ มันจะเร็วเพราะอ่านภาพรวมที่อยู่ใน 1 ไฟล์เช่น ecw เมื่อคุณซูมเข้ากับความละเอียดที่แท้จริงของภาพของคุณแล้วจะมีเพียง Visibile เพียงไม่กี่ตัวจากรูปภาพที่ถูกบีบอัดเท่านั้นที่จะถูกอ่านและนั่นก็รวดเร็วเช่นกัน

5) การจัดการของคุณไม่มีพื้นที่ข้อมูลที่แสดงสีดำ
คุณมี 3 โซลูชั่นสำหรับ: i) ใช้รูปแบบไฟล์ที่จัดการกับ nodata ซึ่งกำลังจะซับซ้อน หรือ ii) ใช้ band alpha หรือ iii) ไฟล์ mask คุณสามารถสร้างวงอัลฟาโดยอัตโนมัติในขั้นตอนที่ 2 โดยบอก GDAL ว่าคุณต้องการให้พื้นที่โนดาต้าอยู่ในวงอัลฟา - คุณเพียงแค่เพิ่มตัวเลือก -addalpha:

gdalbuildvrt -addalpha nameofmosaic.vrt compressed_tif_folder\*.tif

ปัญหาเกี่ยวกับแถบอัลฟาคือพวกเขาบีบอัดไม่ดี ดังนั้นภาพรวมของคุณจะใหญ่ขึ้น หากคุณไม่เป็นไรคุณก็ทำเสร็จแล้ว

หากคุณต้องการสร้างไฟล์มาสก์แล้วมันซับซ้อนกว่าเล็กน้อย และฉันพบว่าสิ่งนี้ไม่เหมาะกับคำถามปัจจุบัน

หวังว่านี่จะช่วยได้ คุณสามารถค้นหาข้อมูลเกี่ยวกับเครื่องมือ gdal ได้โดย googling มีสิ่งที่น่าสนใจมากมายรอบตัว


1
โพสต์ที่ดี โปรดทราบเมื่อ gdalwarp จริงแปรปรวน (เช่น reprojecting, resampling ฯลฯ ) มีปัญหามานานกับการสร้างการส่งออกมากมีขนาดใหญ่เกินกว่าที่จำเป็นเมื่อบีบอัดจะใช้ ในกรณีเหล่านี้ดีกว่าที่จะข้ามการบีบอัดที่ช่วง gdalwarp และติดตามgdal_translate -co compress=xxxหลังจากนั้น นี่ไม่ใช่ปัญหาหากใช้เป็นนักแปล (ตามที่แนะนำไว้ที่นี่)
matt wilkie

1
ขอบคุณ ฉันคิดว่าปัญหาได้รับการแก้ไขตั้งแต่ฉันได้ฉายและบีบอัดในเวลาเดียวกันเมื่อเร็ว ๆ นี้และได้รับอัตราส่วนที่ดี
Duarte Carreira

5

อินพุต TIF ข้อมูล 550GB สามารถจัดการได้ง่ายด้วยไฟล์ ECW ไฟล์เดียว เรามีลูกค้าจำนวนมากบีบอัดชุดข้อมูลที่มีขนาดใหญ่กว่านี้มากดังนั้นโปรดอย่าคิดว่ารูปแบบจะไม่สามารถใช้ได้ในพื้นที่นี้

กลยุทธ์ของคุณในการแยกโปรเจ็กต์ออกเป็นไทล์ขนาดเล็กเพื่อลดพื้นที่ว่างให้น้อยที่สุดก็เป็นแนวทางที่ดีในการใช้เวอร์ชันฟอร์แมตปัจจุบันเพราะจะช่วยลดเวลาในการบีบอัด

ตัวอย่างของคุณรวมถึงการอ้างอิงถึงข้อมูลอินพุตแบบ 16 บิตที่ไม่ได้ลงชื่อ ฉันขอแนะนำให้ลดขนาดเป็น 8 บิตถ้าเป็นไปได้ (ขึ้นอยู่กับความต้องการของคุณ)

โปรดอธิบายอย่างละเอียดเกี่ยวกับสาเหตุที่คุณไม่สามารถดำเนินการโครงการโดยใช้ IMAGINE หรือ ERMapper เนื่องจากไม่มีข้อมูลนี้ฉันไม่สามารถช่วยคุณได้ หรือดีกว่ายังติดต่อทีมสนับสนุนในท้องถิ่น

โปรดทราบว่าโดยใช้รูปแบบชุดข้อมูล Mosaic ESRI คำตอบข้างต้นไม่ได้กล่าวถึงคือความต้องการในการสร้างชั้นปิรามิด / ภาพรวม ไม่ว่ามันจะมีประสิทธิภาพมาก เป็นไปได้ว่าคุณสามารถสร้างไฟล์ที่เทียบเท่ากับ ECW ในเวลาเดียวกัน แต่มีคุณภาพของภาพที่ดีขึ้นและความต้องการพื้นที่เก็บข้อมูลเอาต์พุตที่น้อยลงอย่างมาก


1
จากข้อมูลใหม่ที่ให้ไว้พื้นที่ ECW Null ไม่แสดงอย่างถูกต้องใน ESRI เนื่องจากยังคงจัดทำแพคเกจ v3 SDK ที่เก่ามากซึ่งไม่มีการสนับสนุนช่องทางทึบ (เป็นเพียงการละเว้น) ในการแก้ไขปัญหานี้แวะไป erdas.com และดาวน์โหลดปลั๊กอิน ECW ArcGIS ซึ่งจะติดตั้ง SDK v4 ด้วยการสนับสนุนและความทึบของ ECW จะแสดงเช่นเดียวกับใน Globalmapper และ ERDAS ซอฟแวร์
คริส Tweedie

เพิ่งทราบว่าปลั๊กอินนี้แก้ไขปัญหา "" ใน ArcGIS แต่แล้วแตก Mapinfo ecw ดูและจึงต้องถอนการติดตั้งบนเครื่องใด ๆ ที่มีทั้ง
GeorgeC

4

แม้ว่าจะดีกว่าหากใช้ตัวเลือกอื่นที่กล่าวถึงอย่างชัดเจนคุณสามารถลองต่อไปนี้:

gdalbuildvrt index.vrt *.tif
gdal_translate -of "GTiff" -co "COMPRESS=LZW" -co "TILED=YES" -co "BIGTIFF=YES" index.vrt out.tif

สิ่งนี้จะสร้างรูปแบบเสมือน GDAL จากนั้นแปลงเป็น GeoTiff เดียว


3

ฟังดูแล้วเป็นเรื่องที่คุ้นเคยสำหรับเราเรายังผลิตไฟล์ ECW เดี่ยวขนาดใหญ่จาก 500 ไฟล์ด้วย TIF 1TB แต่ฉันจะไม่ใช้งาน ArcGIS ครั้งสุดท้าย (ArcObjects และ Geoprocessing Engine) เนื่องจากมันไม่สามารถทำให้จำนวนนี้เป็นโมเสคได้อย่างเชื่อถือได้ หากคุณต้องการที่จะอยู่ในโลก ESRI ฉันอยากจะแนะนำให้ใช้ชิ้นส่วนโมเสคประมาณ 50 GB หรือเล็กลงในคราวเดียวกับชุดข้อมูล Raster ที่เก็บไว้ใน File Geodatabase เครื่องมือโมเสกมีแนวโน้มที่จะผิดพลาดหลังจากที่ในขณะดังนั้นจึงเป็นความคิดที่ดีที่จะให้หน่วยความจำฟรี ArcGIS หลังจาก GigaBytes บาง

ความเป็นไปได้อีกอย่างหนึ่งคือการใช้ Geodatabase องค์กรหรือเวิร์กกรุ๊ป SDE ด้วย SDE คุณจะได้เครื่องมือบรรทัดคำสั่ง SDE ที่ล้าสมัยซึ่งสร้างขึ้นบนสถาปัตยกรรม C ++ ที่แข็งแกร่งนอกเหนือจาก ArcObjects ที่ไม่น่าเชื่อถือ ด้วยคำสั่ง "sderaster -o mosaic ... " คุณสามารถ mosaic ไปที่ RasterDataset ได้จนกว่าที่เก็บฐานข้อมูลของคุณจะเต็ม นอกจากนี้ยังมีคำสั่งในการสร้างสถิติปิรามิดสำหรับ RasterDataset มิฉะนั้นมันจะไม่มีประโยชน์มากนักเพราะลูกค้าส่วนใหญ่ไม่สามารถเก็บภาพในหน่วยความจำเมื่ออ่านได้ดัง blah238 ที่กล่าวถึงข้างต้น แต่ปิรามิด (ในความเป็นจริงการจัดทำดัชนีเชิงพื้นที่) ควรแก้ปัญหานี้

แต่โซลูชั่นเหล่านี้ไม่ได้ช่วยคุณใน MapInfo ได้อย่างแน่นอน คุณพูดถึงว่าคุณได้ลอง ERDAS Mapper แล้ว นั่นเป็นเครื่องมือที่ฉันต้องการ พวกเราโมเสคไฟล์ 16000 TIF ขนาด 50 MB แต่ละไฟล์ด้วยกันแล้วซึ่งมีขนาด 800GB จากนั้นเราบีบอัดไฟล์ให้เป็น ECW เดียวโดยมีอัตราส่วนการบีบอัดเท่ากับ 1:20 ซึ่งส่งผลให้ไฟล์ ECW 30GB ฉันสงสัยว่านี่ไม่ได้ผลสำหรับคุณ ...

อย่างน้อยกระบวนการทั้งหมดทำงานบน Pentium 4 คอร์เดียวที่มี RAM 2 GB ดังนั้นฮาร์ดแวร์ไม่ควรเป็นปัญหา เรากำลังใช้ Windows Server 2003 (หรือระบบปฏิบัติการเซิร์ฟเวอร์อื่น) เพราะใช้ทรัพยากรของฮาร์แวร์ได้ดีขึ้น โปรดทราบว่ากระบวนการบีบอัดข้อมูลทั้งหมดต้องใช้เวลานาน เครื่องของเราทำงานประมาณ 5 สัปดาห์ในไฟล์เดียวและเพราะบางครั้งมันก็ขัดข้องเราต้องทำหลายครั้ง แต่ในที่สุดเราก็ได้ไฟล์ ECW ของเรา

ฉันไม่รู้จักระบบหรือกลไกอื่นในการจัดเก็บแรสเตอร์จำนวนมากด้วยวิธีที่เป็นกลางโดยส่วนใหญ่ วิธีดังกล่าวข้างต้นทั้งหมดนั้นมีความเฉพาะเจาะจงของ ESRI อย่างน้อยที่สุดกับ Oracle RASTER และการใช้งานที่คล้ายกันใน PostGIS มีสองชุดข้อมูลซึ่งก็ไม่ใช่ผู้จำหน่ายที่เป็นกลาง แต่เปิดผ่านทางอินเทอร์เฟซ SQL / MM

หวังว่านี่จะช่วยได้เล็กน้อย


ขอบคุณสำหรับกำลังใจของคุณ - มันใช้กับชุดข้อมูลที่ใหญ่กว่าเดิม ด้วย ERDAS - ปัญหาไม่ได้เป็นเพียงขนาดของชุดข้อมูลที่ก่อให้เกิดความผิดพลาด แต่ยังไม่มีพื้นที่ข้อมูลที่ไม่ได้กำหนดไว้อย่างถูกต้อง ดูคำถามที่ปรับปรุง คุณได้บันทึกขั้นตอนที่คุณใช้ใน ERDAS แล้วและคุณสามารถแบ่งปันได้หรือไม่
GeorgeC
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.