কিউজিআইএসে পয়েন্ট / লাইন / বহুভুজগুলি সম্পাদনা করার পরে পোস্টগ্রিএসকিউএল সমস্যা


15

পোস্টগ্রিস্কল এবং কিউজিআইএস নিয়ে আমার সমস্যা আছে:

  • আমি পয়েন্ট / লাইন / বহুভুজ এবং ফিলিপ ফিল্ড যুক্ত করতে পারি

তবে আমি এটা করতে পারি না:

  • পয়েন্ট / লাইন / বহুভুজ মুছুন
  • পয়েন্ট / লাইন / বহুভুজগুলি পরিবর্তন করুন (ক্ষেত্রটি সরান বা সংশোধন করুন)

উদাহরণস্বরূপ: dbname = 'ইউরোপ' হোস্ট = লোকালহোস্ট পোর্ট = 5432 ব্যবহারকারীর = 'পোস্টগ্রিস' sslmode = নিষ্ক্রিয় কী = 'টিড' অনুমানমেডাটাটা = সত্য srit = 900913 প্রকার = পয়েন্ট টেবিল = "পাবলিক"। "গ্রহ_অস্ম_পয়েন্ট" (উপায়) স্ক্যুয়াল =

কিউজিআইএস অ্যাডমিন স্তর হিসাবে ডাটাবেসে সংযুক্ত থাকে। পিডিএডমিন তৃতীয় দিয়ে আমি সব কিছু করতে পারি (তৈরি, মুছুন, সংশোধন করুন ...)

Postgresql ডাটাবেসটি ওএসএম থেকে osm2pgsql এর সাথে আমদানি করা হয় ।

অন্য স্তরটিতে .shp এর মতো আমার কাছে এই সমস্যা নেই।

কোন ধারণা ?

কনফিগার: উবুন্টু 14.04 / পোসগ্র্যাস্কিল 9.4 / কিউজিআইএস 2.10


হাই ম্যাথিউ, আপনি "আমি পারছি না" এর সঠিক অর্থটি ব্যাখ্যা করতে পারেন? সরঞ্জামগুলি নিষ্ক্রিয় করা হয়েছে, এটি স্তর সংরক্ষণে ব্যর্থ হয়? এবং সবচেয়ে গুরুত্বপূর্ণ: একটি ত্রুটি বার্তা আছে? পোস্টগিস ট্যাবে বার্তা লগ প্যানেলটি দেখুন।
মাথিয়াস কুহন

অফকোর্স আমি সম্পর্কিত স্তরে (হলুদ কলম) এডিটিং মোডে আছি। সম্পাদনা সরঞ্জামগুলি সত্তা আইকন যুক্ত করা ছাড়া সব ধূসর। আমি যে বার্তাটি পেয়েছি তা হ'ল লে সার্ভিস প্রেস্টেটায়ার নেপাল সার্ভিসেস: লে প্রেস্টেটায়ার নে ডোননিস নে সাপোর্ট পেজ ল'এফেসমেন্ট ডেস ইজেটস
ম্যাথিউ

1
ইংরাজীতে ত্রুটি বার্তা: সরবরাহকারী মুছে ফেলা সমর্থন করে না: ডেটা সরবরাহকারী বৈশিষ্ট্যগুলি মোছার পক্ষে সমর্থন করে না
ম্যাথিউ

1
শীর্ষস্থানীয় আইকন সম্পাদনা করা হচ্ছে: সমস্ত গ্রে ছাড়াই বৈশিষ্ট্য যুক্ত করুন
ম্যাথিউ

