জিওজনকে পাইথন অবজেক্টে রূপান্তর করা হচ্ছে? [বন্ধ]


24

সাইটটিতে নতুন এবং জিওজেএসন এবং অজগরে নতুন।

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

জিওজেএসএন ডেটা ফাইল থেকে জ্যামিতি ডেটা কীভাবে বের করা যায় সে সম্পর্কে আমি একটি গ্রন্থাগার, বা নির্দেশাবলীর সন্ধান করছি। অন্য কথায়, আমি বলতে চাই "বৈশিষ্ট্যগুলির তালিকাটি পান ..." - তারপরে প্রতিটি বৈশিষ্ট্যের জন্য আমি জ্যামিতিটি পেতে চাই, প্রকারটি পড়ি এবং এর জন্য স্থানাঙ্কগুলি পেতে চাই নির্দিষ্ট জ্যামিতি আইটেম। বৈশিষ্ট্যের তালিকার প্রতিটি আইটেমের জন্য পুনরাবৃত্তি করুন।

কোন পরামর্শ?

উত্তর:


37

আপনি যখন jsonলাইব্রেরিটি ব্যবহার করে কোনও জিওজেএসন ফাইল লোড করেন , আপনি dictএমন একটি প্রবেশিকা পেয়ে যাতে featuresবৈশিষ্ট্যের তালিকা থাকে। পরিবর্তে প্রতিটি বৈশিষ্ট্যটিতে একটি থাকে dictযা অন্যান্য বিষয়গুলির মধ্যে একটি এন্ট্রি ধারণ করে geometrygeometryএকটি হল dictএন্ট্রি ধারণকারী typeএবং coordinates। সুতরাং আপনি নিজের জিওজেএসন ফাইলটিকে এভাবে অতিক্রম করতে পারেন:

import json

with open('test.json') as f:
    data = json.load(f)

for feature in data['features']:
    print feature['geometry']['type']
    print feature['geometry']['coordinates']

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

1
নম্পি প্রযুক্তিগতভাবে প্রয়োজন হয় না। বৈশিষ্ট্য ['জ্যামিতি'] ['স্থানাঙ্ক'] (উপরে) কেবল একটি পাইথন তালিকা।
সজিলি

@ এসগিলিজ: শুভ পয়েন্ট, শন numpyবিভ্রান্তি এড়াতে আমি ব্যবহার সরিয়ে ফেলেছি ।
জেক 21 ই

7

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

সুতরাং উদাহরণস্বরূপ, নীচের কোডটি পোস্টারের জন্য যা চেয়েছিল তা করবে:

import pygeoj
testfile = pygeoj.load("test.geojson")
for feature in testfile:
    print feature.geometry.type
    print feature.geometry.coordinates

_geo_interface_প্রকল্পের গিথুব পৃষ্ঠায় ডকুমেন্টেশনে দেখা অন্যান্য জিনিসগুলির মধ্যে গ্রন্থাগারটি প্রোটোকলের মাধ্যমে অন্যান্য লাইব্রেরি থেকে / থেকে অন্য পাঠাগারগুলি আমদানি ও রফতানি করতে পারে ।


আপনার
পাঠাগারটি

যদি আমি পাইথন পার্সিং জিওজসন দিয়ে ওয়েব-ম্যাপিং শুরু করতে চাইতাম তবে ব্যবহারের জন্য সেরা সফ্টওয়্যারটি কী হবে?
জিগি

1
জিওজেসনের সাথে কাজ করা ওয়েব অ্যাপ্লিকেশানের জন্য লিফলেট জাভাস্ক্রিপ্ট লাইব্রেরি ব্যবহার করুন। এখানে একটি উত্তম উদাহরণের থ্রেড দেওয়া হয়েছে: gis.stackexchange.com/questions/68489/…
মন্তব্যের জন্য

4

অনেকগুলি জিওপ্যাসিয়াল পাইথন মডিউল রয়েছে যা জিওজেএসনকে শেপফাইলে রূপান্তর করতে পারে (এবং বিপরীতে):

দেখতে পাইথন Geo_interface অ্যাপ্লিকেশন

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