কেন QGIS .Pj ফাইল থেকে সিআরএস সনাক্ত করছে না?


9

আমার কাছে বেশ কয়েকটি 1 কিলোমিটার হেক্সাগোনাল গ্রিড রয়েছে যা যুক্তরাষ্ট্রে পোস্টগ্রিজ এসকিউএল / পোস্টজিআইএস ডাটাবেসে বিভিন্ন কাউন্টিগুলিকে কভার করে। প্রতিটি গ্রিডে সিআরএস ইপিএসজি: 3857 থাকে, এবং কাউন্টি স্তরটিতে ইপিএসজি: 3857 থাকে। কিউজিআইএস-এ কাউন্টিগুলি সহ গ্রিডগুলি দেখার সময়, সবকিছু দুর্দান্ত দেখাচ্ছে।

তবে ... এই গ্রিডগুলি সহকর্মীদের সাথে ভাগ করে নেওয়ার জন্য, আমাকে ওগ্রো 2 জিআর ব্যবহার করে সেগুলি শেফফাইলে রফতানি করতে হয়েছিল। এগুলি কিউজিআইএস-এ দেখে প্রতিটি গ্রিড প্রায় 20 কিলোমিটার বা তার উপরে উঠে পড়ে দেখায় এবং কিউজিআইএস স্বয়ংক্রিয়ভাবে সিআরএসকে ইপিএসজি: 3395 (যা প্রকল্পের সিআরএস নয়) তে সেট করে।

আমি যখন shapefiles যেমন postGIS টেবিল রপ্তানি QGIS থেকে , .prj ফাইল সৌন্দর্য ogr2ogr রপ্তানি shapefiles যেমন ঠিক একই , কিন্তু postGIS রপ্তানি টেবিল সঠিকভাবে প্রদর্শিত হয়। আমি লক্ষ করেছি যে কিউজিআইএস থেকে কিউজিআইএস থেকে শেফফিলগুলি রফতান করার সময় একটি .কিপিজে ফাইল ফাইল তৈরি করে , তাই আমি এই সিদ্ধান্তে পৌঁছেছি যে কিউজিআইএস .prj উপেক্ষা করছে এবং পরিবর্তে একটি .qpj সন্ধান করছে। কেন এটি .Qpj ছাড়া .Pj পড়া যায় না? অন্যান্য শেপফাইলগুলি (যেমন মার্কিন আদমশুমারীর কাছ থেকে) একটি .qpj নেই তবে কিউজিআইএস এগুলি সঠিকভাবে প্রদর্শন করে।

আমি একটি ডিফল্ট.কিপিজেজ সংরক্ষণ করে এবং ogr2ogr ব্যবহার করে রফতানি করে এমন প্রতিটি ফাইলের জন্য এটি থেকে একটি নতুন .qpj তৈরি করে একটি কর্মপরিকল্পনা নিয়ে এসেছি, তবে এটি অগোছালো এবং স্পষ্টতই পুনরুত্পাদনযোগ্য বলে মনে হয় না কারণ এটি কেবল EPSG: 3857 এর জন্য কাজ করে।

সিডিনোট: আমি কিউজিআইএস ২.০.১ ব্যবহার করছি।

সম্পাদনা করুন:

এখানে আমি ব্যবহৃত ogr2ogr কমান্ডটি দিচ্ছি:

ogr2ogr -f "ESRI Shapefile" /home/matt/data/hex_grid_1 PG:'dbname=mydb user=matt' hex_grid_1

.Prj এর বিষয়বস্তু:

PROJCS [ "WGS_84_Pseudo_Mercator", GEOGCS [ "GCS_WGS_1984", উপাত্ত [ "D_WGS_1984", উপগোলক [ "WGS_1984", 6378137,298.257223563]], PRIMEM [ "গ্রীনিচ", 0], ইউনিট [ "ডিগ্রী", 0,017453292519943295]], অভিক্ষেপ [ "Mercator"], প্যারামিটার [ "central_meridian", 0], প্যারামিটার [ "false_easting", 0], প্যারামিটার [ "false_northing", 0], ইউনিট [ "মিটার", 1], প্যারামিটার [ "standard_parallel_1", 0.0] ]

.Ppj এর বিষয়বস্তু:

