নতুন প্রক্ষেপণে রূপান্তর করা, তবে ফিরে, ডেটা নির্ভুলতার উপর প্রভাব ফেলে?


13

NAD83 এসসি স্টেট প্লেনে আমার একটি ফিচার ক্লাস (দক্ষিণ ক্যারোলিনা কাউন্টি, সুতরাং মোটামুটি বিশাল ভৌগলিক অঞ্চল) রয়েছে। এটি দ্বিতীয় প্রক্ষেপণ (NAD83 UTM 17) এ রূপান্তরিত হওয়া দরকার, তারপরে মূলটিতে ফিরে যেতে হবে। এটি সম্পাদন করার জন্য আমি এসরির প্রকল্প সরঞ্জামটি ব্যবহার করব ।

এই দ্বৈত রূপান্তরটি বহুভুজ স্থানাঙ্কের অবস্থানের স্থান পরিবর্তন করতে পারে এবং কতগুলি দ্বারা - সেন্টিমিটার, মিটার, কিলোমিটার?


এর কারণে: রূপান্তর সমাধান, সিস্টেম রেজোলিউশন পার্থক্য সমন্বয় এবং জ্যামিতি স্টোরেজ রেজোলিউশন এবং সহনশীলতা। এই "ভেরিয়েবল" এর প্রত্যেকটিরই আলাদা। সুতরাং আপনার প্রত্যেকের জন্য ডকুমেন্টেশন পড়তে হবে।
জিআইএসআই

... এবং আপনি যদি আর্কজিআইএস ব্যবহার করছেন তবে আপনার ডেটার স্থানিক ডোমেনের জন্য সর্বাধিক রেজোলিউশন ট্রান্সফর্মেশনের ক্রম হিসাবে তালিকাভুক্ত কয়েকশ রূপান্তর সমীকরণ রয়েছে।
জিআইএসআই

1
এ -> বি -> এ 'এর স্বাভাবিক ফলাফল হ'ল একটি ~ = এ', তবে মিশ্রণে ডেটাম ট্রান্সফর্মেশন যুক্ত করা যদি আপনি এটি ভুল করেন তবে সত্যই খারাপ জিনিসগুলি আপ করতে পারে। সমন্বিত রেফারেন্সগুলি কীভাবে সংজ্ঞায়িত করা হয় (এবং সেইজন্য প্রতিটি সমন্বিত সিস্টেমের মানচিত্রের ইউনিটগুলিতে ছাঁটাই) তার উপর একটি দুর্দান্ত বিষয় নির্ভর করে।
ভিনস

উত্তর:


19

কোন প্রজেকশন ইঞ্জিন আরকজিস ব্যবহার করে তা আমি জানি না, তবে প্রজেক্টের জন্যও একটি খুব আকর্ষণীয় প্রশ্ন। সুতরাং আমি এটি GNU-R পরিবেশের মধ্যে প্রজেক্ট 4 প্রজেকশন ইঞ্জিনটি পরীক্ষা করার চেষ্টা করি। আমি এনএডি 83 - ইউটিএম 17 কোণ এবং ইপিএসজি 26917 ব্যবহার করি এবং এটি 10000 এবং 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)

একটি পরিসংখ্যান পরিবেশে আরও পরীক্ষা সহজ হওয়া উচিত। একটি লিনাক্স পরিবেশের জন্য স্ক্রিপ্ট এবং কোড ব্যাখ্যা github.com/bigopenskyউপলব্ধ


এটি আমার প্রত্যাশার চেয়েও আরও গভীর এবং উত্সাহজনক। পরীক্ষার জন্য আপনাকে ধন্যবাদ, এবং আমার নিজের ডেটার সাথে এটিকে প্রতিলিপি উদাহরণস্বরূপ স্ক্রিপ্টের জন্য!
এরিকা

আপনি NAD83 ইউটিএম কোণার দ্বারা যা বোঝাতে চান তা অন্তর্ভুক্ত করতে পারেন? যদি তারা এই অঞ্চলের চূড়ান্ত স্থানে থাকে (উদাহরণস্বরূপ উচ্চ অক্ষাংশ), মার্কিন যুক্তরাষ্ট্রে পয়েন্টগুলি ব্যবহার করা সম্ভবত আরও ভাল ফলাফল দেবে।
মেকনেডি

আমি ধরে নিচ্ছি যে, ডাব্লুজিএস 84 সীমানাটি ইপিএসজি 26917 এর সাথে স্পটালালারিফারেন্স.org / রিফ / এপসজি / ন্যাড -৮- utm- zone-17n এ প্রেরণ হয়েছে .. WGS84 Bounds: -84.0000, 24.0000, -78.0000, 83.0000এটি আগ্রহের সঠিক অঞ্চল। আমি কি ভুল করেছি?
হাকফিন

