การเปลี่ยนเป็นการฉายภาพใหม่แล้วย้อนกลับส่งผลกระทบต่อความถูกต้องของข้อมูลหรือไม่


13

ฉันมีคลาสคุณลักษณะ (เขตเซาท์แคโรไลนาดังนั้นพื้นที่ทางภูมิศาสตร์ที่ค่อนข้างใหญ่) ใน NAD83 SC State Plane จำเป็นต้องเปลี่ยนเป็นการฉายภาพที่สอง (NAD83 UTM 17) จากนั้นเปลี่ยนกลับเป็นต้นฉบับ ฉันจะใช้เครื่องมือ Projectของ Esri เพื่อทำสิ่งนี้

การแปลงแบบคู่นี้ทำให้เกิดการเปลี่ยนแปลงตำแหน่งของรูปหลายเหลี่ยมพิกัดและโดยเท่าไหร่ - เซนติเมตร, เมตร, กิโลเมตร?


เนื่องจาก: ความละเอียดการแปลงพิกัดความแตกต่างของความละเอียดของระบบและความละเอียดและความทนทานของที่เก็บข้อมูลรูปทรงเรขาคณิต หนึ่งใน "ตัวแปร" เหล่านี้แตกต่างกันไป ดังนั้นคุณต้องไปอ่านเอกสารประกอบสำหรับแต่ละ
GISI

... และถ้าคุณใช้ ArcGIS อาจมีสมการการแปลงหลายร้อยรายการตามลำดับการแปลงความละเอียดสูงสุดสำหรับโดเมนอวกาศของข้อมูลของคุณ
GISI

1
ผลลัพธ์ปกติจาก A -> B -> A 'คือ A ~ = A' แต่การเพิ่มการแปลงค่าตัวเลขให้กับการผสมอาจทำให้เกิดสิ่งสกปรกหากคุณทำผิด การจัดการที่ดีนั้นขึ้นอยู่กับการกำหนดพิกัดอ้างอิง (และดังนั้นการตัดทอนในหน่วยแผนที่ของแต่ละระบบพิกัด)
วินซ์

คำตอบ:


19

ฉันไม่รู้ว่า ArcGis ของเอ็นจิ้นการฉายตัวใดที่ใช้ แต่คำถามที่น่าสนใจสำหรับ proj.4 ดังนั้นฉันจึงลองทดสอบโปรเจคชัน proj.4 ในสภาพแวดล้อม GNU-R ฉันใช้มุม NAD 83 - UTM 17 และ EPSG 26917 และปฏิเสธมันอีก 10,000 และ 1000000 ครั้งซ้ำและคำนวณความแตกต่างกับค่าเริ่มต้น

นี่คือผลลัพธ์:

ดูเหมือนว่าข้อผิดพลาด "การปฏิเสธ" นั้นอยู่ในช่วงเซนติเมตรสำหรับ 10000 ลูป

"LON/LAT differences after  10000  loops"
           DLON          DLAT
1 -2.441464e-07 -1.341807e-07
2  2.441129e-07 -1.341807e-07
3  1.852679e-07 -1.691737e-08
4 -1.853157e-07 -1.691819e-08

"X/Y differences after  10000  loops"
            DX           DY
1 -0.025169783 -0.014338141
2  0.025166375 -0.014338208
3  0.002419045 -0.002016762
4 -0.002419690 -0.002016889

และเติบโตเป็นข้อผิดพลาดในช่วงเมตรถ้าคุณเรียกใช้ลูป 1000000 ครั้ง

"LON/LAT differences after  1000000  loops"
           DLON          DLAT
1 -2.441464e-05 -1.341845e-05
2  2.441128e-05 -1.341846e-05
3  1.852621e-05 -1.691837e-06
4 -1.853105e-05 -1.691828e-06

"X/Y differences after  1000000  loops"
          DX         DY
1 -2.5172288 -1.4339977
2  2.5168869 -1.4340064
3  0.2419201 -0.2017070
4 -0.2419859 -0.2017094

นี่คือสคริปต์

# load the package
require('proj4')

# the LON/LAT frame of NAD83 UTM 17 
lon = c(-84.00, -78.00, -84.00, -78.00 ) 
lat = c( 24.00,  24.00,  83.00,  83.00)

# build the projection conform object
ll0 = matrix(c(lon,lat),nrow=4,ncol=2)
xy0 = project(ll0,"+init=epsg:26917",ellps.default='GRS80')

# make a copy
ll1 = ll0
xy1 = xy0

# number of iterations
num = 1000000

# reproject the stuff num times
for(i in 1:num) {
 # project forward  
 xy1 = project(ll1,"+init=epsg:26917", ellps.default='GRS80')
 # project backward
 ll1 = project(xy1,"+init=epsg:26917", inverse=T, ellps.default='GRS80')
}

# build difference table ll
dll = as.data.frame(ll1-ll0)
names(dll) = c('DLON','DLAT')
# print results LON/LAT
print(paste("LON/LAT differences after ", num," loops"))
print(dll)

# build difference table xy
dxy = as.data.frame(xy1-xy0)
names(dxy) = c('DX','DY')
# print results X/Y
print(paste("X/Y differences after ", num," loops"))
print(dxy)

การทดสอบเพิ่มเติมในสภาพแวดล้อม statistcs ควรจะง่าย สคริปต์และรหัสคำอธิบายสำหรับสภาพแวดล้อมลินุกซ์มีบริการที่github.com/bigopensky