1
2015-08-08T12: 10: 22 1 প্রাথমিক কীটি সিটিডি করা হয়েছে - বিদ্যমান বৈশিষ্ট্যগুলির পরিবর্তন করা অক্ষম করা হয়েছে (উপায়; "পাবলিক" "" গ্রহ_সৌম_পয়েন্ট ") 2015-08-08T12: 10: 23 1 প্রাথমিক কী সিটিডি করা হয়েছে - বিদ্যমান বৈশিষ্ট্যগুলির পরিবর্তন অক্ষম (উপায়; "পাবলিক"। "গ্রহ_স্বারণ_লাইন") 2015-08-08T12: 10: 23 1 "সর্বজনীন" এর উপায়ের জন্য বৈশিষ্ট্য টাইপ বা স্ক্রিড planet "গ্রহ_সম_পলিগন" নির্ধারণ করা যায়নি বা অনুরোধ করা হয়নি।
ম্যাথিউ

উত্তর:


13

সংশোধন করা হয়েছে। সমস্যাটি কোনও প্রাথমিক কী নয়।

পিজিএডমিনে এই অনুরোধটি করুন।

টেবিলের টেবিলের নাম প্রাথমিক কী (আইডি) যুক্ত করুন;

গ্রামীণ_সোম_লাইন সারণী এবং ওসএম_আইডি কলামটি প্রাথমিক কী হিসাবে সেট করার উদাহরণ:

টেবিল গ্রহ_আসম_লাইন প্রাথমিক কী (osm_id) যুক্ত করুন;

untill osm_id অনন্য।


এইভাবে আপনি এটি কি!
ডিপিএসএসপিশিয়াল

আপনি ঠিক বলেছেন?
ম্যাথিউ

আমি তাই মনে করি! আমি এটি কাজ করে পরীক্ষা করে আবার রিপোর্ট করতে পারি, তবে এখন আপনি কীভাবে ডেটা আমদানি করেছেন তা জেনে এটি আপনার কর্মক্ষেত্র। যদিও একটি সমস্যা - আপনি কিএসজিআইএস-এ স্থানীয়ভাবে কোনও ওএসএম সম্পাদকে ডেটা সম্পাদনা করার পরিবর্তে এটিকে আবার অবদান রাখার পরিবর্তে এই ডেটাটি সম্পাদনা করছেন?
ডিপিএসএসপিশিয়াল

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

10

ইতিমধ্যে উল্লিখিত হিসাবে একটি প্রাথমিক কী তৈরি করা সমাধান।

তবে ডিজাইনের মাধ্যমে osm2pgsqlগ্যারান্টি দেয় না যে এটি osm_idঅনন্য। এটি একই osm_id সহ কয়েকটি সারি তৈরি করতে পারে ।

planet_osm_*কিউজিআইএস-এ সারণী সম্পাদনা করতে , উদাহরণস্বরূপ, অন্য আইডি কলাম যুক্ত করা বুদ্ধিমানের কাজ gid

একটি অনন্য gidকলাম যুক্ত করতে:

ALTER TABLE planet_osm_point ADD gid serial PRIMARY KEY;
ALTER TABLE planet_osm_line ADD gid serial PRIMARY KEY;
ALTER TABLE planet_osm_polygon ADD gid serial PRIMARY KEY;
ALTER TABLE planet_osm_roads ADD gid serial PRIMARY KEY;

জ্যামিতি কলামটি কেবল জিওমেট্রি হলে কিউজিআইএস-এর সমস্যা রয়েছে। কিছু প্রশ্ন ব্যর্থ হতে পারে। আমি planet_osm_polygonজ্যামিতিটি এর MultiPolygonসাথে পরিবর্তন করতে দরকারী বলে মনে করেছি:

ALTER TABLE planet_osm_polygon
    ALTER COLUMN way TYPE geometry(MultiPolygon,3857) USING ST_Multi(way);

3

আমি মনে করি এটি একটি প্রাথমিক কী সমস্যা। আপনার টেবিলের একটি থাকা উচিত এবং আপনি যখন পিজিএডমিনের মাধ্যমে টেবিলটি দেখেন তখন তা স্বীকৃত।

আমার একই সমস্যা ছিল, তবে আইডি (স্বেচ্ছাসেবক) নামক একটি প্রাথমিক কী ক্ষেত্রের সাথে স্তরটি পুনরায় লোড করা হয়েছে এবং আমার সমস্ত সম্পাদনা সরঞ্জাম এখন সরঞ্জামদণ্ডে সক্রিয়।

এসকিউএল ব্যবহার করে আপনি 'সিরিয়াল' ডেটা টাইপের একটি ওআইডি কলাম যুক্ত করতে পারেন এবং এই বিবৃতিটি ব্যবহার করে একটি প্রাথমিক কী তৈরি করতে পারেন:

ALTER TABLE schema."Tablename"

ADD ID serial NOT NULL

ALTER TABLE schema."Tablename" ADD PRIMARY KEY (id);

একটি জিইউআই ব্যবহার করে আপনি আপনার স্তরটিকে একটি প্রাথমিক কী দিয়ে পুনরায় লোড করতে পারেন যা ডেটাবেস এবং এইভাবে পোস্টজিআইএস এবং কিউজিআইএস দ্বারা স্বীকৃত হবে:

  • ডিবি ম্যানেজার খুলুন
  • আপনার ডাটাবেসের সাথে সংযোগ করুন
  • 'আমদানি স্তর / ফাইল' চয়ন করুন
  • 'প্রাথমিক কী' বাক্সটি চেক করুন এবং 'প্রাথমিক কী' কলামের জন্য একটি নাম লিখুন যা অনন্য আইডি সংরক্ষণ করবে যা সম্পাদনা সক্ষম করবে:

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

সেখান থেকে, পিজিএডমিনে ফিরে যান, আপনার ডাটাবেসের সাথে সংযুক্ত হন এবং সবেমাত্র তৈরি করা টেবিলটিতে ক্লিক করুন - আপনি এখন দেখতে পারেন যে ওআইডি কলামটি স্বীকৃত কিনা:

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


পিজিএডমিনের অধীনে কোনও প্রাথমিক কী নেই। আমি কীভাবে স্তরটি আবার লোড করব?
ম্যাথিউ

@ ম্যাথিউ আমি কিউজিআইএস-এ ডিবিম্যানেজার প্লাগইনটি ব্যবহার করব এবং 'প্রাথমিক কী' বিকল্পটি ক্লিক করব এবং ফিল্ডটির নাম রাখব ওবিজেসিটিড বা অনুরূপ কিছু। এটি আপনাকে সম্পাদনাযোগ্য বৈশিষ্ট্যগুলির অনুমতি দেবে ... যদি আপনার কাছে একটি প্রাথমিক অনন্য আইডি ক্ষেত্র থাকে যা আপনি আপনার প্রাথমিক কী হিসাবে ব্যবহার করতে চান তবে আপনি সর্বদা সেটিকে আবার সেট করতে পারেন ...
ডিপিএসএসপটিয়াল

আমি অবশ্যই বোবা কিন্তু ডিবিম্যানের অধীনে প্রাথমিক কীটি কোথায় সেট করতে হবে তা খুঁজে পেলাম না। আসলে আমার কাছে "প্লেনোএসএম বহুভুজ" (এবং অন্যদের) জন্য একটি সতর্কবার্তা রয়েছে যে থের কোনও প্রাথমিক কী নেই।
ম্যাথিউ

ঠিক আছে - আমার উত্তরটি কেবল আপডেট করেছে, তবে এটিই করার জিইউআই উপায় ... এটি যদি আপনার পক্ষে কাজ করে তবে আমাকে জানান ...
ডিপিএসএসপটিয়াল

প্রক্রিয়াটির জন্য অনেক ধন্যবাদ, এবং এখন আমি বুঝতে পারি কেন আমি এটি করতে পারি না: osm2pgsql ব্যবহার করে ডাটাবেসটি osm.pbf ফাইল থেকে সরাসরি পোস্টগ্রিসে আমদানি করা হয়। আপনার পদ্ধতিতে একটি বাহ্যিক ফাইল যা লোড করতে হয়। আমার ক্ষেত্রে ডাটাবেস ইতিমধ্যে পোস্টগিসে রয়েছে এবং আপনার স্ক্রিন ক্যাপচারে প্রদর্শিত কোনও প্রাথমিক কী বলে না key সুতরাং একটি উপায় আছে - যখন ইতিমধ্যে ডাটাবেস আমদানি করা হয় - pgsql এর অধীনে একটি প্রাথমিক কী তৈরি করা যায়?
ম্যাথিউ
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.