@ হাকফিন ডুহ, আমার কোডটিতে মানগুলি দেখা উচিত ছিল! মূঢ় প্রশ্নের জন্য দুঃখিত। ইউটিএম সম্পর্কে সাধারণীকরণের উত্তরের জন্য দুর্দান্ত মান।
মেকনেডি

7

এসরির নিজস্ব প্রজেকশন ইঞ্জিন রয়েছে।

বেশিরভাগ অনুমান এবং ভৌগলিক / ডেটাম ট্রান্সফর্মেশন পদ্ধতিগুলি যখন আগ্রহের উপযুক্ত ক্ষেত্রে ব্যবহৃত হয় তখন ভাল আচরণ করে। আপনি যদি কোনও ইউটিএম জোনের বাইরে খুব বেশি দূরে পৌঁছান তবে ট্রান্সভার্স মারকেটর সর্বদা 'বিপরীত' হন না (অক্ষাংশ-দ্রাঘিমাংশে রূপান্তর করুন)) পুরো পৃথিবীর জন্য ব্যবহৃত প্রজেক্টগুলির মেরু বা +/- 180 মেরিডিয়ান বা 'অ্যান্টি-মেরিডিয়ান' (মেরিডিয়ান যা প্রস্তাবিত সমন্বয় রেফারেন্স সিস্টেমের কেন্দ্রের বিপরীতে থাকে) বা তার আশেপাশে কিছু সমস্যা থাকতে পারে।

আমি এসরি প্রজেকশন ইঞ্জিনের মাধ্যমে দক্ষিণ ক্যারোলিনার বাইরে পড়া 4 পয়েন্ট দৌড়েছি। 1 কে বা 10 কে বা 1 এম পয়েন্টের স্ট্রেস টেস্টের জন্য, আমাকে কিছু কোড করতে হবে যেহেতু আমার বিদ্যমান অনুরূপ পরীক্ষাটি কেবল একটি 'রাউন্ড ট্রিপ' করে - এটি ভৌগলিক হিসাবে অনুমান করা হয়েছিল। 32133 হ'ল এনএডি 1983 স্টেট প্লেন দক্ষিণ ক্যারোলিনা (মিটার)। 26917 ন্যাড 1983 ইউটিএম জোন 17 উত্তর।

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 এ ফিরে এসেছিল।

আর্কজিআইএস-এ হ্যান্ডলিংটি একটি জটিল রেফারেন্সের কারণে জটিল। স্থানিক রেফারেন্সের মধ্যে সমন্বয় ব্যবস্থা এবং কিছু স্টোরেজ এবং বিশ্লেষণের মান অন্তর্ভুক্ত থাকে। ডিফল্টরূপে, সমন্বয় ব্যবস্থা যে মিটারগুলি ব্যবহার করে সেগুলি 0.001 মিলিমিটারের দশকের নির্ভুলতা সহ সঞ্চিত হয়।

প্রকাশ: আমি এসরির পক্ষে কাজ করি।


5

আমি মনে করি এটি এমন একটি ক্ষেত্র যেখানে আপনার প্রস্তাবিত ওয়ার্কফ্লোটি কিছু টেস্ট পয়েন্ট বৈশিষ্ট্যগুলির বিরুদ্ধে পরীক্ষা করা দরকার, যা এক্সওয়াই স্থানাংক ক্ষেত্রগুলিতে যুক্ত করা সহজ।

আপনার প্রাথমিক পয়েন্টগুলির এক্সওয়াই মানগুলি তুলনা করুন আপনি যেটি ভবিষ্যদ্বাণী করেছেন / রূপান্তর করেছেন (তবে বহুবার) তার সাথে আপনার পার্থক্যের পরিমাণ নির্ধারণ করা হবে।


1
একমত। এছাড়াও, সচেতন থাকুন আর্কজিআইএস সারণী দৃশ্যে ডিফল্টরূপে ডাবল ডেটাটাইপের 6 দশমিক স্থান প্রদর্শন করে। আপনি সারণী দৃশ্যে 12 দশমিক স্থান প্রদর্শন করতে ক্ষেত্রের বৈশিষ্ট্যগুলি পরিবর্তন করতে পারেন। ভৌগলিক xy মানগুলি সাধারণত 9 দশমিক স্থান বা তার বেশি, ডাবল নির্ভুলতা।
ক্লিওস
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.