উইন্ডোজে পোস্টজিআইএস ২.০ ডাটাবেসে একটি রাস্টার লোড করা হচ্ছে


18

আমি কীভাবে পোস্টজিআইএস ২.০ ডাটাবেসে কোনও রাস্টার লোড করব তা বোঝার চেষ্টা করছি (আমি এখানে এবং এখানে এই বিষয়ে পূর্ববর্তী প্রশ্ন জিজ্ঞাসা করেছি )। আমি raster2pgsql.exeপোস্টজিআইএস ২.০ সরবরাহিত প্রোগ্রামটি ব্যবহার করার চেষ্টা করছি ।

Figuring আউট যে কমান্ড উইন্ডোতে প্রম্পট একজন প্রশাসক হিসাবে চালানো হবে পরে (উইন্ডোজ 7 একজন প্রশাসক, টাইপ হিসাবে কমান্ড লাইন চালানোর জন্য cmdঅনুসন্ধান দণ্ডে হিট মধ্যে ctrl+ + shift+ + enterসক্ষম করতে) raster2pgsql.exeফাংশন আমি সাজানোর অফ পরিচালিত করতে আমার ডাটাবেসে একটি রাস্টার লোড করুন। আমার কাছে একটি রাস্টার ফাইল রয়েছে ras_test.tifযা আমি অস্থায়ীভাবে binআমার postgresqlইনস্টলেশন ফোল্ডারে রেখেছি । নিম্নলিখিত কোডটি ব্যবহার করে আমি এই রাস্টারটিকে রূপান্তর এবং লোড করছি:

C:\Program Files (x86)\PostgreSQL\9.1\bin>raster2pgsql -s 102003 ras_test.tif -t> elev.sql
Processing 1/1: ras_test.tif

C:\Program Files (x86)\PostgreSQL\9.1\bin>psql.exe -p 5434 -U postgres -d test2 -f elev.sql
BEGIN
psql:elev.sql:2: NOTICE:  CREATE TABLE will create implicit sequence "-t_rid_seq" for serial column "-t.rid"
psql:elev.sql:2: NOTICE:  CREATE TABLE / PRIMARY KEY will create implicit index "-t_pkey" for table "-t"
CREATE TABLE
INSERT 0 1
COMMIT

আমি পোস্টজিআইএস-এ এই টেবিলটি দেখলে মনে হয় এটির মতো:

এখানে চিত্র বর্ণনা লিখুন

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


পোস্টজিআইএস ডকুমেন্টেশন কীভাবে রেস্টার লোড করতে পারে তার একটি উদাহরণ দেয় তবে আমি বুঝতে পারি না কোনটি যুক্তি alচ্ছিক এবং আমি ডিফল্ট স্কিমা ব্যবহার করতে চাইলে আমার কী ব্যবহার করা উচিত তা সম্পর্কে এখনও অস্পষ্ট। উদাহরণস্বরূপ, ডকুমেন্টেশন থেকে নিম্নলিখিত উদাহরণে:

raster2pgsql -s 4236 -I -C -M *.tif -F -t myschema.demelevation > elev.sql 
psql -d gisdb -f elev.sql
  1. আমাকে কি এসআরআইডি সরবরাহ করতে হবে? -s 4236

  2. যুক্তিগুলি কি -I -C -Mসমস্ত alচ্ছিক?

  3. -tটাইল আকার বলে মনে হচ্ছে; আমার যদি কাস্টম স্কিমা না থাকে তবে আমার কি এটি উল্লেখ করতে হবে?

  4. আমি কি শুধু বাইরে যেতে পারি myschema.demelevation?

সম্পাদনা: আমি নীচের পরামর্শগুলির ফলাফলটি অন্তর্ভুক্ত করেছি:

C:\Program Files (x86)\PostgreSQL\9.1\bin>raster2pgsql -s 102003 -t 300x300 ras_test.tif ras_test | psql.exe -U postgres
 -d raster_analysis -h localhost -p 5434
