در این مطلب، ویدئو تبدیل بین CSV و GeoTIFF با GDAL در پایتون با زیرنویس فارسی را برای دانلود قرار داده ام. شما میتوانید با پرداخت 15 هزار تومان ، این ویدیو به علاوه تمامی فیلم های سایت را دانلود کنید.اکثر فیلم های سایت به زبان انگلیسی می باشند. این ویدئو دارای زیرنویس فارسی ترجمه شده توسط هوش مصنوعی می باشد که میتوانید نمونه ای از آن را در قسمت پایانی این مطلب مشاهده کنید.
مدت زمان فیلم: 00:28:11
تصاویر این ویدئو:
قسمتی از زیرنویس این فیلم:
00:00:00,000 –> 00:00:02,560
سلام به همه، وقت یک آموزش دیگر فرا رسیده است
2
00:00:02,560 –> 00:00:03,439
3
00:00:03,439 –> 00:00:05,359
و امروز می خواهم به شما نشان دهم که چگونه می
4
00:00:05,359 –> 00:00:08,000
توانید یک رستر با فرمت geotiff بگیرید
5
00:00:08,000 –> 00:00:11,120
و آن را به یک فایل csv تبدیل کنید که دارای
6
00:00:11,120 –> 00:00:13,440
سه ستون است که مختصات x و y
7
00:00:13,440 –> 00:00:15,519
و مقدار شطرنجی مربوطه
8
00:00:15,519 –> 00:00:16,880
را در آن ذخیره می کند. مکان
9
00:00:16,880 –> 00:00:18,400
و سپس ثانیاً آن
10
00:00:18,400 –> 00:00:20,560
فایل csv را می گیریم و دوباره آن را به یک geotiff تبدیل می
11
00:00:20,560 –> 00:00:21,359
کنیم
12
00:00:21,359 –> 00:00:23,199
و همه این کارها را در
13
00:00:23,199 –> 00:00:25,519
پایتون با کمک gdal
14
00:00:25,519 –> 00:00:27,599
برای این آموزش مجدداً از
15
00:00:27,599 –> 00:00:29,920
قطعه کوچک یک دیجیتال استفاده می کنیم.
16
00:00:29,920 –> 00:00:32,399
مدل elevation که من به نام
17
00:00:32,399 –> 00:00:34,239
dm.tiff ایجاد کردهام، قبلاً آن را به عنوان مجموعه داده gdal در اینجا باز کردهام،
18
00:00:34,239 –> 00:00:35,440
19
00:00:35,440 –> 00:00:37,120
اگر میخواهید نگاهی به آن بیندازید،
20
00:00:37,120 –> 00:00:38,480
آن را اینجا در qjs دارم، بنابراین
21
00:00:38,480 –> 00:00:40,320
این دادههایی است که در حال حاضر با آن کار میکنیم.
22
00:00:40,320 –> 00:00:42,879
در geotiff حالا بیایید
23
00:00:42,879 –> 00:00:44,079
آن را به csv تبدیل کنیم،
24
00:00:44,079 –> 00:00:46,480
من دو راه برای انجام این کار پیدا کردم. اولین
25
00:00:46,480 –> 00:00:48,640
راه حل سریع و آسان استفاده از 2.
26
00:00:48,640 –> 00:00:51,280
ترجمه و تبدیل فایل geotiff ما
27
00:00:51,280 –> 00:00:54,320
به فرمت شطرنجی متفاوت یعنی
28
00:00:54,320 –> 00:00:57,280
xyz است.
29
00:00:57,280 –> 00:01:00,160
درایورهای شطرنجی از gdal
30
00:01:00,160 –> 00:01:03,520
و xy z در پایین اینجاست
31
00:01:03,520 –> 00:01:05,360
و بله می توانید ببینید این یک
32
00:01:05,360 –> 00:01:07,280
فایل ascii است با سه ستون حاوی مختصات x و
33
00:01:07,280 –> 00:01:09,200
y و هر مقداری که
34
00:01:09,200 –> 00:01:10,720
در هر سلول برای من ذخیره کرده اید که
35
00:01:10,720 –> 00:01:12,320
ارتفاع است، اما ممکن است
36
00:01:12,320 –> 00:01:13,280
بازتاب
37
00:01:13,280 –> 00:01:16,000
یا بارش یا هر چیز دیگری را ذخیره کنید.
38
00:01:16,000 –> 00:01:18,000
فقط از gdl translate استفاده کنید تا
39
00:01:18,000 –> 00:01:21,759
فایل dm.tiff خود را به یک فایل dm xyz تبدیل
40
00:01:21,759 –> 00:01:24,000
کنید و خواهید دید که این از قبل
41
00:01:24,000 –> 00:01:26,240
به نتیجه ای که می خواهیم نزدیک شده است،
42
00:01:26,240 –> 00:01:28,880
بنابراین بیایید به پایتون برگردیم،
43
00:01:28,880 –> 00:01:31,119
فقط یک مجموعه داده جدید xyz ایجاد می کنم
44
00:01:31,119 –> 00:01:35,520
و سپس از آن استفاده می کنیم. gdal translate
45
00:01:35,520 –> 00:01:39,360
put dm.xyz به عنوان نام مقصد
46
00:01:39,360 –> 00:01:42,399
و فقط داده های ما در اینجا به عنوان ورودی تنظیم شده است.
47
00:01:42,399 –> 00:01:43,200
48
00:01:43,200 –> 00:01:44,799
نیازی به قرار دادن چیز دیگری نیست.
49
00:01:44,799 –> 00:01:46,560
50
00:01:46,560 –> 00:01:47,600
51
00:01:47,600 –> 00:01:50,159
52
00:01:50,159 –> 00:01:51,680
53
00:01:51,680 –> 00:01:54,720
این فایل dm.xy جدید
54
00:01:54,720 –> 00:01:57,280
در اینجا میتوانیم آن را با هر ویرایشگر متنی باز کنیم
55
00:01:57,280 –> 00:01:58,079
56
00:01:58,079 –> 00:01:59,680
و به نظر میرسد که
57
00:01:59,680 –> 00:02:01,600
سه ستون x مختصات و
58
00:02:01,600 –> 00:02:04,079
مختصات و ارتفاع
59
00:02:04,079 –> 00:02:09,598
داریم، اگر مجموعه دادههای gdl خود را ببندیم،
60
00:02:09,598 –> 00:02:11,520
حتی میتوانیم کل چیز را در qgis باز کنیم.
61
00:02:11,520 –> 00:02:13,040
62
00:02:13,040 –> 00:02:14,800
هماهنگی سیستم مرجع ate
63
00:02:14,800 –> 00:02:17,640
اکنون تعریف نشده است، بنابراین به صورت پیشفرض روی
64
00:02:17,640 –> 00:02:19,200
wgs1984 است،
65
00:02:19,200 –> 00:02:23,040
میتوانیم آن را در اینجا تغییر
66
00:02:23,040 –> 00:02:26,120
دهیم، این یکی است و اگر تنظیم کنیم که
67
00:02:26,120 –> 00:02:28,160
فایل dm.xyz ما در اینجا باشد
68
00:02:28,160 –> 00:02:30,879
و یک کپی دقیق از dm اولیه ما
69
00:02:30,879 –> 00:02:32,959
فقط از رنگ دیگری استفاده میکنم. مقیاس
70
00:02:32,959 –> 00:02:36,640
خوب است اما ما x y z نمی خواهیم ما csv می خواهیم
71
00:02:36,640 –> 00:02:38,400
و برای به دست آوردن آن فقط می توانیم یک قاب داده جدید ایجاد کنیم
72
00:02:38,400 –> 00:02:42,160
و از پانداها برای خواندن
73
00:02:42,160 –> 00:02:44,959
csv استفاده کنیم اما در این مورد ما در حال خواندن xyz هستیم
74
00:02:44,959 –> 00:02:45,840
مهم نیست
75
00:02:45,840 –> 00:02:50,080
بنابراین نام فایل خود را dm xyz قرار دهید در اینجا
76
00:02:50,080 –> 00:02:52,000
و همچنین باید یک جداکننده را مشخص
77
00:02:52,000 –> 00:02:54,160
کنیم زیرا در
78
00:02:54,160 –> 00:02:55,920
حال حاضر کاما نیست بلکه یک فاصله است
79
00:02:55,920 –> 00:02:59,280
و سرصفحه را روی هیچ تنظیم نمی
80
00:02:59,280 –> 00:03:00,319
کنیم زیرا ما یک بار
81
00:03:00,319 –> 00:03:02,879
خوب اجرا نداریم، اکنون یک قاب داده جدید
82
00:03:02,879 –> 00:03:05,040
را در اینجا
83
00:03:05,040 –> 00:03:07,200
با سه مورد خود داریم. ستونهای مختصات
84
00:03:07,200 –> 00:03:08,879
و مقادیر شطرنجی
85
00:03:08,879 –> 00:03:12,560
میتوانیم نام ستونها را تغییر دهیم،
86
00:03:13,120 –> 00:03:15,599
نامهای مفیدی به آنها بدهیم، بنابراین
87
00:03:15,599 –> 00:03:18,159
بیایید آنها را تخممرغ
88
00:03:18,159 –> 00:03:21,680
y و مقدار
89
00:03:21,680 –> 00:03:23,440
بنامیم و در نهایت میتوانیم آن
90
00:03:23,440 –> 00:03:24,720
فریم داده را در
91
00:03:24,720 –> 00:03:27,920
zsb فراخوانی آن dm.csv ذخیره کنیم
92
00:03:27,920 –> 00:03:30,319
و سپس من فقط فهرست را تنظیم میکنم. به
93
00:03:30,319 –> 00:03:32,000
false چون نمیخواهم
94
00:03:32,000 –> 00:03:33,440
نام ردیفهایی را که قرار است ذخیره کنم
95
00:03:33,440 –> 00:03:35,599
زمانی که این
96
00:03:35,599 –> 00:03:37,120
فایل csv را به geotiff برگردانیم
97
00:03:37,120 –> 00:03:40,159
خیلی مهم است، بنابراین من همه اینها را اکنون اجرا می کنم،
98
00:03:40,159 –> 00:03:41,599
باید یک فایل csv جدید
99
00:03:41,599 –> 00:03:44,080
در فهرست کاری خود داشته باشیم و
100
00:03:44,080 –> 00:03:46,319
این اولین گزینه است
101
00:03:46,319 –> 00:03:48,959
که چگونه می توانید یک فایل را تبدیل کنید. فایل geotiff به
102
00:03:48,959 –> 00:03:49,680
csv
103
00:03:49,680 –> 00:03:52,640
از طریق ایجاد یک فایل xyz البته این
104
00:03:52,640 –> 00:03:54,400
دو فایل به نوعی شبیه به هم هستند و می
105
00:03:54,400 –> 00:03:56,640
توانید ببینید که به راحتی می توانید فایل xyz
106
00:03:56,640 –> 00:03:58,400
را در پانداها بخوانید، بنابراین اگر فقط
107
00:03:58,400 –> 00:04:00,560
ساختار سه ستونی را هدف قرار می دهید،
108
00:04:00,560 –> 00:04:02,799
فقط geotiff خود را به
109
00:04:02,799 –> 00:04:04,640
فرمت xyz باید کافی باشد،
110
00:04:04,640 –> 00:04:07,040
اجازه دهید به گزینه دوم برسیم
111
00:04:07,040 –> 00:04:10,000
که متکی به ایجاد هیچ فایل xyz
112
00:04:10,000 –> 00:04:11,760
نیست، اما در عوض،
113
00:04:11,760 –> 00:04:14,080
مجموعه داده gdal را که در اینجا باز کردم را می
114
00:04:14,080 –> 00:04:15,519
115
00:04:15,519 –> 00:04:18,560
گیریم و با گرفتن اولین رویداد پستی البته آن را به یک آرایه تبدیل می
116
00:04:18,560 –> 00:04:21,040
کنیم. من فقط یکی دارم
117
00:04:21,040 –> 00:04:25,360
و سپس می خوانم که به عنوان یک آرایه
118
00:04:27,520 –> 00:04:30,400
اینجا آرایه راستا ما است و کاری که می
119
00:04:30,400 –> 00:04:31,199
توانیم با آن انجام دهیم این
120
00:04:31,199 –> 00:04:33,919
است که می توانیم آن را صاف کنیم، بنابراین این آرایه 2 بعدی
121
00:04:33,919 –> 00:04:34,560
122
00:04:34,560 –> 00:04:37,440
را فقط به یک آرایه 1d تبدیل کنید و این اساساً
123
00:04:37,440 –> 00:04:39,600
با ستون سومی که در ما داریم مطابقت دارد.
124
00:04:39,600 –> 00:04:40,080
125
00:04:40,080 –> 00:04:42,320
پانداها د قاب ata که همه مقادیر شطرنجی را در آن ذخیره کرده ایم،
126
00:04:42,320 –> 00:04:44,720
127
00:04:44,720 –> 00:04:46,720
بنابراین بیایید این کار را انجام دهیم، سپس
128
00:04:46,720 –> 00:04:48,479
ستون سوم را داریم و سپس می توانیم به این فکر کنیم که چگونه
129
00:04:48,479 –> 00:04:50,160
می توانیم مختصات را بدست آوریم که
130
00:04:50,160 –> 00:04:52,240
چگونه یک آرایه را مسطح
131
00:04:52,240 –> 00:04:53,199
132
00:04:53,199 –> 00:04:56,880
کنیم. مسطح کنید
133
00:04:56,880 –> 00:04:59,759
و اگر این را اجرا کنیم، اکنون این آرایه مسطح داریم
134
00:04:59,759 –> 00:05:02,000
که فقط یک ستون با تمام
135
00:05:02,000 –> 00:05:04,320
مقادیر ارتفاع در آنجا دارد،
136
00:05:04,320 –> 00:05:06,880
خوب است، اما در مورد ستون اول و دوم
137
00:05:06,880 –> 00:05:09,280
داستان x و y به خوبی مختصات
138
00:05:09,280 –> 00:05:10,400
می شود، می توانیم این ستون ها
139
00:05:10,400 –> 00:05:13,440
را نیز بدست آوریم اگر بدانیم اندازه x و y
140
00:05:13,440 –> 00:05:14,320
شطرنجی ما
141
00:05:14,320 –> 00:05:16,320
مختصات گوشه سمت چپ بالا
142
00:05:16,320 –> 00:05:17,520
و وضوح آن است،
143
00:05:17,520 –> 00:05:19,600
بنابراین ممکن است به یاد داشته باشید که چگونه این معیارها را بازیابی کنید،
144
00:05:19,600 –> 00:05:20,800
145
00:05:20,800 –> 00:05:22,000
اول از همه
146
00:05:22,000 –> 00:05:24,479
ما geotransform را از مجموعه داده خود
147
00:05:24,479 –> 00:05:29,440
دریافت می کنیم، بنابراین geotransform را دریافت کنید
148
00:05:29,440 –> 00:05:33,120
و سپس چاپ geotransform ما به
149
00:05:33,120 –> 00:05:35,199
شکل زیر است. و این
150
00:05:35,199 –> 00:05:36,720
مختصات x رزولوشن گوشه بالا سمت چپ ما است مختصات y وضوح گوشه بالا سمت چپ
151
00:05:36,720 –> 00:05:37,680
152
00:05:37,680 –> 00:05:39,520
ما
153
00:05:39,520 –> 00:05:41,440
در جهت y بنابراین
154
00:05:41,440 –> 00:05:42,080
منفی است
155
00:05:42,080 –> 00:05:43,440
بله، شاید اجازه دهید آن را در
156
00:05:43,440 –> 00:05:45,759
متغیرهای جداگانه ذخیره کنیم تا این کار آسان باشد.
157
00:05:45,759 –> 00:05:48,320
پس رزولوشن فقط
158
00:05:48,320 –> 00:05:49,039
مثبت را
159
00:05:49,039 –> 00:05:51,600
در جهت x بگیریم تا این مقدار یک به
160
00:05:51,600 –> 00:05:52,080
دوم
161
00:05:52,080 –> 00:05:54,720
ژئوترانسفورم ما باشد، بنابراین یک را در
162
00:05:54,720 –> 00:05:55,120
اینجا قرار دهید
163
00:05:55,120 –> 00:05:58,639
حداقل مختصات x اولین مقدار
164
00:05:58,639 –> 00:06:00,160
در ژئوترانسفورم ما است
165
00:06:00,160 –> 00:06:03,440
و y max زیرا گوشه سمت چپ بالا
166
00:06:03,440 –> 00:06:04,639
167
00:06:04,639 –> 00:06:08,160
این است. مقدار چهارم
168
00:06:08,240 –> 00:06:10,080
و سپس ما همچنین میخواهیم اندازه x و
169
00:06:10,080 –> 00:06:11,919
y شطرنجی خود را ذخیره کنیم، میتوانیم
170
00:06:11,919 –> 00:06:13,759
آن را در اینجا ببینیم، اما بیایید فقط آن را
171
00:06:13,759 –> 00:06:15,360
از مجموعه دادههای شمارهگیری g خود بگیریم، بنابراین
172
00:06:15,360 –> 00:06:20,000
اندازه x برابر است با مجموعه دادههای
173
00:06:20,000 –> 00:06:23,280
شطرنجی x اندازه، باید بنویسم که
174
00:06:23,280 –> 00:06:24,400
درست
175
00:06:24,400 –> 00:06:27,600
اندازه و فقط همین کار را
176
00:06:27,600 –> 00:06:32,800
برای سایز y و سایز y
177
00:06:32,800 –> 00:06:35,840
انجام دهید این بیت کد را اجرا کنید و اکنون
178
00:06:35,840 –> 00:06:36,960
تمام مقادیری را داریم که به وضوح 10 متر نیاز داریم.
179
00:06:36,960 –> 00:06:39,440
180
00:06:39,440 –> 00:06:40,160
181
00:06:40,160 –> 00:06:41,840
182
00:06:41,840 –> 00:06:43,680
خوب
183
00:06:43,680 –> 00:06:46,240
حالا چگونه از آن چاه دو آرایه از مختصات x و y ایجاد
184
00:06:46,240 –> 00:06:47,680
185
00:06:47,680 –> 00:06:50,160
کنیم، ما قبلاً می دانیم مختصات x
186
00:06:50,160 –> 00:06:52,080
و y
187
00:06:52,080 –> 00:06:54,319
اولین مقدار ارتفاع ما در
188
00:06:54,319 –> 00:06:55,680
این آرایه چقدر خواهد بود،
189
00:06:55,680 –> 00:06:57,520
اما مختصات
190
00:06:57,520 –> 00:06:59,120
co بالا سمت چپ را داریم. rner اما ما
191
00:06:59,120 –> 00:07:01,199
مختصات مرکز سلول را می خواهیم
192
00:07:01,199 –> 00:07:03,440
پس بیایید این را محاسبه کنیم که x
193
00:07:03,440 –> 00:07:04,800
start
194
00:07:04,800 –> 00:07:08,960
و y start را صدا می زنم و اکنون برای بدست آوردن مختصات x
195
00:07:08,960 –> 00:07:10,080
196
00:07:10,080 –> 00:07:12,479
مرکز یک سلول اولیه ما
197
00:07:12,479 –> 00:07:14,000
فقط باید نیمی از سلول خود را اضافه
198
00:07:14,000 –> 00:07:15,919
کنیم. وضوح شطرنجی به
199
00:07:15,919 –> 00:07:18,160
مختصات گوشه سمت چپ بالا، بنابراین
200
00:07:18,160 –> 00:07:21,919
x min به اضافه وضوح ما تقسیم بر دو
201
00:07:21,919 –> 00:07:23,759
و برای به دست آوردن مختصات y این
202
00:07:23,759 –> 00:07:26,240
سلول اول، ما به y max نیاز داریم
203
00:07:26,240 –> 00:07:28,880
و سپس وضوح را تقسیم
204
00:07:28,880 –> 00:07:32,160
بر دو می کنیم، زیرا
205
00:07:33,120 –> 00:07:35,280
اکنون به پایین می رویم. اگر دوباره به آرایه خود نگاه کنیم
206
00:07:35,280 –> 00:07:36,880
، مختصات
207
00:07:36,880 –> 00:07:39,759
این سلول را در اینجا نگاه کنیم، سلول بعدی که به
208
00:07:39,759 –> 00:07:42,000
آن نگاه می کنیم همین است،
209
00:07:42,000 –> 00:07:44,400
و این به این دلیل است که وقتی این
210
00:07:44,400 –> 00:07:46,240
آرایه را صاف می کنیم، اساساً
211
00:07:46,240 –> 00:07:47,039
اولین ردیف را گرفته ایم
212
00:07:47,039 –> 00:07:49,680
و سپس در پایان قرار داده ایم. سطر دوم و
213
00:07:49,680 –> 00:07:50,800
سپس
214
00:07:50,800 –> 00:07:53,440
سطر سوم را در انتهای آن دو بچسبانید و
215
00:07:53,440 –> 00:07:54,160
به
216
00:07:54,160 –> 00:07:56,800
همین ترتیب اگر بخواهیم به
217
00:07:56,800 –> 00:07:58,479
معنای مختصات مربوطه به آن
218
00:07:58,479 –> 00:08:00,240
فکر کنیم، مختصات y مقدار
219
00:08:00,240 –> 00:08:03,520
y داریم که برای تعداد مقادیر ما یکسان می ماند.
220
00:08:03,520 –> 00:08:06,319
در این اولین رو w
221
00:08:06,319 –> 00:08:08,639
و مختصات x هر بار 10 افزایش مییابد
222
00:08:08,639 –> 00:08:09,360
223
00:08:09,360 –> 00:08:11,919
سپس یک ردیف پایین میرویم مقدار y
224
00:08:11,919 –> 00:08:13,599
افزایش مییابد اما
225
00:08:13,599 –> 00:08:16,400
برای مقادیری که در اینجا داریم یکسان میماند
226
00:08:16,400 –> 00:08:18,400
و برای مختصات x ما دوباره
227
00:08:18,400 –> 00:08:19,919
به شروع بازگشتهایم و سپس
228
00:08:19,919 –> 00:08:22,639
10 افزایش میدهیم. متر پس بیایید برنامهریزی
229
00:08:22,639 –> 00:08:24,000
کنیم
230
00:08:24,000 –> 00:08:26,319
که بتوانم مجموعه دادههایمان را ببندم زیرا
231
00:08:26,319 –> 00:08:28,000
دیگر به آن نیاز نداریم
232
00:08:28,000 –> 00:08:29,759
و اکنون اولین کاری که باید انجام دهیم این است که
233
00:08:29,759 –> 00:08:31,520
دو آرایه ایجاد کنیم که
234
00:08:31,520 –> 00:08:34,559
تمام مختصات x و y ممکن را ذخیره کند
235
00:08:34,559 –> 00:08:37,839
بنابراین x و در اینجا از یک محدوده numpy استفاده میکنیم
236
00:08:37,839 –> 00:08:41,039
و این یک دنباله از
237
00:08:41,039 –> 00:08:42,958
مقادیر مساوی با فاصله زمانی معین ایجاد
238
00:08:42,958 –> 00:08:45,040
می کند، بنابراین شروع ما در اینجا
239
00:08:45,040 –> 00:08:46,560
x شروع می شود،
240
00:08:46,560 –> 00:08:48,959
سپس بالاترین مختصات x که داریم
241
00:08:48,959 –> 00:08:49,920
242
00:08:49,920 –> 00:08:53,040
x شروع به اضافه
243
00:08:53,040 –> 00:08:57,040
اندازه x برابر وضوح شطرنجی است
244
00:08:57,040 –> 00:08:59,040
و می خواهیم این فاصله را با وضوح شطرنجی
245
00:08:59,040 –> 00:09:00,480
246
00:09:00,480 –> 00:09:04,480
مشابه ایجاد کنیم. چیزی برای همه مختصات y
247
00:09:04,480 –> 00:09:07,040
بنابراین ما می خواهیم از y شروع کنیم
248
00:09:07,040 –> 00:09:08,959
بالاترین مختصات y
249
00:09:08,959 –> 00:09:10,640
سپس کمترین مختصات y که
250
00:09:10,640 –> 00:09:12,640
داریم شروع
251
00:09:12,640 –> 00:09:15,920
منهای اندازه y ضربدر وضوح است
252
00:09:15,920 –> 00:09:18,320
و برای هر پله ای که 10 متر پایین می آییم
253
00:09:18,320 –> 00:09:19,040
254
00:09:19,040 –> 00:09:22,160
بیایید نگاه کنیم خروجی o در این و اکنون
255
00:09:22,160 –> 00:09:22,959
ما دو
256
00:09:22,959 –> 00:09:26,160
آرایه x و y داریم که همه مختصات x و y ممکن را ذخیره می کنند
257
00:09:26,160 –> 00:09:27,200
258
00:09:27,200 –> 00:09:29,839
و می دانید که اندازه های 515
259
00:09:29,839 –> 00:09:31,360
و 517 وجود دارد،
260
00:09:31,360 –> 00:09:33,760
اما برای اینکه این
261
00:09:33,760 –> 00:09:34,800
آرایه ها با آرایه مسطح
262
00:09:34,800 –> 00:09:36,240
ما مطابقت داشته باشند، باید این تعداد را افزایش دهیم، می
263
00:09:36,240 –> 00:09:39,160
توانید یک مسطح مشاهده کنید. طول آرایه
264
00:09:39,160 –> 00:09:41,000
266
265
00:09:41,000 –> 00:09:44,000
255 است یا ممکن است متوجه شوید که
266
00:09:44,000 –> 00:09:48,519
این عدد فقط برابر است با
267
00:09:48,519 –> 00:09:51,360
515 ضربدر 517،
268
00:09:51,360 –> 00:09:53,040
بنابراین تعداد سطرها ضربدر تعداد
269
00:09:53,040 –> 00:09:55,399
ستون ها است، بنابراین این بدان معناست که ما به
270
00:09:55,399 –> 00:09:58,800
517 برابر مختصات x و
271
00:09:58,800 –> 00:10:01,839
515 برابر مختصات y برای
272
00:10:01,839 –> 00:10:02,720
x نیاز داریم. – مختصات
273
00:10:02,720 –> 00:10:04,800
همانطور که در آرایه مسطح خود ردیف به ردیف پیش می رویم،
274
00:10:04,800 –> 00:10:05,839
275
00:10:05,839 –> 00:10:08,320
فقط باید آرایه مختصات x خود را 517 بار تکرار کنیم
276
00:10:08,320 –> 00:10:10,880
277
00:10:10,880 –> 00:10:14,160
که می توانیم با numpy tile انجام دهیم
278
00:10:14,160 –> 00:10:17,200
و ورودی در اینجا به سادگی
279
00:10:17,200 –> 00:10:19,839
آرایه x ما و تعداد
280
00:10:19,839 –> 00:10:21,279
تکرارهایی است که می خواهیم
281
00:10:21,279 –> 00:10:24,480
این باشد. اندازه y برای
282
00:10:24,480 –> 00:10:26,640
مختصات y ما نیز می خواهیم
283
00:10:26,640 –> 00:10:28,320
آنها را تکرار کنیم، اما نه فقط با
284
00:10:28,320 –> 00:10:30,800
تکرار کل آرایه، بلکه
285
00:10:30,800 –> 00:10:31,360
به دلیل اینکه
286
00:10:31,360 –> 00:10:34,560
برای هر ردیف مقدار y یکسانی
287
00:10:34,560 –> 00:10:38,480
داریم، باید هر مقدار در آرایه y خود را
288
00:10:38,480 –> 00:10:41,600
515 بار
289
00:10:41,600 –> 00:10:44,240
تکرار کنیم و هر مقدار را تکرار کنیم. در این آرایه
290
00:10:44,240 –> 00:10:46,079
از
291
00:10:46,079 –> 00:10:49,920
ورودی تکرار numpy y استفاده می کنیم و می خواهیم
292
00:10:49,920 –> 00:10:51,680
هر مقدار را
293
00:10:51,680 –> 00:10:56,399
با 515 تکرار کنیم که اندازه x
294
00:10:57,120 –> 00:11:00,800
هر دو اجرا می شود و اکنون دو آرایه داریم که
295
00:11:00,800 –> 00:11:01,200
296
00:11:01,200 –> 00:11:04,000
به اندازه دلخواه ما هستند و اگر به
297
00:11:04,000 –> 00:11:04,959
y نگاه
298
00:11:04,959 –> 00:11:09,120
کنیم آن را تکرار می کنیم. ابتدا مقدار را 515 بار
299
00:11:09,120 –> 00:11:10,880
تغییر می دهیم و به همین ترتیب
300
00:11:10,880 –> 00:11:14,000
و در مورد مقدار x اکنون
301
00:11:14,000 –> 00:11:18,240
آرایه ای را که ایجاد کرده ایم 517 بار تکرار می کنیم.
302
00:11:18,240 –> 00:11:21,440
303
00:11:21,440 –> 00:11:22,320
304
00:11:22,320 –> 00:11:24,480
305
00:11:24,480 –> 00:11:26,079
306
00:11:26,079 –> 00:11:29,200
307
00:11:29,200 –> 00:11:32,320
ستون اول قاب داده پانداها x نامیده می شود
308
00:11:32,320 –> 00:11:35,360
و ورودی آرایه x ما است، در اینجا
309
00:11:35,360 –> 00:11:37,360
ستون دوم y
310
00:11:37,360 –> 00:11:40,399
ورودی y است و
311
00:11:40,399 –> 00:11:43,680
آخرین مقدار ستون
312
00:11:43,680 –> 00:11:48,240
برابر با آرایه مسطح ما است.
313
00:11:48,240 –> 00:11:52,000
314
00:11:52,000 –> 00:11:52,720
315
00:11:52,720 –> 00:11:54,399
که
316
00:11:54,399 –> 00:11:56,240
قبلاً با
317
00:11:56,240 –> 00:11:58,560
فایلهای xyz ایجاد کردهایم، میتوانیم به سرعت بررسی کنیم که آیا
318
00:11:58,560 –> 00:11:59,519
همه ستونها
319
00:11:59,519 –> 00:12:03,279
برابر هستند، بنابراین dfn
320
00:12:03,279 –> 00:12:07,279
x برابر است با
321
00:12:07,760 –> 00:12:11,760
dfx، میبینید که این درست چاپ میشود،
322
00:12:11,760 –> 00:12:15,040
بنابراین ستونهای x یکسان هستند d f
323
00:12:15,040 –> 00:12:19,519
و y برابر با
324
00:12:19,519 –> 00:12:22,959
d f y بنابراین مختصات y یکسان هستند.
325
00:12:22,959 –> 00:12:23,600
خوب
326
00:12:23,600 –> 00:12:27,360
و اگر اکنون مقدار را بررسی کنیم
327
00:12:29,360 –> 00:12:31,360
خواهید دید که این غلط چاپ می شود اما
328
00:12:31,360 –> 00:12:33,440
نگران نباشید ما در اینجا هیچ اشتباهی مرتکب نشده ایم
329
00:12:33,440 –> 00:12:33,839
330
00:12:33,839 –> 00:12:35,839
دلیل اینکه این دو ستون
331
00:12:35,839 –> 00:12:36,880
دقیقاً یکسان نیستند این
332
00:12:36,880 –> 00:12:39,920
است که اگر یک فایل xyz ایجاد کنیم این
333
00:12:39,920 –> 00:12:40,560
334
00:12:40,560 –> 00:12:43,120
مقادیر گرد می شوند تا ارتفاع
335
00:12:43,120 –> 00:12:46,800
اینجا 2167.48 باشد.
336
00:12:46,800 –> 00:12:50,639
متر و اینجا
337
00:12:50,639 –> 00:12:52,720
0.4775 کمی متفاوت است، اما فکر می کنم در
338
00:12:52,720 –> 00:12:54,480
این ترتیب واقعاً مهم نیست
339
00:12:54,480 –> 00:12:57,279
، حداقل در مورد من، آخرین نکته ای که می خواهم
340
00:12:57,279 –> 00:12:58,480
در مورد این
341
00:12:58,480 –> 00:13:01,360
موضوع بگویم، توجه داشته باشید که اگر مختصات x و
342
00:13:01,360 –> 00:13:03,839
y و مقدار را ذخیره می کنید هر
343
00:13:03,839 –> 00:13:04,480
سلول
344
00:13:04,480 –> 00:13:07,920
در شطرنجی شما یک فایل csv می تواند
345
00:13:07,920 –> 00:13:10,079
خیلی سریع بزرگ شود dm که من در اینجا کار می
346
00:13:10,079 –> 00:13:12,959
کنم بسیار کوچک 500 x 500 پیکسل است، بنابراین
347
00:13:12,959 –> 00:13:14,399
اگر داده هایی با این اندازه دارید کاملاً خوب هستید،
348
00:13:14,399 –> 00:13:15,279
349
00:13:15,279 –> 00:13:17,120
اما اگر با خیلی بزرگ کار می کنید.
350
00:13:17,120 –> 00:13:19,200
یا مجموعه داده های شطرنجی بسیار حل شده،
351
00:13:19,200 –> 00:13:21,279
فقط یک لحظه وقت بگذارید و قبل از اینکه
352
00:13:21,279 –> 00:13:23,040
بخواهید آنها را به csv تبدیل کنید فکر کنید
353
00:13:23,040 –> 00:13:24,720
و شاید
354
00:13:24,720 –> 00:13:26,320
355
00:13:26,320 –> 00:13:27,920
هم اکنون برای قسمت دوم
356
00:13:27,920 –> 00:13:30,000
این آموزش، زیرمجموعه یا فشرده سازی داده های خود را در نظر بگیرید، بیایید ببینیم چگونه می
357
00:13:30,000 –> 00:13:33,279
توانیم یک فایل zsb را تبدیل کنیم. بازگشت به geotiff f
358
00:13:33,279 –> 00:13:35,120
دوباره ormat دو گزینه را که میخواهم
359
00:13:35,120 –> 00:13:37,120
در اینجا به شما معرفی کنم اول از همه
360
00:13:37,120 –> 00:13:39,279
میتوانیم مسیر ایجاد یک فایل xyz را انتخاب کنیم و
361
00:13:39,279 –> 00:13:41,519
سپس از gdal translate برای تبدیل آن
362
00:13:41,519 –> 00:13:42,480
به geotiff استفاده
363
00:13:42,480 –> 00:13:44,480
کنیم اگر و این مهم است که دادههای ما
364
00:13:44,480 –> 00:13:46,079
دو
365
00:13:46,079 –> 00:13:49,040
معیار دادههای موجود در csv شما را برآورده میکنند. فایل باید با فواصل مساوی باشد،
366
00:13:49,040 –> 00:13:49,839
367
00:13:49,839 –> 00:13:51,680
همانطور که در مورد من وجود دارد که مقادیر شطرنجی من
368
00:13:51,680 –> 00:13:53,839
دارای فاصله 10 متری هستند
369
00:13:53,839 –> 00:13:56,320
و ثانیاً اگر دوباره به مستندات gdal
370
00:13:56,320 –> 00:13:57,279
371
00:13:57,279 –> 00:14:00,480
برای فایل xyz نگاه کنیم، داده ها باید به
372
00:14:00,480 –> 00:14:02,320
گونه ای سازماندهی شوند که
373
00:14:02,320 –> 00:14:05,680
برای همان y -مقادیر مختصات ما باید
374
00:14:05,680 –> 00:14:06,399
375
00:14:06,399 –> 00:14:09,839
مقادیر x رو به افزایش داشته باشیم به این معنی
376
00:14:09,839 –> 00:14:11,440
که باید ساختار داده ای
377
00:14:11,440 –> 00:14:14,160
داشته باشیم همانطور که در قاب داده خود داریم، به عنوان مثال
378
00:14:14,160 –> 00:14:16,160
جایی که ما در اینجا همان
379
00:14:16,160 –> 00:14:18,880
مقادیر y را داریم و در اینجا مقادیر x ما در حال
380