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


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.