در این مطلب، ویدئو تقسیم داده های شطرنجی به قطعات مساوی با GDAL در پایتون با زیرنویس فارسی را برای دانلود قرار داده ام. شما میتوانید با پرداخت 15 هزار تومان ، این ویدیو به علاوه تمامی فیلم های سایت را دانلود کنید.اکثر فیلم های سایت به زبان انگلیسی می باشند. این ویدئو دارای زیرنویس فارسی ترجمه شده توسط هوش مصنوعی می باشد که میتوانید نمونه ای از آن را در قسمت پایانی این مطلب مشاهده کنید.
مدت زمان فیلم: 00:15:40
تصاویر این ویدئو:
قسمتی از زیرنویس این فیلم:
00:00:00,160 –> 00:00:02,960
سلام به یک آموزش دیگر در این ویدیو خوش آمدید،
2
00:00:02,960 –> 00:00:03,679
3
00:00:03,679 –> 00:00:05,440
من به شما نشان می دهم که چگونه می
4
00:00:05,440 –> 00:00:07,200
توانید یک اسکریپت پایتون کوچک ایجاد کنید
5
00:00:07,200 –> 00:00:09,360
که به شما امکان می دهد مجموعه داده های زنگ زده
6
00:00:09,360 –> 00:00:10,559
مانند این dm را
7
00:00:10,559 –> 00:00:12,960
دقیقاً در اینجا به قطعات کوچکتر تقسیم کنید که از
8
00:00:12,960 –> 00:00:14,400
نظر اندازه برابر هستند،
9
00:00:14,400 –> 00:00:16,480
بنابراین نتیجه ما چیزی شبیه این به نظر
10
00:00:16,480 –> 00:00:18,320
می رسد، می توانید اینجا ببینید من
11
00:00:18,320 –> 00:00:20,000
رستر اصلی خود را به 9
12
00:00:20,000 –> 00:00:22,240
قطعه کوچکتر تقسیم کرده ام چرا می خواهید این کار را به خوبی انجام دهید،
13
00:00:22,240 –> 00:00:24,160
شاید تاریخ استراحت شما
14
00:00:24,160 –> 00:00:26,240
خیلی بزرگ است که یکباره پردازش شود
15
00:00:26,240 –> 00:00:26,800
16
00:00:26,800 –> 00:00:28,640
و برای آن تقسیم کنید آن را به
17
00:00:28,640 –> 00:00:30,320
قطعات کوچکتر پردازش می کند و هر یک از آنها را به صورت جداگانه پردازش می کند
18
00:00:30,320 –> 00:00:32,479
و سپس نتایج را
19
00:00:32,479 –> 00:00:33,600
دوباره با هم ادغام می
20
00:00:33,600 –> 00:00:36,079
کند، بنابراین بیایید شروع کنیم و
21
00:00:36,079 –> 00:00:37,920
همه چیز را گام به گام
22
00:00:37,920 –> 00:00:40,079
همانطور که در عنوان این ویدیو ذکر شده است طی
23
00:00:40,079 –> 00:00:41,920
کنیم، می خواهیم از کتابخانه gdl python
24
00:00:41,920 –> 00:00:44,239
برای انجام این کار استفاده کنیم و برای
25
00:00:44,239 –> 00:00:46,399
کاهش اندازه شطرنجی ورودی ما
26
00:00:46,399 –> 00:00:48,480
میتوانیم از تابع gdal warp
27
00:00:48,480 –> 00:00:51,360
یا gdal translate استفاده کنیم، من هر دو راه را به شما نشان خواهم داد،
28
00:00:51,360 –> 00:00:53,520
اما اجازه دهید قبل از هر چیز روی
29
00:00:53,520 –> 00:00:55,440
gdal warp که در
30
00:00:55,440 –> 00:00:57,360
آموزش قبلی به شما معرفی کردهام تمرکز کنیم. میتوانید از آن برای
31
00:00:57,360 –> 00:00:59,039
32
00:00:59,039 –> 00:01:02,079
33
00:01:02,079 –> 00:01:03,600
34
00:01:03,600 –> 00:01:06,479
35
00:01:06,479 –> 00:01:08,240
36
00:01:08,240 –> 00:01:10,400
37
00:01:10,400 –> 00:01:12,479
بازپرداخت دادههای داراییتان استفاده کنید. نمونهگیری مجدد آن را به یک چند ضلعی برش دهید یا با ارائه مقداری پرش خروجی، همانطور که در اینجا مشاهده میکنید، آن را برش دهید، بنابراین اگر میخواهیم تعدادی کاشی کوچکتر از مجموعه دادههای اولیهمان ایجاد کنیم، باید جیدار را ارائه کنیم.
38
00:01:12,479 –> 00:01:13,680
با حداقل x
39
00:01:13,680 –> 00:01:16,799
مینیمم y حداکثر x و حداکثر y
40
00:01:16,799 –> 00:01:17,680
مختصات
41
00:01:17,680 –> 00:01:20,080
کاشی کوچکتر جدیدی که می خواهیم
42
00:01:20,080 –> 00:01:20,799
ایجاد کنیم پیچ و تاب کنید
43
00:01:20,799 –> 00:01:22,799
و اگر این کار را در یک حلقه با
44
00:01:22,799 –> 00:01:24,799
مختصات x و y
45
00:01:24,799 –> 00:01:26,720
مختلف انجام دهیم می توانیم کاشی های مختلفی بدست آوریم که در
46
00:01:26,720 –> 00:01:29,040
پایان کل وسعت را پوشش می دهند.
47
00:01:29,040 –> 00:01:30,560
48
00:01:30,560 –> 00:01:32,640
اکنون سؤال این است که چگونه می توانیم مختصاتی را بدست آوریم
49
00:01:32,640 –> 00:01:35,119
که نشان دهنده
50
00:01:35,119 –> 00:01:37,119
وسعت 9 قطعه کوچکتری است که می خواهیم
51
00:01:37,119 –> 00:01:37,920
ایجاد
52
00:01:37,920 –> 00:01:39,520
کنیم، اجازه دهید ابتدا دریابیم که چه نوع
53
00:01:39,520 –> 00:01:41,439
اطلاعاتی را می توانیم از رستر اولیه خود
54
00:01:41,439 –> 00:01:43,040
که به تازگی بارگذاری کرده ام به دست آوریم. در
55
00:01:43,040 –> 00:01:43,680
پایتون
56
00:01:43,680 –> 00:01:46,560
به عنوان یک مجموعه داده gdal همانطور که ممکن است به خاطر داشته باشید
57
00:01:46,560 –> 00:01:48,479
از یک مجموعه داده gdal می توانیم
58
00:01:48,479 –> 00:01:49,360
اطلاعاتی
59
00:01:49,360 –> 00:01:52,159
در مورد وضوح و مختصات
60
00:01:52,159 –> 00:01:53,600
گوشه سمت چپ بالای آن
61
00:01:53,600 –> 00:01:56,560
با نگاه کردن به geotransform بدست آوریم بنابراین من
62
00:01:56,560 –> 00:01:58,240
یک متغیر جدید ایجاد خواهم کرد. e
63
00:01:58,240 –> 00:02:02,159
و از dm خود می خواهم تبدیل جغرافیایی را دریافت کنم
64
00:02:02,159 –> 00:02:04,880
65
00:02:06,159 –> 00:02:07,840
اکنون می بینید که ما یک تاپل جدید در
66
00:02:07,840 –> 00:02:10,080
متغیرهای خود داریم و در اینجا مختصات x
67
00:02:10,080 –> 00:02:12,560
و y گوشه سمت چپ بالای
68
00:02:12,560 –> 00:02:13,520
69
00:02:13,520 –> 00:02:15,680
خود را داریم، بنابراین اگر به dm خود به عقب نگاه کنیم،
70
00:02:15,680 –> 00:02:17,599
اساساً اکنون می دانیم که کجاست. این نقطه در
71
00:02:17,599 –> 00:02:18,560
اینجا است
72
00:02:18,560 –> 00:02:20,720
و اگر دوباره آن نقطه را بر حسب
73
00:02:20,720 –> 00:02:21,599
مختصات x و y در نظر
74
00:02:21,599 –> 00:02:23,680
بگیریم، می بینیم که در
75
00:02:23,680 –> 00:02:25,840
این نقطه حداقل x
76
00:02:25,840 –> 00:02:28,879
و حداکثر y مختصات را داریم، بیایید
77
00:02:28,879 –> 00:02:29,920
این را در کد خود قرار دهیم
78
00:02:29,920 –> 00:02:33,680
تا حداقل x برابر باشد با این
79
00:02:33,680 –> 00:02:36,720
اولین مقدار geotransform
80
00:02:36,720 –> 00:02:40,000
و y max برابر با مقدار
81
00:02:40,000 –> 00:02:43,120
1 2 3 4 است،
82
00:02:43,120 –> 00:02:46,000
بنابراین یک 3 را در اینجا قرار دهید، بیایید وضوح را نیز
83
00:02:46,000 –> 00:02:47,680
ذخیره کنیم، زیرا ما
84
00:02:47,680 –> 00:02:48,720
نیاز داریم که در یک بیت
85
00:02:48,720 –> 00:02:50,959
بتوانید وضوح را در جهت x و y ببینید
86
00:02:50,959 –> 00:02:52,160
. همینطور است،
87
00:02:52,160 –> 00:02:54,640
بنابراین در اینجا من فقط اولین مقدار را به
88
00:02:54,640 –> 00:02:55,519
این صورت دریافت می کنم
89
00:02:55,519 –> 00:02:57,360
و اکنون که این مکان نقطه را
90
00:02:57,360 –> 00:02:59,599
داریم، می توانیم از آن برای تعیین حداقل
91
00:02:59,599 –> 00:03:01,760
و حداکثر مختصات x که
92
00:03:01,760 –> 00:03:02,640
کاشی های جدید ما را محدود می کنند
93
00:03:02,640 –> 00:03:05,440
و همچنین حداقل y و حداکثر
94
00:03:05,440 –> 00:03:05,920
y استفاده کنیم.
95
00:03:05,920 –> 00:03:08,159
برای اینکه به خوبی به این نکات برسیم،
96
00:03:08,159 –> 00:03:10,560
ایده اینجا این است که ابتدا
97
00:03:10,560 –> 00:03:11,280
طول
98
00:03:11,280 –> 00:03:13,760
سیستم مرجع فضایی
99
00:03:13,760 –> 00:03:14,319
100
00:03:14,319 –> 00:03:16,239
کاشیهایی را که میخواهیم ایجاد کنیم بر حسب واحد تعیین میکنیم و
101
00:03:16,239 –> 00:03:18,640
سپس این طول را در جهت x به
102
00:03:18,640 –> 00:03:20,159
حداقل مختصات x اضافه
103
00:03:20,159 –> 00:03:21,920
میکنیم و به این ترتیب میتوانیم بفهمیم که
104
00:03:21,920 –> 00:03:24,159
حداقل مختصات x همه این کاشیها چقدر است.
105
00:03:24,159 –> 00:03:25,680
البته در وسط،
106
00:03:25,680 –> 00:03:28,159
در جهت y نیز یکسان خواهد بود و
107
00:03:28,159 –> 00:03:30,080
اکنون اگر از خود میپرسید که چگونه
108
00:03:30,080 –> 00:03:32,319
میتوانیم طول هر یک از این دمها را به
109
00:03:32,319 –> 00:03:34,319
خوبی بدست آوریم، به یاد داشته باشید که ما قبلاً
110
00:03:34,319 –> 00:03:36,239
وضوح شطرنجی خود را فهمیدهایم،
111
00:03:36,239 –> 00:03:38,640
میتوانیم همچنین اندازه
112
00:03:38,640 –> 00:03:40,080
شطرنجی خود را بر حسب پیکسل پیدا کنید
113
00:03:40,080 –> 00:03:41,920
و سپس اگر
114
00:03:41,920 –> 00:03:44,159
وضوح شطرنجی را در تعداد پیکسل ها در
115
00:03:44,159 –> 00:03:45,040
جهت x ضرب
116
00:03:45,040 –> 00:03:47,360
کنیم، طول کل شطرنجی خود را به دست
117
00:03:47,360 –> 00:03:49,200
می آوریم که سپس می توانیم بر
118
00:03:49,200 –> 00:03:50,799
تعداد کاشی هایی که می خواهیم در این بسازیم تقسیم کنیم.
119
00:03:50,799 –> 00:03:53,360
مورد 3 است. اکنون امیدوارم
120
00:03:53,360 –> 00:03:54,640
که مفهوم واضح باشد،
121
00:03:54,640 –> 00:03:56,879
اجازه دهید ابتدا سعی کنیم آن را پیاده سازی کنیم، ما می
122
00:03:56,879 –> 00:03:58,560
خواهیم طول
123
00:03:58,560 –> 00:04:00,799
کل شطرنجی خود را در جهت x پیدا
124
00:04:00,799 –> 00:04:03,200
کنیم که وضوح شطرنجی
125
00:04:03,200 –> 00:04:05,120
برابر تعداد پیکسل هایی است که وجود دارد.
126
00:04:05,120 –> 00:04:07,280
در شطرنجی ما در جهت x
127
00:04:07,280 –> 00:04:10,480
که می توانیم از dm خود به این شکل بدست آوریم،
128
00:04:10,480 –> 00:04:15,840
به سادگی باید شطرنجی x اندازه را تایپ کنیم،
129
00:04:17,040 –> 00:04:19,918
اکنون می توانید ببینید که این 515 پیکسل است و
130
00:04:19,918 –> 00:04:22,880
اگر آن را در 10 متر ضرب کنیم
131
00:04:22,880 –> 00:04:24,639
، البته باید همه چیز را اجرا
132
00:04:24,639 –> 00:04:26,800
کنیم، مجموع می گیریم. طول در جهت x
133
00:04:26,800 –> 00:04:30,080
5115 متر به خاطر داشته باشید که این
134
00:04:30,080 –> 00:04:31,600
بر حسب واحد از سیستم مرجع فضایی شما
135
00:04:31,600 –> 00:04:32,160
است
136
00:04:32,160 –> 00:04:34,320
من در اینجا از سیستم utm استفاده می کنم اما
137
00:04:34,320 –> 00:04:36,320
اندازه شما ممکن است بر حسب واحد درجه باشد،
138
00:04:36,320 –> 00:04:39,520
بنابراین همان چیزی که برای طول y
139
00:04:39,520 –> 00:04:41,280
برابر است با وضوح برابر
140
00:04:41,280 –> 00:04:45,680
تعداد پیکسلها در جهت y در
141
00:04:46,560 –> 00:04:47,919
حال حاضر میخواهیم
142
00:04:47,919 –> 00:04:50,320
طول کل رستر خود را بر
143
00:04:50,320 –> 00:04:52,639
سه تقسیم کنیم، آن را در یک متغیر جداگانه ذخیره
144
00:04:52,639 –> 00:04:54,720
میکنم تا بتوانید بعداً آن را تغییر دهید
145
00:04:54,720 –> 00:04:55,120
146
00:04:55,120 –> 00:04:58,240
و اکنون اندازه آن را در جهت x تغییر دهید.
147
00:04:58,240 –> 00:04:58,800
148
00:04:58,800 –> 00:05:00,880
کاشیای که میخواهیم ایجاد کنیم،
149
00:05:00,880 –> 00:05:02,880
آن را اندازه x مینامم
150
00:05:02,880 –> 00:05:05,440
که طول شطرنجی ما
151
00:05:05,440 –> 00:05:06,479
در جهت x
152
00:05:06,479 –> 00:05:11,840
تقسیم بر 3 خواهد بود. همین مورد برای اندازه y
153
00:05:11,919 –> 00:05:14,400
و اکنون که بهطورکلی کاشیهای جدید ما آن را داریم.
154
00:05:14,400 –> 00:05:17,160
اندازه
155
00:05:17,160 –> 00:05:19,039
1716 متر در
156
00:05:19,039 –> 00:05:22,160
1723 متر خواهد بود
157
00:05:22,160 –> 00:05:24,000
اکنون میتوانیم این عدد را به
158
00:05:24,000 –> 00:05:25,840
مختصات x و y اولیه اضافه کنیم تا
159
00:05:25,840 –> 00:05:27,919
مختصات x و y
160
00:05:27,919 –> 00:05:30,080
کاشیهایی را که میخواهیم بسازیم تعیین کنیم،
161
00:05:30,080 –> 00:05:31,919
همانطور که میبینید برای محدود کردن همه این
162
00:05:31,919 –> 00:05:33,199
سه کاشی،
163
00:05:33,199 –> 00:05:35,680
در مجموع به چهار مختصات x نیاز داریم این x.
164
00:05:35,680 –> 00:05:37,520
مختصاتی که از قبل داریم، بنابراین
165
00:05:37,520 –> 00:05:39,440
واقعاً نیازی به اضافه کردن چیزی به آن
166
00:05:39,440 –> 00:05:41,600
نداریم، اما برای رسیدن به این نقطه باید
167
00:05:41,600 –> 00:05:44,960
یک برابر طول کاشی خود را در جهت x اضافه
168
00:05:44,960 –> 00:05:47,039
کنیم تا به این نقطه برسیم، باید آن را
169
00:05:47,039 –> 00:05:49,280
دو بار اضافه کنیم و این نقطه سه است. چند برابر
170
00:05:49,280 –> 00:05:51,600
طول کراوات ما از حداقل مقدار x اولیه ما فاصله
171
00:05:51,600 –> 00:05:53,039
دارد،
172
00:05:53,039 –> 00:05:54,960
اکنون فهرستی ایجاد می کنم که
173
00:05:54,960 –> 00:05:56,400
تمام این مختصات x
174
00:05:56,400 –> 00:05:59,759
را ذخیره می کند، آن را مراحل x می نامم
175
00:05:59,840 –> 00:06:03,759
و سپس می
176
00:06:03,759 –> 00:06:05,039
177
00:06:05,039 –> 00:06:09,520
خواهیم اندازه کاشی های خود را در جهت x به مختصات x خود اضافه کنیم.
178
00:06:09,520 –> 00:06:12,639
چند برابر عدد و این متغیر i
179
00:06:12,639 –> 00:06:14,880
باید با مقادیر 0
180
00:06:14,880 –> 00:06:17,440
تا 3 جایگزین کنیم تا نتیجه ای را که به شما نشان دادم به دست آوریم
181
00:06:17,440 –> 00:06:17,919
182
00:06:17,919 –> 00:06:20,080
بنابراین می خواهیم اندازه x را
183
00:06:20,080 –> 00:06:21,520
با مقدار i
184
00:06:21,520 –> 00:06:25,440
برای i در محدوده ضرب کنیم و در اینجا
185
00:06:25,440 –> 00:06:27,360
قرار می دهیم تعداد کاشیهایی که
186
00:06:27,360 –> 00:06:28,080
میخواهیم ایجاد کنیم،
187
00:06:28,080 –> 00:06:30,560
بنابراین div و h قبل از اینکه ما واقعاً باید 1 را اضافه کنیم
188
00:06:30,560 –> 00:06:31,360
189
00:06:31,360 –> 00:06:32,800
زیرا در غیر این صورت فقط
190
00:06:32,800 –> 00:06:35,120
مقادیر 0 1 و 2 را دریافت می کنیم، اما باید
191
00:06:35,120 –> 00:06:37,199
3 را نیز اضافه کنیم، بنابراین در اینجا به اضافه 1 اضافه می کنیم و
192
00:06:37,199 –> 00:06:37,680
193
00:06:37,680 –> 00:06:39,280
اکنون کار مشابهی را برای
194
00:06:39,280 –> 00:06:41,039
تعیین همه این مراحل در جهت y انجام خواهیم داد.
195
00:06:41,039 –> 00:06:44,000
و در اینجا متوجه شدید که
196
00:06:44,000 –> 00:06:46,880
ما یک مقدار y min نداریم بلکه مقدار ymax
197
00:06:46,880 –> 00:06:50,000
نداریم، بنابراین آن را در اینجا قرار می دهم و چون مختصات y
198
00:06:50,000 –> 00:06:51,759
در واقع این
199
00:06:51,759 –> 00:06:52,400
جهت
200
00:06:52,400 –> 00:06:55,360
را کاهش می دهند، باید به جای اضافه کردن آن، اندازه
201
00:06:55,360 –> 00:06:55,919
کاشی های خود را
202
00:06:55,919 –> 00:06:58,400
در جهت y در اینجا کم کنیم.
203
00:06:58,400 –> 00:07:00,080
دوباره آنها را
204
00:07:00,080 –> 00:07:03,680
در مقدار i ضرب می کنیم برای i در
205
00:07:03,680 –> 00:07:07,360
محدوده و در اینجا دوباره div به اضافه یک
206
00:07:07,360 –> 00:07:10,400
کاملاً خوب اجازه دهید این را اجرا کنیم و اکنون
207
00:07:10,400 –> 00:07:11,840
دو لیست با تمام مختصات x
208
00:07:11,840 –> 00:07:14,080
و y داریم که باید
209
00:07:14,080 –> 00:07:16,000
9 قطعه کوچکتر با اندازه مساوی
210
00:07:16,000 –> 00:07:18,479
از اولیه خود ایجاد کنیم. dm بسیار خوب، اکنون فقط
211
00:07:18,479 –> 00:07:20,240
باید مطمئن شویم که ترکیب درستی
212
00:07:20,240 –> 00:07:22,400
از حداقل و حداکثر
213
00:07:22,400 –> 00:07:23,360
مختصات x و y را
214
00:07:23,360 –> 00:07:26,2