Processing 1/1: ras_test.tif
BEGIN
NOTICE:  CREATE TABLE will create implicit sequence "ras_test_rid_seq" for serial column "ras_test.rid"
NOTICE:  CREATE TABLE / PRIMARY KEY will create implicit index "ras_test_pkey" for table "ras_test"
CREATE TABLE
INSERT 0 1
INSERT 0 1
INSERT 0 1
INSERT 0 1
COMMIT

এটি দুটি কলাম ridএবং একটি সারণীতে ফলাফল rastridচারটি মান রয়েছে, নাদের rastকোনও মূল্য নেই। যখন আমি আরও কিছু যুক্তি ব্যবহার করার চেষ্টা করি:

C:\Program Files (x86)\PostgreSQL\9.1\bin>raster2pgsql -I -C -e -Y -F -s 102003 -t 300x300 ras_test.tif ras_test1 | psql
.exe -U postgres -d raster_analysis -h localhost -p 5434
Processing 1/1: ras_test.tif
NOTICE:  CREATE TABLE will create implicit sequence "ras_test1_rid_seq" for serial column "ras_test1.rid"
NOTICE:  CREATE TABLE / PRIMARY KEY will create implicit index "ras_test1_pkey" for table "ras_test1"
CREATE TABLE
CREATE INDEX
ANALYZE
NOTICE:  Adding SRID constraint
CONTEXT:  PL/pgSQL function "addrasterconstraints" line 49 at RETURN
NOTICE:  Adding scale-X constraint
CONTEXT:  PL/pgSQL function "addrasterconstraints" line 49 at RETURN
NOTICE:  Adding scale-Y constraint
CONTEXT:  PL/pgSQL function "addrasterconstraints" line 49 at RETURN
NOTICE:  Adding blocksize-X constraint
CONTEXT:  PL/pgSQL function "addrasterconstraints" line 49 at RETURN
NOTICE:  Adding blocksize-Y constraint
CONTEXT:  PL/pgSQL function "addrasterconstraints" line 49 at RETURN
NOTICE:  Adding alignment constraint
CONTEXT:  PL/pgSQL function "addrasterconstraints" line 49 at RETURN
NOTICE:  Adding number of bands constraint
CONTEXT:  PL/pgSQL function "addrasterconstraints" line 49 at RETURN
NOTICE:  Adding pixel type constraint
CONTEXT:  PL/pgSQL function "addrasterconstraints" line 49 at RETURN
NOTICE:  Adding nodata value constraint
CONTEXT:  PL/pgSQL function "addrasterconstraints" line 49 at RETURN
NOTICE:  Unable to add constraint "enforce_nodata_values_rast"
CONTEXT:  PL/pgSQL function "_add_raster_constraint_nodata_values" line 40 at RETURN
PL/pgSQL function "addrasterconstraints" line 94 at assignment
PL/pgSQL function "addrasterconstraints" line 49 at RETURN
WARNING:  Unable to add constraint: 'nodata_values'.  Skipping
CONTEXT:  PL/pgSQL function "addrasterconstraints" line 49 at RETURN
NOTICE:  Adding maximum extent constraint
CONTEXT:  PL/pgSQL function "addrasterconstraints" line 49 at RETURN
 addrasterconstraints
----------------------
 t
(1 row)

আমি নিম্নলিখিত আউটপুট পেতে। নিম্নলিখিত কাঠামো সহ এটি একটি নতুন টেবিলের ফলাফল:

এখানে চিত্র বর্ণনা লিখুন

আমি ধরে নিয়েছি যে এটি সঠিকভাবে বোঝা রাস্টার নয় কারণ আমি ডেটা দেখতে পাচ্ছি না। অন্য কোন বিকল্প আছে যা আমি চেষ্টা করতে পারি?

সম্পাদনা: এই শেষ প্রয়াসটি কাজ করেছিল, আমি কেবল রাস্টারটিকে সঠিকভাবে অ্যাক্সেস করছিলাম না।


