আমার কাছে দেশের মহকুমার একটি আকার রয়েছে এবং আমি প্রতিটি বিভাগের জন্য ল্যান্ড এবং লম্বা আবদ্ধ একটি অ্যারে বের করতে চাই .. এটি কি সম্ভব?
আমার কাছে দেশের মহকুমার একটি আকার রয়েছে এবং আমি প্রতিটি বিভাগের জন্য ল্যান্ড এবং লম্বা আবদ্ধ একটি অ্যারে বের করতে চাই .. এটি কি সম্ভব?
উত্তর:
ওএসজিইও থেকে অগন পাইথন মডিউলটি ব্যবহার করে, এই উদাহরণটি আপনাকে প্রতিটি বৈশিষ্ট্যের জন্য একটি খামকে সংজ্ঞায়িত কর্ডগুলি সহ একটি টুপল দেবে।
from osgeo import ogr
ds = ogr.Open("mn_counties.shp")
lyr = ds.GetLayerByName("mn_counties")
lyr.ResetReading()
for feat in lyr:
# get bounding coords in minx, maxx, miny, maxy format
env = feat.GetGeometryRef().GetEnvelope()
# get bounding coords in minx, miny, maxx, maxy format
bbox = [env[0], env[2], env[1], env[3]]
print env
print bbox
print
সাগা জিআইএস ব্যবহার করে এগিয়ে যাওয়ার একটি সম্ভাব্য উপায় http://www.saga-gis.org আপনার শেপফিলটি খোলার পরে এই 3 টি মডিউল চালান: 1. মডিউলগুলি pes আকারগুলি \ সরঞ্জামগুলি pes আকারের পরিমাণ পান
মডিউলগুলি \ আকারগুলি \ সরঞ্জামগুলি \ পয়েন্টগুলি lines লাইনগুলি থেকে পয়েন্ট [নামটি বোঝায় তার বিপরীতে আপনি বহুভুজ থেকে পয়েন্ট পেতেও এটি ব্যবহার করতে পারেন]
মডিউলগুলি pes আকারগুলি \ সরঞ্জামগুলি oints পয়েন্টস points পয়েন্টগুলিতে সমন্বয়গুলি যুক্ত করুন এটি আপনাকে একটি টেবিল দেবে যাতে আপনার বহুভুজ ফাইলের বাউন্ডিং বক্সের 4 টি কোণে x এবং y স্থানাঙ্ক রয়েছে।
অর্কগিসে, এখানে অজগর কোড। ফলাফলটি হল মিনিক্স, মিনি, ম্যাক্সেক্স, ম্যাক্সি, মিনিএম, ম্যাক্সএম, মিনিজ, ম্যাকজেডের একটি তালিকা (
import arcpy
for feat in arcpy.SearchCursor(r"c:\data\f.gdb\counties"):
print feat.Shape.extent
-2.66852727251546 49.4265363633626 -2.52848181818121 49.5079454546192 NaN NaN NaN NaN
-10.463336363782 51.4455454544593 -6.01305454583045 55.3799909091533 NaN NaN NaN NaN
-4.77778181827614 54.0555454544593 -4.35347272688468 54.4100000000002 NaN NaN NaN NaN
Rgdal প্যাকেজ থেকে উদাহরণস্বরূপ ডেটা ব্যবহার করে এখানে একটি আর সংস্করণ দেওয়া আছে:
library(rgdal)
dsn <- system.file("vectors/ps_cant_31.MIF", package = "rgdal")[1]
d <- readOGR(dsn = dsn, layer="ps_cant_31")
## transform if this is not longlat
if (is.projected(d)) d <- spTransform(d, CRS("+proj=longlat +ellps=WGS84"))
for (i in 1:nrow(d)) {
print(bbox(d[i,]))
}
আমি ফায়োনা এবং সুন্দর ধরণের কাজের জন্য ব্যবহার করি:
import fiona
from shapely.geometry import shape
with fiona.open(r'd:\Projects\_00_Data\_USstates\fe_2007_us_state00.shp', 'r') as features:
for i, feat in enumerate(features):
geom = shape(feat['geometry'])
name = feat['properties']['NAME00']
print ','.join((name,) + tuple([str(i) for i in geom.bounds]))