আমি কীভাবে কোনও শেফফিলকে ল্যাট এবং দীর্ঘ সীমানায় রূপান্তর করতে পারি?


12

আমার কাছে দেশের মহকুমার একটি আকার রয়েছে এবং আমি প্রতিটি বিভাগের জন্য ল্যান্ড এবং লম্বা আবদ্ধ একটি অ্যারে বের করতে চাই .. এটি কি সম্ভব?


দয়া করে পরিষ্কার করুন: আপনার কাছে কি শেফফিল বা এক্সেল ফাইল রয়েছে?
whuber

1
শিরোনামটি সত্যই আপনার প্রশ্নের প্রতিফলন করে না, দয়া করে এটি সম্পাদনা করার বিষয়ে ভাবুন।
ডেভিডএফ

আমার একটি
শেফফিল

উত্তর:


25

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

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

2
... এবং এগুলিতে ফ্রি জিওপ্যাটিয়াল অজগর; /
ডেভিডএফ

4

সাগা জিআইএস ব্যবহার করে এগিয়ে যাওয়ার একটি সম্ভাব্য উপায় http://www.saga-gis.org আপনার শেপফিলটি খোলার পরে এই 3 টি মডিউল চালান: 1. মডিউলগুলি pes আকারগুলি \ সরঞ্জামগুলি pes আকারের পরিমাণ পান

  1. মডিউলগুলি \ আকারগুলি \ সরঞ্জামগুলি \ পয়েন্টগুলি lines লাইনগুলি থেকে পয়েন্ট [নামটি বোঝায় তার বিপরীতে আপনি বহুভুজ থেকে পয়েন্ট পেতেও এটি ব্যবহার করতে পারেন]

  2. মডিউলগুলি pes আকারগুলি \ সরঞ্জামগুলি oints পয়েন্টস points পয়েন্টগুলিতে সমন্বয়গুলি যুক্ত করুন এটি আপনাকে একটি টেবিল দেবে যাতে আপনার বহুভুজ ফাইলের বাউন্ডিং বক্সের 4 টি কোণে x এবং y স্থানাঙ্ক রয়েছে।


4

অর্কগিসে, এখানে অজগর কোড। ফলাফলটি হল মিনিক্স, মিনি, ম্যাক্সেক্স, ম্যাক্সি, মিনিএম, ম্যাক্সএম, মিনিজ, ম্যাকজেডের একটি তালিকা (

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

4

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,]))    
}

1

আমি ফায়োনা এবং সুন্দর ধরণের কাজের জন্য ব্যবহার করি:

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]))

এটি ল্যাট / লন সরবরাহ করে না।
হার্ভপান

আউটপুটটি দেখে মনে হচ্ছে, সেগুলি হ'ল ল্যাড / লম্বা স্থানাঙ্ক: -124.72583900000001,45.544321, -116.915989,49.002494 -82.626182,37.202467, -77.719518999999,40.638801 -111.056888,40.99634599955915
মেটেজ
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.