raster2pgsql উল্লেখ রেজিস্ট্রেশন postgis.org/docamentation/manual-svn/…
ম্যাপারজ

আমি এখানে সরবরাহিত বাক্য গঠন ব্যবহার করে রাস্টার ফাইল (জেপিজি) পোস্ট জিজে লোড করার চেষ্টা করেছি "সি: \ প্রোগ্রাম ফাইল (x86) \ পোস্টগ্র্যাসকিউএল \ 9.1 \ বিন> রাস্টার 2pgsql -I -C -e -Y -F -s 102003 -t 300x300 ras_test.tif ras_test1 | psql .exe -U postgres -d raster_analysis -h localhost -p 5434 "আমি ডাটাবেসে একটি রাস্টার টেবিল তৈরি দেখতে পেলাম। এটি সেলেনিয়াসের মতো দেখানো হয়েছিল যেখানে আপনি কোনও নির্দিষ্ট কক্ষে ক্লিক না করে আপনি "রাস্ট রাস্টার" কলামের আওতায় কোনও জিনিস দেখতে পাবেন না। এখানে আমার আসল সমস্যা। এসকিএল কোয়েরি স্তরটি ব্যবহার করে কিভাবে আর্কজিআইএস থেকে রাস্টার স্তরটি দেখতে পাবেন। আমি যখন এই স্তরটি যুক্ত করার চেষ্টা করেছি এবং এটি বৈধতা দিয়েছি, তখন এটি বলেছে "
রাস্ট

আমি মনে করি আপনার এটিকে একটি নতুন প্রশ্ন হিসাবে জিজ্ঞাসা করা উচিত কারণ আপনি আরও প্রতিক্রিয়া পাবেন। আপনি কীভাবে আর্কজিআইএস ব্যবহার করে সংযোগ করতে পারবেন তা আমি জানি না তবে আপনি এটি অ্যাক্সেসের জন্য কিউজিআইএস ব্যবহার করতে পারেন।
djq

1
দ্রষ্টব্য: pgAdminIII নির্দিষ্ট আকারের বাইরে ডেটার জন্য একটি ফাঁকা ঘর দেখায়; # 297 টিকিট দেখুন
মাইক টি

উপরের কোয়েরিটি কাজ করে তবে কেউ কী আমাকে বলতে পারবেন কীভাবে টেবিলের মধ্যে পিক্সেল মান / ঘর মান সংরক্ষণ করবেন?

উত্তর:


5

SRID? -স 4236 (প্রয়োজনীয়)

আর্গুমেন্টগুলি -I -C -M সমস্ত alচ্ছিক?

- রাস্টার রাস্টার_কলামগুলি দৃশ্যে রাস্টার যথাযথভাবে নিবন্ধিত রয়েছে তা নিশ্চিত করতে রাস্টার সীমাবদ্ধতাগুলি - শ্রীড, পিক্সেল আকার ইত্যাদি প্রয়োগ করুন। (প্রয়োজন)

-এম (ভ্যাকুয়াম রাস্টার টেবিলটি বিশ্লেষণ করুন)) alচ্ছিক

-আমি (রাস্টার কলামে একটি জিআইএসটি সূচক তৈরি করুন)) optionচ্ছিক তবে প্রস্তাবিত

-t TILE_SIZE (টেবিল সারিতে প্রতি একটি beোকানোর জন্য টাইলসে রাস্টার কাটুন T TILE_SIZE WIDTHxHEIGHT হিসাবে প্রকাশ করা হবে)

myschema.demelevation ছেড়ে দাও (হ্যাঁ)

http://postgis.net/docs/using_raster_dataman.html#RT_Loading_Rasters


