এসকিউএল সার্ভার জ্যামিতি লাইনে সদৃশ শিখুন (আরকিএসডিই)


10

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

1835815.86 12887142.42 0 0, 1835816.72 12887142.68 170 170, 1835817.53 12887142.76 349.99 350, 1835817.52 12887142.76 559.99 560, 1835817.78 12887142.76 659.99 660, ....

এছাড়াও, আমি ভাবছি যে আমি যদি একটি নিয়মিত ভাব এবং সামনের চেহারা এবং / অথবা সদৃশ নম্বরগুলি খুঁজতে পিছনে তাকাতে পারি তবে ??

উত্তর:


5

পাইথনের সাথে এখানে একটি উপায়। ডাটাবেস থেকে স্ট্রিং হিসাবে আস্তরণের বাইনারি পান:

select shape.ToString() from table_in_sde

তারপরে এটি ধরুন এবং এটিকে অজগরটিতে একটি পরিবর্তনশীল হিসাবে রাখুন, ডুপগুলি সন্ধানের জন্য কিছু রেইগেক্স, তালিকা এবং অভিধানের সদর্থকতাটি ব্যবহার করুন (সত্যি বলতে, আমি অভিধানের ডুপ স্টাফ খুঁজতে গুগলড):

>>> import re
>>> s = 'LINESTRING (1835815.86 12887142.42 0 0, 1835816.72 12887142.68 170 170, 1835817.53 12887142.76 349.99 350, 1835817.52 12887142.76 559.99 560,....)'
>>> l = re.findall(r'(\d+.\d{2})\s',s)

>>> icount = {}
>>> for i in l:
...     icount[i] = icount.get(i,0) + 1

>>> for key, value in icount.iteritems():
...     if value > 1:
...             dups[key] = value
...
>>> dups
{'12887142.42': 2, '12887142.76': 3, '3081.28': 2}
>>>

তৃতীয় অভিধানের আইটেমটি অপ্রাসঙ্গিক (এটি Z এর মান এবং তারা বহুবার উপস্থিত হতে পারে)। প্রথম দুটি আইটেম হ'ল সদৃশ ওয়াই মান। কী হ'ল স্থানাঙ্ক, মানটি স্ট্রিংয়ের মধ্যে কতবার প্রদর্শিত হয় তার গণনা।


3

রেজেক্স রুটে নামার আগে আমি এসকিউএল সার্ভারের এসটিআইভিভালিড () মেকভালিড () এর সাথে মিলিয়ে শুরু করব । আপনি যদি এসডিই দিকে জিনিসগুলি দেখতে চান তবে sdelayer -o বৈশিষ্ট্য_ইনফো -r অবৈধ ব্যবহার করুন


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

আহ, আমি এটা সম্পর্কে অবগত ছিল না। STIsValid () আপনার খারাপ জ্যামিতিগুলি পতাকাঙ্কিত করছে?
ডেরেক সুইংলে

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