นี่เป็นสิ่งที่ละเอียดยิ่งกว่าที่ฉันคาดหวังและให้กำลังใจอย่างมาก ขอบคุณสำหรับการทดสอบและสำหรับสคริปต์ตัวอย่างเพื่อทำซ้ำด้วยข้อมูลของฉันเอง!
Erica

คุณสามารถรวมความหมายของมุม NAD83 UTM ของคุณได้หรือไม่? หากพวกเขาอยู่สุดขั้วของเขต (ละติจูดสูงเช่น) การใช้คะแนนภายในสหรัฐอเมริกาน่าจะให้ผลลัพธ์ที่ดียิ่งขึ้น
mkennedy

ฉันคิดว่าขอบเขต WGS84 มาพร้อมกับ EPSG 26917 ที่spatialreference.org/ref/epsg/nad83-utm-zone-17n .. WGS84 Bounds: -84.0000, 24.0000, -78.0000, 83.0000เป็นพื้นที่ที่น่าสนใจ ฉันทำผิดพลาดหรือไม่?
huckfinn

@huckfinn Duh ฉันควรจะเห็นค่าในรหัส! ขออภัยสำหรับคำถามที่โง่ คุณค่าที่ยอดเยี่ยมสำหรับคำตอบทั่วไปเกี่ยวกับ UTM
mkennedy

7

Esri มีระบบฉายภาพของตัวเอง

การคาดการณ์และวิธีการแปลงทางภูมิศาสตร์ / ข้อมูลส่วนใหญ่นั้นมีความประพฤติดีเมื่อใช้ในพื้นที่ที่น่าสนใจ หากคุณอยู่ไกลเกินกว่าโซน UTM Mercator ตามขวางจะไม่ 'แปรผกผัน' เสมอ (แปลงเป็นละติจูด - ลองจิจูด) ทุกประการ การคาดการณ์ที่ใช้สำหรับคนทั้งโลกอาจมีปัญหาบางอย่างที่หรือรอบ ๆ เสาหรือ +/- 180 meridian หรือ 'anti-meridian' (เส้นแวงที่อยู่ตรงข้ามศูนย์กลางของระบบอ้างอิงพิกัดที่คาดการณ์ไว้)

ฉันวิ่งไปถึง 4 จุดที่อยู่นอกเซาท์แคโรไลนาผ่านทางเครื่องฉาย Esri สำหรับการทดสอบความเครียดที่คะแนน 1k หรือ 10k หรือ 1M ฉันจะต้องเขียนโค้ดบางอย่างเนื่องจากการทดสอบที่คล้ายกันที่มีอยู่ของฉันนั้นใช้ 'การเดินทางไปกลับ' ซึ่งคาดการณ์ไปยังที่ตั้งทางภูมิศาสตร์ 32133 คือ NAD 1983 State Plane South Carolina (เมตร) 26917 คือ NAD 1983 UTM zone 17 North

C:\Users\melita>inverse 32133
382000 20000
      -83.40806392522212        31.98974518135408
382000 383000
      -83.50098893136905        35.26180827475587
839100 20000
      -78.57184097446545        31.98934439195045
839100 383000
      -78.47814111839074        35.26139222680582

C:\Users\melita>forward 26917
  -83.40806392522212        31.98974518135408
       272490.5730967618        3541832.738731374
  -83.50098893136905        35.26180827475587
       272485.6257057797         3904944.98998655
  -78.57184097446545        31.98934439195045
       729409.4734382738        3541830.781689366
  -78.47814111839074        35.26139222680582
       729414.4926270114        3904946.919009762

C:\Users\melita>inverse 26917
 272490.5730967618        3541832.738731374
      -83.40806392522212        31.98974518135408
  272485.6257057797         3904944.98998655
      -83.50098893136905        35.26180827475587
  729409.4734382738        3541830.781689366
      -78.57184097446545        31.98934439195045
  729414.4926270114        3904946.919009762
      -78.47814111839074        35.26139222680582
^Z

C:\Users\melita>forward 32133
  -83.40806392522212        31.98974518135408
                382000.0                  20000.0
  -83.50098893136905        35.26180827475587
                382000.0                 383000.0
  -78.57184097446545        31.98934439195045
                839100.0        19999.99999999814
  -78.47814111839074        35.26139222680582
                839100.0        382999.9999999981

ดังนั้นคุณจะเห็นว่าเรามีสองจุดที่กลับมาตอน 10e-09

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

การเปิดเผยข้อมูล: ฉันทำงานให้กับ Esri


5

ฉันคิดว่านี่เป็นกรณีที่คุณต้องทดสอบเวิร์กโฟลว์ที่เสนอของคุณกับคุณลักษณะของจุดทดสอบซึ่งง่ายต่อการเพิ่มฟิลด์พิกัด XY ลงใน

เปรียบเทียบค่า XY ของจุดเริ่มต้นของคุณกับค่าที่คุณได้คาดการณ์ / แปลง (หลายครั้ง) และคุณจะต้องวัดความแตกต่าง


1
ตกลง. นอกจากนี้โปรดทราบว่า ArcGIS จะแสดงทศนิยม 6 ตำแหน่งของประเภทข้อมูลคู่โดยค่าเริ่มต้นในมุมมองตาราง คุณสามารถเปลี่ยนคุณสมบัติของฟิลด์เพื่อแสดงทศนิยม 12 ตำแหน่งในมุมมองตาราง ค่าทางภูมิศาสตร์ xy โดยทั่วไปคือทศนิยม 9 ตำแหน่งหรือมากกว่านั้นคือความแม่นยำสองเท่า
klewis
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.