ขณะนี้ฉันกำลังทำงานเพื่อนำเข้าข้อมูลสภาพอากาศ CANGRID (จัดให้เป็น Surfer Grid ascii, ไฟล์ ".grd") ไปยัง ArcGIS ตารางมีขนาด 95 แถวคูณ 125 คอลัมน์ เมทาดาทาให้ละติจูด / ลองจิจูดของแหล่งกำเนิด (มุมซ้ายล่าง), ขนาดเซลล์ (50 กม.) เช่นเดียวกับการบันทึกภาพเป็นขั้วภาพสามมิติที่มีจุดศูนย์กลางกลาง (110 องศา W) และละติจูดของจุดกำเนิด (60 องศา N)
หลังจากครั้งแรกที่พยายามแปลง. grd เป็น rasc as .ascii และ. flt ไม่สำเร็จฉันได้จัดการใช้ GDAL เพื่อกำหนดขอบเขตและการฉายภาพอย่างไรก็ตามชุดข้อมูลไม่ถูกต้องสอดคล้องกับขอบเขตของพื้นที่ที่ต้องการ ดูภาพด้านล่าง
มีการเปลี่ยนรูปทางภูมิศาสตร์ที่ยอมรับได้สำหรับ stereographic ขั้วโลกที่สามารถอธิบายการขาดการจัดตำแหน่งนี้ได้หรือไม่?
ตัวอย่างเช่นมีปัจจัยการแปลงหรือการหมุนเฉพาะที่ฉันควรใช้หรือไม่
ไฟล์ตัวอย่างจากชุดข้อมูลอยู่ที่นี่: "t201113.grd"
นี่คือรหัสที่ฉันใช้ใน GDAL
ds = gdal.Open("t201113.grd")
array = ds.ReadAsArray()
x_rotation = 0
y_rotation = 0
xres = 1
yres = -1
llx = -129.8530
lly = 40.0451
ulx = -175.144
uly = 71.385
input_osr = osr.SpatialReference()
input_osr.ImportFromWkt(ds.GetProjection())
wgs84_osr = osr.SpatialReference()
wgs84_osr.ImportFromEPSG(4326)
wgs_to_nps_trans = osr.CoordinateTransformation(wgs84_osr, input_osr)
x, y, z = wgs_to_nps_trans.TransformPoint(llx,lly)
geo_transform = [ x, xres, x_rotation, y, y_rotation, yres ]
ncol = ds.RasterXSize
nrow = ds.RasterYSize
out_driver = gdal.GetDriverByName("HFA")
out_ds = out_driver.Create(t201113.img", ncol, nrow, 1, gdal.GDT_Float32)
out_ds.SetGeoTransform(geo_transform)
out_prj = 'PROJCS["North_Pole_Stereographic",GEOGCS["GCS_WGS_1984",DATUM["WGS_1984",SPHEROID["WGS_1984",6378137.0,298.257223563]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Stereographic"],PARAMETER["False_Easting",0.0],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",-110.0],PARAMETER["Scale_Factor",1.0],PARAMETER["Latitude_Of_Origin",60.0],UNIT["50_Kilometers",50000.0]]'
out_ds.SetProjection(out_prj)
out_ds.GetRasterBand(1).WriteArray(array)
out_ds.GetRasterBand(1).SetNoDataValue(1.70141e+038)
out_ds.FlushCache()
out_ds = None
`
นอกจากนี้ยังเป็นข้อมูลการฉายภาพตามที่กำหนดโดยอินพุตเช่นจาก "GetProject ()":
'PROJCS [ "North_Pole_Stereographic" GEOGCS [ "GCS_WGS_1984" DATUM [ "WGS_1984" ลูกกลม [ "WGS_1984" 6378137.0,298.257223563]] PRIMEM [ "กรีนวิช", 0.0] UNIT [ "ปริญญา" 0.0174532925199433]] โปรเจ็ก [ "stereographic"] พารามิเตอร์ [ "False_Easting", 0.0] พารามิเตอร์ [ "False_Northing", 0.0] พารามิเตอร์ [ "Central_Meridian", 0.0] พารามิเตอร์ [ "Scale_Factor", 1.0] พารามิเตอร์ [ "Latitude_Of_Origin" 90.0 ] UNIT [ "50_Kilometers" 50,000.0]]
และอินพุต GeoTransform:
(-0.5, 1.0, 0.0, 94.5, 0.0, -1.0)
ละติจูดและลองจิจูดของพิกัดกริดยังมีให้และเมื่อดูในระบบพิกัดที่คาดการณ์ไว้จะมีลักษณะดังนี้ เมื่อพิกัดทางภูมิศาสตร์ถูกกำหนดโดยพิกัดของซ้ายล่าง (สีเหลือง) หรือมุมบนขวา (สีชมพู) cordinate ฉันสามารถกำหนดขอบเขตได้อย่างมีประสิทธิภาพ แต่ยังมีปัญหาการจัดตำแหน่งตลอดแรสเตอร์