ধন্যবাদ ম্যাপেরজ, আমি আংশিকভাবে বুঝতে পেরেছিলাম কীভাবে রেস্টার 2 পিপিএসকিউএল কাজ করে - তবে পোস্টগ্র্যাসক্লিতে আমার রাস্টারটিতে একটি মাত্র ঘর রয়েছে যার কারণে আমি কী যুক্তি ব্যবহার করব তা নির্ধারণ করার চেষ্টা করছি।
ডিজেকিউ

9

Celenius,

আপনি যদি -tআকারের মাত্রা সহ বিকল্পটি ব্যবহার না করেন তবে আপনার রাস্টার ফাইলটি একক রেকর্ড হিসাবে আসবে। আমি ডক্সে কেবল একটি ত্রুটি লক্ষ্য করেছি যা সম্ভবত আপনাকে বিভ্রান্ত করছে। আমি এটা ঠিক করব। -tসবসময় একটি widthxheight দ্বারা অনুসরণ করা উচিত।

আপনি যদি চান তা 100x100 পিক্সেল প্রস্থের উচ্চতায় বলতে চান - ম্যাপারজ যেমন বলেছিলেন - -t বিকল্পটি ব্যবহার করুন।

সুতরাং আপনার আদেশ হবে:

raster2pgsql -s 102003  -t 100x100 ras_test.tif ras_test > elev.sql

ডক্সে বায়বীয় উদাহরণটি দেখুন। http://www.postgis.org/documentation/manual-svn/using_raster.xml.html#RT_Raster_Loader

যা ম্যানুয়াল উদাহরণগুলির অনেকগুলি ব্যবহার করে:

raster2pgsql -I -C -e -Y -F -s 26986 -t 128x128 -l 2,4 bostonaerials2008/*.jpg aerials.boston | psql -U postgres -d gisdb -h localhost -p 5432

আমি জানি সুইচগুলি কিছুটা দুশ্চিন্তা হতে পারে কারণ সেগুলি অনেকগুলি এবং বেশিরভাগই alচ্ছিক। সম্ভবত ২.১-এ আমরা shp2pgsql-guiনতুনদের জন্য এটি কিছুটা সহজ করার জন্য একটি গিওর অনুরূপ থাকব ।

সর্বশেষতম raster2pgsqlসংস্করণে টিআইএফ বা অন্যান্য রাস্টার ফাইলে জিওরিফারেন্স তথ্য থেকে এই স্ক্রিডটি অনুমান করার যুক্তি রয়েছে (এই সংস্করণটি এখন উইন্ডো বাইনারি হিসাবে উপলব্ধ)। এখনও সেই বৈশিষ্ট্যটি চেষ্টা করেননি, তবে এটি যদি কাজ করে তবে আপনি এমনকি শ্রীডটি ছেড়ে দিতে পারেন এবং এটি অনুমান করা হবে (আশা করি সঠিকভাবে)।


পরামর্শের জন্য ধন্যবাদ! এখনও এটি কাজ করতে সক্ষম নয়, তবে সুইচগুলি আরও ভাল বোঝা শুরু করে starting
djq

এটি কাজ করেছিল, তবে ডাটাবেসের মধ্যে এটি কীভাবে দেখা উচিত তা আমি বুঝতে পারি নি। আপনার সাহায্যের জন্য আবার ধন্যবাদ।
djq

Pgsql এ রাস্টারগুলি লোড করার জন্য জিইউআই কি শেষ পর্যন্ত এসেছিল? :)
অ্যাস্ট্রোজুয়ানলু

-2

এসকিউএল ভিউতে, ডেটা বড় হয়ে গেলে আপনি দেখতে পারবেন না। আপনি একটি ফাইলটিতে ক্যোয়ারী চালাবেন এবং এটি ডেটা প্রদর্শন করবে।


1
মূল (পুরানো) প্রশ্নের ইতিমধ্যে একটি স্বীকৃত উত্তর রয়েছে এবং আপনার প্রশ্নের আসলেই বিকল্প বিকল্প নয়, বরং ভিজ্যুয়াল ইন্সপেকশন করার আহ্বান।
কার্লিউ
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.