ভেক্টর ডেটা থেকে সাধারণ চিত্র তৈরি করা


14

যে কেউ একটি শেফফাইল থেকে একটি চিত্র তৈরি করার জন্য দ্রুত (এবং পছন্দসই মুক্ত উত্স) উপায়ের পরামর্শ দিতে পারে? উদাহরণস্বরূপ, আমার কাছে পার্সেল সীমানা সমন্বিত একটি শেফফাইল রয়েছে, আমি এই পার্সেলগুলি চিত্রিত করে একটি পিএনজি ফাইল তৈরি করতে চাই। এই চিত্রটির জন্য প্রয়োজনীয় প্রতীকটি খালি-হাড় (কঠিন রূপরেখা এবং ভরাট) হবে।

আমি জানি যে ম্যাপ সার্ভারের shp2img কৌশলটি করবে। অন্য কিছু উপলব্ধ থাকলে আমি কেবল কৌতূহলী।

প্রাক-সংকলিত সরঞ্জাম বা এপিআই / এসডিএস-এর যে কোনও রেফারেন্স স্বাগত।


সম্ভবত এই প্রশ্নটি "ভেক্টর ডেটা (উদাহরণস্বরূপ শেপ) থেকে সাধারণ চিত্র তৈরি করা" হিসাবে পুনরায় শিরোনাম দেওয়া যেতে পারে যাতে এটি আরও সাধারণ প্রশ্ন? আপনি এখনও আপনার উত্তর পেয়েছেন, তবে অন্যান্য লোকদেরও দেখার / উত্তর দেওয়ার জন্য আরও অনেক উত্সাহ রয়েছে। আমি একই কারণে "ওপেন সোর্স" কে "পছন্দসই ওপেন সোর্স" এ পরিবর্তন করার পরামর্শ দিই।
আয়ারল্যান্ডটি

ভাল পয়েন্ট, সম্পাদনা প্রয়োগ করা হয়েছে।
ব্যবহারকারী 890

উত্তর:


15

আপনি পাইথন (মডিউল: ব্যবহার করতে পারেন shapley , GDAL / OGR , numpy , matplotlib ) এবং GDAL / OGR , প্রায় কোনো ভেক্টর ডাটা souce থেকে চিত্র আঁকা আপনি যদি shapefile। হয়তো এই আপনাকে সাহায্য করবে।

উদাহরণ:

from shapely.geometry import Polygon
from shapely.wkb import loads
from osgeo import ogr
from matplotlib import pyplot

def drawPoligon(poligon,graf):
    xLista,yLista = poligon.exterior.xy
    graf.fill(xLista,yLista,"y")
    graf.plot(xLista,yLista, "k-")

fig = pyplot.figure(figsize=(4, 4),dpi=180)
ax = fig.add_subplot(111)
file1 = ogr.Open("d:\\temp02\\datafile.shp")

layer = file1.GetLayerByName("datafile")
parcel = layer.GetNextFeature()

while parcel is not None:
    geometryParcel = loads(parcel.GetGeometryRef().ExportToWkb())
    drawPoligon(geometryParcel , ax)
    parcel = layer.GetNextFeature()


pyplot.savefig('datafile.png')

ঠিক আমার যা প্রয়োজন ছিল। এই পদ্ধতিরটি বিশেষত দরকারী কারণ এটি ডেটা উত্সগুলিতে শেফফিলের সাথে আবদ্ধ নয়। ধন্যবাদ।
ব্যবহারকারী 890

6

দ্রুত, সস্তা (এবং নোংরা):

  • আপনার আকার ফাইলটি একটি কিউজিস , উডিগ , ওপেনজাম্প বা অন্য কোনও ফ্রি জিআইএস দিয়ে খুলুন এবং প্রতীক করুন ,
  • " প্রিন্ট স্ক্রিন " বোতাম টিপুন,
  • গিম্পে পেস্ট করুন এবং পিএনজি ফাইল হিসাবে সংরক্ষণ করুন।

খসড়া: অবশ্যই, চিত্রের রেজোলিউশনটি স্ক্রিনের চেয়ে বেশি সূক্ষ্ম হতে পারে না।


3

জিওটুলস http://geotools.org এ আপনাকে করার জন্য প্রয়োজনীয় সমস্ত বিট রয়েছে, যদি কারও কাছে ইতিমধ্যে এটি করার কোথাও কোড না থাকে তবে আমি অবাক হয়ে যাব।


2

আমি অনুমান করি যে এটি দ্রুত আপনি কী বোঝাতে চাইছেন তার উপর নির্ভর করে। আপনি কি ইনস্টল করা সহজ কিছু বা কিছু ইনস্টল করার পরে এটি ব্যবহার করা সহজ mean

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


1

এই প্রশ্নের ইতিমধ্যে উত্তর দেওয়া হয়েছে, তবে আমি কিছু অতিরিক্ত তথ্য দেব, কারণ এটি কারও পক্ষে সহায়ক হতে পারে। এই মেইলিং তালিকাটি কীভাবে চিত্রগুলিতে এসএইচপিকে প্রেরণ করা যায় তা ব্যাখ্যা করে এবং বর্তমানে আমি কাজটি শেষ করতে এটির সাথে কাজ করছি: http://lists.osgeo.org/pipermail/qgis-user/2010- অক্টোবর/010239.html


0

আমি দুটি পৃথক পদ্ধতি ব্যবহার করে কিছুক্ষণ আগে এই দ্রাব্যতার নথিভুক্ত করেছি।

খাঁটি পাইথন ব্যবহার করা যা পাইথন যে কোনও জায়গায় চলবে: http://geospatialpython.com/2010/12/rasterizing- shapefiles-2- pure- python.html

এবং পাইথন ইমেজিং লাইব্রেরি ব্যবহার করে একটি: http://geospatialpython.com/2010/12/rasterizing- shapefiles.html

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