স্পর্শকৃত রেখাগুলি থেকে ছেদ করা রেখাগুলি আলাদা?


9

আমি আর্কজিআইএস 10-এ এই কেসগুলির মধ্যে কীভাবে পার্থক্য করব?

  • কেস 1 : একটি লাইনের উভয় প্রান্তই অন্য লাইনে স্পর্শ করে
  • কেস 2 : উভয় প্রান্তটি ছেদ করে রেখাগুলির উপর স্থির করে

আমি ট্রিম লাইন ফাংশনটি দেখছি তবে এটি আমি চাই না (ধ্বংসাত্মক)।

আসল বিশ্ব ব্যবহারের ক্ষেত্রে হ'ল ফ্রিওয়ের উভয় সড়কপথকে সংযোগকারী পরিষেবা রাস্তা এবং ফ্রিওয়ের সাথে ছেদ করা রাস্তার অন্যান্য ক্ষেত্রে পার্থক্য করা।

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

উত্তর:


13

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

ভাবমূর্তি
(উত্স: আরসিগিস.কম )

লাইন ব্যবহার করে লাইন নির্বাচন করুন

ইন্টারসেক্ট এ, সি, ডি, ই, এফ, জি, এইচ, আই, জে

কন্টেইনস জি, এইচ

কমপ্লিটেল_সিএন্টেইনস জি

CONTAINS_CLEMENTINI জি, এইচ

এফ, এইচ ছাড়া

সম্পূর্ণ এফ

সহ, এফ, এইচ

ARE_IDENTICAL_TO এইচ

বাউন্ডারি_উউচেস সি, ই

এই ক্ষেত্রে সম্পর্কিত সম্পর্কের প্রকারগুলি হ'ল INTERSECTএবং BOUNDARY_TOUCHES। আপনি উপরের চিত্র থেকে দেখতে পাচ্ছেন, আপনি BOUNDARY_TOUCHESএমন বৈশিষ্ট্যগুলি বেছে নিতে ব্যবহার করতে পারেন যা লাইনের শেষ প্রান্তকে স্পর্শ করে। যদি ঠিক দুটি বৈশিষ্ট্য নির্বাচিত হয় তবে আপনার কেস ১ রয়েছে a যদি কোনও বৈশিষ্ট্য অন্য কোনও বৈশিষ্ট্য দ্বারা স্পর্শ না করা হয় তবে কেবল তাদের দ্বারা ছেদ করা হয়, তবে BOUNDARY_TOUCHESকিছুই নির্বাচন করবেন না। INTERSECTএমন সমস্ত বৈশিষ্ট্য নির্বাচন করবে যা ছেদ করতে পারে কিনা তা নির্বিশেষে তারা শেষ পয়েন্টে স্পর্শ করে কিনা। সুতরাং যদি আপনি জানেন যে শেষের পয়েন্টগুলিকে স্পর্শ করার মতো কোনও বৈশিষ্ট্য নেই, তবে আপনি দেখতে পাচ্ছেন এমন কিছু বৈশিষ্ট্য ছেদ করছে, তবে আপনার কেস 2 রয়েছে have

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

import arcpy

################################ Configuration #################################
numTouchesField = "NUM_TOUCHES"
numIntersectionsField = "NUM_INTERSECTIONS"
################################################################################

def countTouches(layer, feature):
    """Returns the number of times the boundary of a feature touches other
    features in the same feature layer."""
    return countSpatialRelation(layer, feature, "BOUNDARY_TOUCHES")

def countIntersections(layer, feature):
    """Returns the number of times a feature intersects other features in the
    same feature layer."""
    return countSpatialRelation(layer, feature, "INTERSECT") - 1 # Subtract 1 because the feature will always intersect its clone in the feature layer

def countSpatialRelation(layer, feature, relation):
    """Returns the number of times a feature meets the specified spatial
    relationship with other features in the same feature layer."""
    arcpy.SelectLayerByLocation_management(layer, relation, feature)
    count = int(arcpy.GetCount_management(layer).getOutput(0))
    return count

def addField(table, fieldName, fieldType):
    """Adds a fields of the given name and type to a table, unless a field with
    the same name already exists."""
    desc = arcpy.Describe(table)
    fieldInfo = desc.fieldInfo
    fieldIndex = fieldInfo.findFieldByName(fieldName)
    if fieldIndex == -1:
        # Field does not exist, add it
        arcpy.AddField_management(table, fieldName, fieldType)

def countTouchesAndIntersections(layer):
    """Adds and populates fields describing the number of times each feature
    touches and intersects other features in the feature layer."""
    addField(layer, numTouchesField, "LONG")
    addField(layer, numIntersectionsField, "LONG")
    desc = arcpy.Describe(layer)
    shapeField = desc.shapeFieldName
    rows = arcpy.UpdateCursor(layer)
    for row in rows:
        feature = row.getValue(shapeField)
        row.setValue(numTouchesField, countTouches(layer, feature))
        row.setValue(numIntersectionsField, countIntersections(layer, feature))
        rows.updateRow(row)
    del row, rows

