আমি কীভাবে পোস্টজিআইএস ২.০ ডাটাবেসে কোনও রাস্টার লোড করব তা বোঝার চেষ্টা করছি (আমি এখানে এবং এখানে এই বিষয়ে পূর্ববর্তী প্রশ্ন জিজ্ঞাসা করেছি )। আমি 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
আমাকে কি এসআরআইডি সরবরাহ করতে হবে?
-s 4236
যুক্তিগুলি কি
-I -C -M
সমস্ত alচ্ছিক?-t
টাইল আকার বলে মনে হচ্ছে; আমার যদি কাস্টম স্কিমা না থাকে তবে আমার কি এটি উল্লেখ করতে হবে?- আমি কি শুধু বাইরে যেতে পারি
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
এবং একটি সারণীতে ফলাফল rast
। rid
চারটি মান রয়েছে, নাদের 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)
আমি নিম্নলিখিত আউটপুট পেতে। নিম্নলিখিত কাঠামো সহ এটি একটি নতুন টেবিলের ফলাফল:
আমি ধরে নিয়েছি যে এটি সঠিকভাবে বোঝা রাস্টার নয় কারণ আমি ডেটা দেখতে পাচ্ছি না। অন্য কোন বিকল্প আছে যা আমি চেষ্টা করতে পারি?
সম্পাদনা: এই শেষ প্রয়াসটি কাজ করেছিল, আমি কেবল রাস্টারটিকে সঠিকভাবে অ্যাক্সেস করছিলাম না।