প্রোজিসিএস ["ডাব্লুজিএস 84 / সিউডো-মার্কেটর", জিইওজিসিএস ["ডাব্লুজিএস 84", ড্যাটাম ["ডাব্লুজিএস_1984", এসপিওরয়েড ["ডাব্লুজিএস 84", 6378137,298.257223563, কর্তৃপক্ষ ["ইপিএসজি", "7030"]], অধিকার [" EPSG "," 6326 "]], PRIMEM [" গ্রীনিচ ", 0 কর্তৃপক্ষ [" EPSG "," 8901 "]], ইউনিট [" ডিগ্রী ", 0,0174532925199433 কর্তৃপক্ষ [" EPSG "," 9122 "]] কর্তৃপক্ষ [ "EPSG", "4326"]],, অভিক্ষেপ [ "Mercator_1SP"], প্যারামিটার [ "central_meridian" 0], প্যারামিটার [ "scale_factor", 1], প্যারামিটার [ "false_easting", 0], প্যারামিটার [ "false_northing" , 0], ইউনিট [ "মিটার", 1 কর্তৃপক্ষ [ "EPSG", "9001"]] অক্ষটি [ "ক্রস" পূর্ব] অক্ষটি [ "ওয়াই", নর্থ], এক্সটেনশন [ "PROJ4", "+ + প্রোজ = মার্ড + এ = 6378137 + বি = 6378137 + ল্যাট_টিস = 0.0 + দীর্ঘ + = 0।0 + x_0 = 0.0 + y_0 = 0 + কে = 1.0 + ইউনিট = মি + ন্যাডগ্রিডস = @ নাল + উইকটেক্সট + ন_ডিফস]], সত্যতা ["ইপিএসজি", "3857"]]

সম্পাদনা :

সমস্যাটি আমার সমস্ত স্ক্রিপ্টগুলিতে EPSG: 3857 এর EPSG: 2163 তে রূপান্তর করে সমাধান করা হয়েছিল। মূলত পোস্টগ্র্রেএসকিউএল টেবিল (ইপিএসজি: 3857 সহ) লোড করার পরে কিউজিআইএস-এ গ্রিডগুলি সঠিকভাবে প্রদর্শিত হওয়ার পরেও সমস্যাটি এখনও নিশ্চিত না।

আমার কর্মসূচী অসম্পূর্ণ প্রমাণিত হয়েছিল যেমনটা আমি ভেবেছিলাম যেহেতু আমার সহকর্মী আর্কজিআইএস-এ ফাইলটি ব্যবহার করতে অক্ষম ছিল, যা .prj বা .qpj সঠিকভাবে পড়েনি।


আপনি ogr2ogr কমান্ড যোগ করতে পারেন?
বর্ণমালা

আপনি .prj এবং .qpj ফাইল উভয়ের বিষয়বস্তু পোস্ট করতে পারেন?
মেকনেডি

1
হতে পারে যে, "একটি অক্জিলিয়ারী গোলক উপর WGS84 ওয়েব Mercator অভিক্ষেপণ" এ সীমাবদ্ধ ক্ষমতা আছে en.wikipedia.org/wiki/Web_Mercator ..Unlike ellipsoidal Mercator এবং স্ফেরিক্যাল, ওয়েব Mercator বেশ কনফরমাল ellipsoidal তার ব্যবহারের কারণে নয় একটি গোলাকৃতির অভিক্ষেপের বিরুদ্ধে ডেটাম ভৌগলিক স্থানাঙ্ক।
হাকফিন

@ হাকফিন আমি আমার স্ক্রিপ্টের সমস্ত ইপিএসজি: 3857 এর ইপিএসজি: 2163 তে পরিবর্তন করেছি এবং আমার সমস্যা এখন সমাধান হয়েছে। আমি এখনও নিশ্চিত নই কেন ইপিএসজি: 3857 সহ পোস্টগ্রিজ এসকিউএল টেবিলগুলি থেকে লোড করার সময় গ্রিডগুলি সমস্ত সঠিকভাবে প্রদর্শিত হয়েছে। ভকভগক.
হাফ

উত্তর:


4

EPSG:3857সংজ্ঞা গুগল আধুনিক জিআইএস সফ্টওয়্যারে উদ্ভাবিত যে অভিক্ষেপ পেতে একটি মলিন হ্যাক হয়। এটি গোলক এবং উপবৃত্তাকার সংমিশ্রণ যা "সাধারণ" অনুমান দ্বারা ব্যবহৃত হয় না। দুর্ভাগ্যক্রমে, প্রতিটি সফ্টওয়্যার এটিকে মানিয়ে নেওয়ার জন্য অন্য একটি উপায় ব্যবহার করে।

কিউজিআইএস .qpj ফাইল, আরকিজিআইএস ডাব্লুকেটি .Pj ফাইলে এবং জিডিএল প্রজ 4 সংজ্ঞা ব্যবহার করে। .Qpj ফাইলটি প্রজ 4 সংজ্ঞাটিকে ডব্লিউকেটি সংজ্ঞায় অন্তর্ভুক্ত করে।

এই জাতীয় সমস্যাগুলি মোকাবেলার সবচেয়ে নিরাপদতম উপায় হ'ল গুগল মার্কেটর এড়ানো। আপনি আপনার স্থানীয় স্টেট প্লেন, ইউটিএম বা কিছু মহাদেশ-প্রশস্ত ল্যামবার্ট বা অ্যালবার্সের অনুমানগুলি আরও ভালভাবে ব্যবহার করতে পারেন।


জানা ভাল. আপনার উত্তরের জন্য ধন্যবাদ. তবে আমি লক্ষ করেছি যে আমি যখন ইপিএসজি 2163 এর সাথে ওজিআর 2ogr ব্যবহার করে কোনও আকার ফাইল রফতানি করি তখন কোনও .qpj তৈরি হয় না, তবুও কিউজিআইএস এটিকে সঠিকভাবে পড়ে। সুতরাং আমি ধরে নিচ্ছি যে QGIS একটি .Qjj এর অনুপস্থিতিতে একটি .prj থেকে তথ্য পড়বে। এছাড়াও, রাষ্ট্রীয় বিমানের অনুমানগুলি দুর্দান্তভাবে কাজ করবে যদি কেবলমাত্র একটি রাজ্যেই কাজ করে তবে আমার স্ক্রিপ্টগুলি অনেক রাজ্য থেকে কাউন্টি ফিপস কোড নেয়, তাই কোনও রাষ্ট্রীয় বিমান আমার ক্ষেত্রে ব্যবহারিক হবে না।
হাফ

1
কিউজিআইএস সাধারণত .prj ফাইলের সাথে ঠিক কাজ করে, তবে ওয়ার্ল্ড মার্ট্যাকোর প্রজেক্টড ফাইলগুলির সাথে নয় যা অন্যান্য সফ্টওয়্যার থেকে আসে। সেরা উপযুক্ত সিআরএস সর্বদা অধ্যয়নের ক্ষেত্রের আকারের উপর নির্ভরশীল। আপনার কাজের জন্য EPSG 2163 ঠিক থাকতে হবে।
আন্দ্রেজে
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.