if __name__ == "__main__":
    layer = arcpy.MakeFeatureLayer_management(arcpy.GetParameterAsText(0))
    countTouchesAndIntersections(layer)

এটি একবার চলার পরে, আপনি সহজেই সেই বৈশিষ্ট্যগুলির জন্য জিজ্ঞাসা করতে পারেন যা ঠিক দু'বার স্পর্শ করে এবং ঠিক দ্বিগুণ ছেদ করে (কেস 1), এবং যেগুলি 0 বার স্পর্শ করে এবং ঠিক দ্বিগুণ ছেদ করে (কেস 2)।

উদাহরণ সংজ্ঞা প্রশ্নসমূহ:

  • কেস 1 (দু'বার স্পর্শ করে, দু'বার ছেদ করে):"NUM_TOUCHES" = 2 AND "NUM_INTERSECTIONS" = 2
  • কেস 2 (কারও কাছে স্পর্শ নয়, দু'বার ছেদ করে):"NUM_TOUCHES" = 0 AND "NUM_INTERSECTIONS" = 2

দুটি মামলার উদাহরণ খুঁজে পাওয়ার জন্য নীচের স্ক্রিনশটটি দেখুন: আর্কম্যাপের স্ক্রিনশটটি বিভিন্ন লাইন ছেদ / স্পর্শ সম্পর্ক দেখায়

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

আরও সাধারণ ক্ষেত্রে, আপনি কিনা তা পরীক্ষা করে কোনও ঝুঁকির সন্ধান করতে চাইতে পারেন "NUM_INTERSECTIONS" > "NUM_TOUCHES"


বিস্তৃত উত্তরের জন্য ধন্যবাদ। এটিকে স্ক্রিপ্ট সরঞ্জামে রূপান্তর করতে আমার কিছুটা সমস্যা হয় (যখন আমি একটি স্তর নির্বাচন করার চেষ্টা করি তখন এটি হিমশীতল হয়) তবে আমি দৃ confident় বিশ্বাসী যে এপ্রোচটি কার্যকর is
মভেক্সেল

আরও একটি মন্তব্য: আমাকে ক্ষেত্রের নামের দৈর্ঘ্য 10 টিরও কম করতে হবে (সম্ভবত স্তর উত্সটি একটি আকৃতিযুক্ত ফাইল)।
মভেক্সেল

মনে হচ্ছে কোনও উত্তরআর্কিজিস ডকুমেন্টেশন চিত্রের একটি URL রয়েছে যা এই উত্তরের শুরুতে পথভ্রষ্ট হয়েছে।
পলিজিও

@ পলিজিও কোনটি? আমার কাছে ভাল লাগছে।
blah238

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

2

ভার্টেসিতে লাইন বিভক্ত করুন (ডেটা ম্যানেজমেন্ট)

"ইনপুট লাইনগুলি বা বহুভুজের সীমানাগুলি তাদের শীর্ষে বিভাজন করে তৈরি করা লাইনগুলি সমন্বিত একটি বৈশিষ্ট্য শ্রেণি তৈরি করে"

অ্যাট্রিবিউশন রাখুন।

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

http://help.arcgis.com/en/arcgisdesktop/10.0/help/index.html#//00170000003z000000


আমি নিশ্চিত না যে এটি কীভাবে আমাকে সহায়তা করবে, তবে আমি বুঝতে পারি যে আরও কিছুটা ভাল করার জন্য আমার কী প্রয়োজন তা পরিষ্কার করে বলতে পারতাম। প্রশ্ন সম্পাদনা।
মভেক্সেল

-1

কীভাবে বৈশিষ্ট্য স্তরটি অনুলিপি করা, লাইনগুলি ছাঁটাই করা, তারপরে পরিবর্তিত বৈশিষ্ট্যগুলি অনুসন্ধানের জন্য ছাঁটা বৈশিষ্ট্যটি সেটটি মূলের সাথে সেট করা যায়? সুন্দর নয়, প্রায় অবশ্যই পাইথন ব্যবহার করা প্রয়োজন তবে এটির মতো কাজ করা উচিত বলে মনে হয়।


-1

আপনি নেটওয়ার্কের নোডও বের করতে পারেন। ক্ষেত্রে 1 আপনি 4 এর ভারসাম্য সহ 2 টি নোড পাবেন 2 ক্ষেত্রে 2 ক্ষেত্রে কোনও নোড নেই।


আপনি কীভাবে অর্কজিআইএসে এটি করবেন তা পরামর্শ দিতে পারেন?
blah238

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