পোস্টজিআইএস টেবিলটি পাইথনের শেফিলিতে রূপান্তর করা হচ্ছে?


10

আমি একটি পোস্টজিআইএস টেবিলকে একটি শেফফাইলে রূপান্তর করতে চাই (pgsql2shp ব্যবহার না করে)।

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

আমি প্রোগ্রামটিমেটিকভাবে এবং পাইথন ব্যবহার করে জিনিসটি করতে চাই।

উত্তর:


12

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

import os
os.environ['PATH'] = "c:\\Program Files\\GDAL\\bin" + ';' + os.environ['PATH']
os.environ['GDAL_DRIVER_PATH'] = "c:\\Program Files\\GDAL\\bin\\gdal\\plugins-optional"
os.environ['GDAL_DATA'] = "c:\\Program Files\\GDAL\\bin\\gdal-data"
import ogr

conn=ogr.Open("PG: host=192.168.5.3 dbname=some_database user=postgres password=xxxx")
if conn is None:
    print 'Could not open a database or GDAL is not correctly installed!'
    sys.exit(1)

output = "d:\\points.shp"

# Schema definition of SHP file
out_driver = ogr.GetDriverByName( 'ESRI Shapefile' )
out_ds = out_driver.CreateDataSource(output)
out_srs = None
out_layer = out_ds.CreateLayer("point", out_srs, ogr.wkbPoint)
fd = ogr.FieldDefn('name',ogr.OFTString)
out_layer.CreateField(fd)


layer = conn.GetLayerByName("point_data")
#layer = conn.ExecuteSQL(sql)

feat = layer.GetNextFeature()
while feat is not None:
    featDef = ogr.Feature(out_layer.GetLayerDefn())
    featDef.SetGeometry(feat.GetGeometryRef())
    featDef.SetField('name',feat.TITLE)
    out_layer.CreateFeature(featDef)
    feat.Destroy()
    feat = layer.GetNextFeature()

conn.Destroy()
out_ds.Destroy()

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


1

আমি আপনাকে জিডিএল / ওজিআর গ্রন্থাগারটি একবার দেখে নিতে পরামর্শ দিতে পারি: http://www.gdal.org/ogr/index.html

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