 104. Itulah reaksi pembunyi benar Singapore Melayun Dalam kebelakangan sejujurnya, urusnya kebaikan perniagaan di 2004 dan lepas ke appearsa di 2006 Heal kebaikan pembunyiaan kempatan dan komputasi Masih mendapatkan kemahiran accumulasi dan pembunyi finans Heal sekarang kumpul di Nelson, Singapura Dan dia juga minum kemahiran di Singapura Terima kasih, semua. Saya sangat gembira berada di sini untuk berkongsi dengan anda kerja yang saya plan selama dua minggu lalu. Jadi, hari ini saya akan bercakap tentang bagaimana kita sebenarnya menggunakan Python untuk membuat kata pipeline untuk mendapatkan perjalanan kata yang kita perlukan untuk memuatkan masalah yang penting untuk kecuali kecuali kecuali kecuali kecuali. Boleh orang yang berada di belakang saya dengar saya, kerana saya tidak mempunyai mic, jadi saya cuba membuat perjalanan kata-kata saya seperti biasa. Mereka mahu membuat perjalanan kata-kata lebih lama. Baiklah, tentu saja. Jadi, bagi orang yang memperkenalkan saya tadi, saya sebenarnya seorang pelajar data yang sekarang bekerja di company Nelson. Jadi, perjalanan ini sebenarnya... Perjalanan ini sebenarnya perjalanan komersial, perjalanan perniagaan, tetapi saya akan beritahu, perjalanan ini adalah lebih banyak perjalanan akademik. Kenapa? Sebab saya melihat kata-kata dalam perkhidmatan innovation dengan Nelson. Jadi, sebagai seorang pelajar di jopis atau KPI, kita harus menghubungi kejadian kecil bersama pelajar dan kemungkinan masuk ke keberitaan dan memperkenalkan mereka. Jadi, perjalanan ini sebenarnya kembali sebagai projek seluruh tahun, sebagian-seluruh tahun, dan sebagian projek perkenalkan. Jadi, ketiga pelajarnya memang berhasil melakukan perjalanan ini. Jadi, ini adalah pilihan dari atas saya untuk hari ini. Saya akan beri kepada anda yang betul-betul yang kita cuba menyelesaikan. Jadi, saya akan mempunyai masalah supaya anda dapat mengharapkan keputusan yang akan saya berkongsi dengan anda nanti. Kemudian, saya juga berkongsi dengan anda sedikit tentang Basis JOSFACIAL 26. Sebenarnya, saya akan beri kepada anda lebih jauh mengenai keputusan dan bagaimana kita sebenarnya memasukkan segalanya bersama. Kemudian, akhirnya, saya akan mempunyai keputusan JIS data. Sebenarnya, saya akan berkongsi dengan anda. Jadi, ini adalah tiga pelajar yang berkongsi dengan saya dalam projek ini. Anda dapat melihat bahawa dua mereka sebenarnya membuat projek ini sebagai Projek Finansial Undergraduate Project. Dan mereka sebenarnya dari NUS. Dan pelajar di tengah-tengah ini sebenarnya dari NTU, dan dia sebenarnya berkongsi dengan projek ini semasa dia berkongsi dengan perniagaan. Pertama, masalah yang kita cuba melihat adalah keputusan keberan-keberan. Kenapa kita ingin melihat keberan-keberan keberan-keberan? Dan apa yang benar-benar adalah keberan-keberan keberan-keberan keberan-keberan? Well, perniagaan dengan masalah ini adalah Nelson adalah perniagaan perniagaan keberan-keberan. Jadi, kita sebenarnya menghubungkan perniagaan data kita untuk menghubungkan informasi dan perniagaan data. Dan salah satu pilihan yang penting atau produk yang kita sebenarnya berkongsi dengan perniagaan kita. Pada masa ini, perniagaan kita sebenarnya berkongsi dengan perniagaan keberan-keberan seperti Unilever, TNG, Nestle, Coca-Cola, Pepsi-Cola, dan sebagainya. Jadi, produk ini yang kita berkongsi dengan mereka adalah informasi tentang pilihan dan komposisi perniagaan keberan-keberan di negara yang mereka berkongsi. Jadi, pilihan dan komposisi kita sebenarnya perlu menghubungkan perniagaan data kita untuk menghubungkan area, area yang diperkenalkan untuk mengidentifikasi perniagaan keberan-keberan seperti perniagaan keberan-keberan, menghubungkan perniagaan keberan-keberan dengan kecuali kitori dan juga mencari sebuah produk yang diperkenalkan di perniagaan. Jadi, ini adalah informasi yang sebenarnya penting dan penting untuk perniagaan kita. Sebab kenapa mereka perlukan informasi ini? Sebab mereka perlu tahu keberan-keberan untuk menggunakan perniagaan keberan-keberan untuk membuat perniagaan keberan-keberan jika mereka mahu membuat produk yang baru dan memperkenalkan perniagaan keberan-keberan atau membuat perniagaan keberan-keberan baru. Jadi, untuk negara kecil seperti Singapura, tidak ada masalah kerana Singapura, area land hanya 725 meter. Jadi, kita boleh menghubungkan perniagaan data kita dan mengubungkan perniagaan keberan-keberan dari negara. Tetapi, untuk negara besar, untuk menggunakan perniagaan keberan-keberan, Indonesia ada area land yang 1.9 milion meter. Bukan tempat kita boleh menghubungkan perniagaan data kita untuk mengubungkan perniagaan keberan-keberan. Sebenarnya, Indonesia sangat bergantung, banyak-banyak keberan-keberan. Jadi, ia sebenarnya sangat penting untuk mengubungkan perniagaan keberan-keberan keberan-keberan dari negara. Walaupun ia penting, ia akan mengambil masa lama dan ia akan sangat berkeberan. Apabila masa yang tinggi, pelanggan kita tidak akan mencari untuknya. Jadi, apa yang kita boleh lakukan? Apa yang kita lakukan adalah, bukan menghubungkan perniagaan keberan-keberan di negara, kita sebenarnya menggabungkan keberan-keberan keberan-keberan keberan-keberan keberan-keberan. Jadi, ia mungkin terlalu kecil untuk anda melihat, tetapi satu block di sini adalah sebuah perniagaan keberan-keberan atau sebuah perniagaan keberan-keberan yang kami inginkan. Dan keadaan keberan-keberan atau keberan-keberan data akan dibu. Sudah tentu, bahawa kita telah membuang sebuah negara yang besar seperti Indonesia menjadi keberan-keberan kecil. Sebenarnya, keberan-keberan keberan-keberan di sini adalah lebih daripada 66,000 pilihan perniagaan. Jadi, bahawa dengan pilihan kecil ini, ada tetap beberapa pilihan keberan-keberan keberan-keberan keberan-keberan keberan-keberan. Ia masih mungkin dapat membahas semua mereka. Jadi, apa yang kita lakukan adalah, kita membuat menggunakan sebuah konsep yang dipanggil keberan-keberan keberan-keberan keberan-keberan. Jadi, keberan-keberan keberan-keberan saya berikan sebuah keberan-keberan keberan-keberan untuk menolong konsep itu. Biasanya, kita ada sebuah populasi yang ingin diterima sesuatu informasi. Tapi, sebutnya perlukan kisah atau menggabung data dari setiap sebuah objek atau element dalam populasi itu, kita akan meminta mereka menghadiri sebuah keberan-keberan. Hanya seperti mengembar keberan-keberan dengan keberan-keberan besar. Ini menyerah keberan-keberan. sehingga apabila kita sebenarnya memasak dari setiap kumpulan, kita boleh mempunyai kecil yang lebih kecil, sehingga tidak mempunyai untuk menutupi populasi, tetapi masih mempunyai informasi tentang populasi genera. Jadi, itu adalah konsep sebuah penyelamatkan penyelamatkan. Sekarang, salah satu pilihan yang penting untuk mempunyai penyelamatkan, sebuah penyelamatkan atau SRATA, adalah bukti pelroyasi dengan stars. Apakah yang penting?因为 pilihan tuang atau pilihan halaman tuang terdapat di mana convenient suara yang banyak, dan juga cash-out. Periksa cash-out counter. Tetapi dalam region rural, mungkin anda mempunyai pakaian dan top shop, atau pakaian yang seorang pakaian, atau pakaian yang seorang pakaian. Periksa pakaian itu sangat berbeza. Sebab itulah, apabila anda mempunyai situasi ini, kami cuba membuat mereka menjadi pakaian yang berbeza sebelum kita memperkenalkan sampling, dan kemudian pakaian data. So, salah satu pakaian yang memperkenalkan adalah pakaian klasikasi dan rural dan pakaian yang berbeza dalam region itu. Sekarang, secara tradisional, kami dapat informasi seperti ini. Mungkin, beberapa pakaian yang berbeza di negara ini. Mungkin, pakaian Indonesia ada pakaian yang berbeza. Secara tradisional, kami dapat informasi ini daripada mereka. Tapi, untuk Indonesia, kerana pakaian sangat cepat dan berubah dengan saya. Jadi, pakaian yang berubah sangat cepat. Pakaian yang berubah, mungkin setengah tahun nanti atau setiap tahun nanti, pakaian yang berubah. Tetapi, pakaian pakaian yang berubah sangat kecil dan sangat kecil. Mungkin, mereka akan mengubah pakaian yang baru dengan pakaian yang baru dalam 3-4 tahun. Jadi, di antara itu, ada sebuah gampang, dan jika kita tidak buat sesuatu tentangnya, dan jika pakaian ini tidak selesai, apabila kita memperkenalkan pakaian yang berlaku di negara ini, dan kita memperkenalkan informasi tentang pakaian yang berlaku di negara ini, mereka akan mengawal. Jadi, itu sebenarnya pakaian yang berlaku. Jadi, apa yang kita selesai, kita sebenarnya melihat pakaian yang berubah. Kenapa? Kerana ia sangat menarik untuk seorang pakaian. Jika saya melihat pakaian yang berlaku dengan pakaian yang berlaku, saya ada 2 pakaian yang berlaku. Pada masa yang terlebih dahulu, kita dapat melihat pakaian yang sama. Pertama, ia sangat memahami keadaan yang berlaku. Yang mana adalah pakaian yang berlaku? Pada masa yang berlaku, saya dapat mengenali bahawa ini adalah pakaian yang berlaku, dan apabila kita memiliki banyak pakaian yang berlaku, kita akan mengubah pakaian yang berlaku. Pada masa yang berlaku, dan apabila kita mengubah pakaian yang berlaku, kita dapat melihat pakaian yang berlaku, atau mungkin apabila ada pakaian yang berlaku. Jadi, apa yang kita lakukannya yang terlebih dahulu, kita sebenarnya pembangunan dan kita gunakan untuk membuat keklasifian kelihatan. Jadi kita hanya mengambil informasi dalam kemampuan keklasifian atau keklasifian keklasifian tersebut, dan sebagainya. Ada beberapa keklasifian, keklasifian kategori lain ialah kita sebenarnya mengambil daripada keklasifian keklasifian. Dan apabila kita memiliki keklasifian keklasifian, kita dapat membuat keklasifian kita. Sekarang itu sangat bagus, dan kita sebenarnya memiliki keklasifian-eventur dengan keklasifian berlainan dan uber, atau keadaan yang berbeda atau keadaan yang berbeda, kita telah mempunyai sekitar 96-97% itu bagus, tapi masalah dengan menggunakan gambar satellite adalah kerana kita sebenarnya di dekat belakang kreator, itu adalah masalah klub-klub jadi apabila klub-klub adalah sebenarnya di luar dan area, dan gambar satellite terpaksa mengambil gambar atau foto pada masa itu, anda tidak dapat melihat apa-apa di bawahnya jadi saya mempunyai keadaan yang berbeda atau keadaan yang berbeda jadi gambar satellite adalah sebenarnya klub dan ini adalah keadaan yang berbeda atau keadaan yang berbeda jadi anda dapat melihat bahawa jika anda membuat gambar prosesi pada sebuah gambar anda akan mempunyai sebuah masalah yang besar yang lain adalah keadaan okey jadi gambar ini, gambar tanah, gambar tanah dan gambar tanah mereka di luar, hanya bahawa mereka mempunyai keadaan yang berbeda lagi apabila anda membuat gambar prosesi jika anda dalam gambar prosesi anda akan melihat bahawa ia mungkin tidak mudah untuk mengandalkan perkara ini dan juga gambar prosesi seperti perkara ini, sejauh sebagai masalah instrumentasi kita sebenarnya mempunyai masalah instrumentasi kerana apabila kita sebenarnya mempunyai gambar satellite di seluruh Bali dari sebuah satara perusahaan salah satu satara itu sebenarnya gagal dan perusahaan data kita sebenarnya diseluruhi dan kita tidak dapat menggunakan perusahaan itu okey jadi itu adalah masalah dengan instrumentasi dan akhirnya okey yang paling penting adalah gambar satellite akan memasukkan anda di bawah okey kerana saya sedang memasukkan dan mereka akan memasukkan kami perusahaan USD 1.25 jadi anda memandangkan untuk Indonesia jika anda masih mempunyai area tangan adalah 1.9 milion km ia hanya untuk kekalkan yang mudah adalah sekitar 2.5 milion USD per tahun kerana kita harus sebenarnya memasukkan perusahaan ini setiap tahun sebelum kita mengandalkan perusahaan data-data untuk sebenarnya mengambil informasi kerana kita harus sebenarnya memberikan informasi data-data informasi kepada pelanggan kita pada sebuah perusahaan okey jadi itu adalah masalah dengan perusahaan yang sekarang menggunakan gambar satellite okey jadi apa yang boleh kita lakukan selanjutnya kita menghubungkan kekalkan kita okey kita cuba berfikir apa perusahaan yang lain kita boleh menggunakan setiap gambar satellite dan kita memperkenalkan satu perkara yang penting okey saya tidak pasti jika anda dapat melihat perusahaan blu di sini okey tapi perusahaan blu menghubungkan perusahaan yang diperkenalkan yang kita menangiskan okey untuk mengubungkannya jika ia adalah kekalkan atau kekalkan okey dan ini adalah gambar satellite yang terlalu lewat di sini okey jadi anda dapat melihat bahawa kedua-dua gambar ini adalah sebenarnya sebuah area yang sama hanya sebuah gambar satellite yang lain ialah gambar atau gambar gambar jadi apabila anda melahirkan okey dan apa yang lain di sini ialah gambar jadi jika anda melahirkan anda dapat melihat bahawa gambar sebenarnya menghubungkan perusahaan blu okey jadi lebih baik untuk membuat perusahaan gambar di gambar satellite yang terlalu lewat untuk mengubungkan apabila perusahaan di mana bagi houses apa yang kita dapat melihat apabila perusahaan ambil kita boleh melihat perusahaan sebagai pelajaran adalah aku melihat ambil perusahaan sauce dan perusahaan okey sangat hipun lalu detta mempunyai wealth Okey kami mempunyai perusahaan dan requer bahanan ialah roll okey tiada orang yang akan strim buku tanpa alasan alat jadi perusahaan aluminium dan perusahaan kita sebenarnya menggantikan tempat yang dikenalkan di mana tempatan yang dibuat. Jadi dengan keadaan ini, mungkin kita boleh menggunakan informasi rata tanpa memasukkan gambar untuk mengenai apa yang kita mahu. Di sini, untuk membuat keadaan yang mengubah untuk mengubah keadaan rata rata. Dan hanya untuk memotifkan keadaan rata rata, informasi network, saya telah menunjukkan satu keadaan rata, sehingga satu keadaan rata di dalam kemudian. Untuk keadaan rata, anda dapat melihat bahawa keadaan yang mengubah keadaan rata, mereka mengambil keadaan rata. Kita ada sebuah sebuah rata yang sangat lama, sangat keadaan rata dan berat. Seperti berkumpul ke keadaan rata yang terbuka, anda dapat melihat bahawa profil rata rata itu sangat berbeza. Jadi kita boleh, jika kita mempunyai keadaan rata, jika anda dapat mengambil informasi seperti keadaan rata, keadaan rata rata, keadaan rata atau keadaan rata rata, dan semua informasi yang penting, anda dapat menggunakan, anda sebenarnya membuat keadaan rata. Dan perkara yang terbaik menggunakan keadaan rata, ia tidak mempunyai dari keadaan rata dengan menggunakan keadaan rata. Apabila keadaan rata rata berat, ia tidak menggunakan keadaan rata atau keadaan rata. Ia tidak menggunakan keadaan rata. Sudah tentu, keadaan rata tidak dipercewat. Dan keadaan rata, kita dapat membuat keadaan rata dengan berat dengan sebegini dengan keadaan rata. Jadi ini adalah keadaan rata apabila kita memutuskan anda mungkin mahu mengambil sebuah alat yang kedua dan membuat keadaan rata dengan informasi keadaan rata. Kami akan membuat pembunuhan Pytone GIS data pipeline. Kami hanya mahu cepat mengambil beberapa konsep yang penting untuk digital cartografi dan sistem informasi geospatial. Okey, perkara yang kita lakukannya adalah actually a 3D group. Tetapi, perkara yang kita lakukannya adalah actually a building group of a group. Jadi, ia mesti ada beberapa transformasi untuk actually transform untuk menghubungkan lokasi di group untuk menghubungkan pembunuhan. Jadi, transformasi ini sebenarnya adalah menghubungkan Pytone GIS dengan sebuah konsep yang dipanggil coordinate reference system. Dan sistem coordinate reference consists of two parts. Satu, ia mesti membuat pembunuhan untuk model dunia, jika ia adalah model spiritual atau model episodial. Dan apabila kita mempunyai model yang mana kita gunakan, kita akan mempunyai pembunuhan untuk menghubungkan lokasi GPS dari 3D ke 2D. Jadi, ia adalah sesuatu seperti jika kita mempunyai 3D objek, kita akan mempunyai 4D untuk menjadi 2D. Dan pembunuhan digital cartografi dan Pytone GIS dan pesan-pesan sekarang adalah sangat popular kerana kita mempunyai sangat baik untuk penghubungan online. Dan bagaimana kita mempunyai actually these are map providers actually serve the map to us. I believe all of you have used google maps before. So, when you search for an area, the google map server will actually return you your result, display the map on your view, your window view. As you pan or move your location around, the maps will be updated. You can zoom in and zoom out as well. But how do all these happen at the back end? So, at higher map, you can actually zoom in at different level. At the highest level is zoom level 0. I think for google map at the highest or the lowest zoom level is actually about zoom level 20 or something like that. But with each zoom level, you can see more details. But this come at a price because when you see more details, that means more data needs to be transmitted or transferred to you before you can see what is happening on the map. Imagine if I'm at zoom level, let's say 14-15, which is very common zoom level that we use. If you're familiar with google map. Zoom level 14-15 is already bigger bugs of data. If the online map server is going to transfer the bigger bug of data to you, it's going to take a long time for you to load the map. And if you pan around a lot, it's even slower. So there's no way they are going to send the entire world map to you at the zoom level that you choose. So what they are done is, they get it in a very clever way. The entire world map, even a bugger zoom level, let's say zoom level 3, they slice it into grids called map house. And if you query a bugger region, they only serve you the map house of that region and probably the surrounding house extra. So it's very easy and very fast for you to load and you're actually looking at. And then when you pan, they just keep on serving you the corresponding map house. So how do they actually cut up the entire world map at a particular zoom level into the house? And each tower is actually fixed. No matter at which zoom level you are at, each map tower is always 256x256 pixel. So you can see that at zoom level 0, the entire world map is actually represented by 1 tower. At zoom level 1, both the x and the y dimension doubles. So it becomes 4 square. And then at zoom level 2, again it doubles from zoom level 1. So instead of having 2 towers on the x and the y dimension, it becomes 4. So you have 4 x 416. And this keeps doubling up with each zoom level that you go deeper into. It's when you can see more details. So just to give you an example, if there's a particular region that I want to query, I want to view on my PC, let's say I'm using Google Map, OpenStreetMap. The concept is the same. I had this after region in the purple, the color purple that I want to view. So what the map server, online map server is doing is you have first detect the lower map and the upper right corner of the extent of this region. In GIS terminology, extent means the smallest rectangular polygon that actually contains the region of interest that you are interested in viewing. And with these 2 corners, I can get calculate through some simple mathematical calculations. Work out what is the corresponding town number, map town number that I need to access. And once I have the map town number for this corner and the map town corner for that corner, I just take the difference in terms of the numeric number. I will know the number of map town that I need to download and you wish map town that I need to download. And the map town is just like the addresses of the square grid that you want to download. So for the same region when I download the set up image is something like this. You can see that each town is actually 256 by 256 pixel and when I piece the town together, I can get the image that I want. Okay? Now, it's simple to say that when I download the town, I just piece them together. But when you download the town, they are actually images. No reference. It's just like playing jigsaw puzzle. You can access the individual pieces but how do you put them together before you form the complete picture or the mosaic picture? Okay? So you have to then reference these images and then use library called the JIDA library to actually stitch them together to merge them together to form the complete picture that you want. Okay? So with that, I will just go into the GIS pipeline that we have developed and here, I actually want to mention that we actually use a few Python libraries like JIDAL, OGR and Fiona and Shaggy. Okay? These are the three main Python modules that we use and this is the overview of the pipeline that we have developed using Python. Okay? I'm sorry that maybe the resolution is not that good but here it's actually the boundary assessing and then when we have the digital boundary we get by saying we get the extent of the region then we work out what are the tiles that we need to download when we go to an online actually download the tiles then we use JIDAL library to actually stitch them back together but because we are interested in getting the road network information of a region that we are wanting to do a rule of classification so this will contain access information and then those rules they are outside the region we don't want we want to cut them away so again we use JIDAL to take away and this is the final image or the source data that we want to process to further do our processing to extract the network information Okay? So essentially this is what we have to download that from online but these are images okay? I have to tell you that these are images machine learning algorithm or technique they cannot operate on these images because they will not be able to see that these are roads and this is an index section between 3 segments of roads so what can we do? we have to actually convert these images raster information to factor information okay? factor information is the lines once we have the factor information as JLS factor information we can then measure the length okay? using shape B module in cycle okay? measure the length and also identify the intersection of the points okay? so this is what we have actually wanted to achieve and a blown up area blown up view of this small area here you can see that okay? the algorithm that will develop the cut line that we will is able to correctly identify the intersection points which are actually denoted as the purple dots and also the end points which is the green dots okay? so this is what we want to achieve once we have the intersection point and the end point we can then measure the distance between 2 characteristics point in this case characteristic point and the end points or intersection points here we can measure the length of this road segment we can also count the number of road segments and so on and so forth we extract information about the density of road network density once you have this it's basically engineering once we have the feature engineering we have a data set that we can work with we then pass it through our machinery algorithms and you will come okay? there's a classifier that we can use okay? so that is essentially the gist of what we are trying to do okay? now the pipeline that I've shown you here is only first part of the entire story because from online that provider okay? we are able to get the image showing the road network information of the region that I'm interested in but these are images like I say we have to convert it to we have to convert it to from raster to vector information so the second part of the pipeline is to convert the raster information to vector information so what we have done is we have to first convert the images into binary images that means black and white images okay? the module that we have used is the python image library or PL okay? it's very easy to use just convert probably a grayscale image to a black and white image okay? why do we need to convert it to a black and white image? it's because we want to perform morphological image okay? because the raw image okay? there's thickness in the road network each road segment there's thickness we are only interested in the center line of the road segment which is the constant line here because what we are interested in is only the connectivity connectivity of the road network as well as the length of the network okay? so from that we have to first thin it first okay? once we have the team image okay? convert it from raster to vector using the GDAL library inside the GDAL library there's a function called GDAL Polygonized so if you are familiar with GIS you just use GDAL Polygonized you will convert raster image to a vector sheet file okay? once you have that you can start to play with the vector information you can start tracing the line segments or the road segments identify the intersection points then identify the end points okay? then from there you can extract information about your road work density and connectivity okay? so with this approach okay? we are able to benchmark the approach that we we are classifier with road network information versus the approach that we feel are classifier with satellite images information you can see that both are actually very comparable but in terms of processing we don't have to actually do it which processing which is very computational intensive we don't have to actually pay a huge cost to get the image just and we are free from things like coloration instrumentation issues cloud covers okay? so I'll just quickly conclude before I actually show you the demonstration of the pipeline so what I covered is our previous approach where we use satellite images to do the classification now we actually use road network information extracted from online maps to do the same thing to achieve the same result that you want okay? and as far as future work we'll be looking at using polygraph theory to further extract useful features from the road network information that we have able to retrieve from the online maps okay? so with that I'll just do a demonstration of the data pipeline okay? so for visualisation I'll be using quantum GIS QGIS is an open source GIS platform similar to map info or Arches if you're familiar with GIS okay? so this is an example of the region that I'm interested in okay? it's a polygon and the boundaries of the polygon or region is actually lines so if I turn off the shading inside the polygon okay? you can see the boundaries okay? it is the boundary of the region I'm interested in okay? so I'll use this boundary go to the online maps server to pull down the corresponding tiles stitch them together to form the mosaic image the bigger image of the entire region okay? that is part one of the data pipeline and then after that I process I do some processing on this image to convert from raster to vector information okay? so the first part of the data pipeline is actually handled by this particular executable I have compiled the Python script into AXE using PIN $ okay? so that it's easier for me to actually do the demonstration I've just created a very simple console-based UI okay? so there are some options that I need to set but if I don't set the options I just use the default okay? you will go to a particular online map provider to pull down the map tiles and the images so it will launch a simple file dialog UI okay? no before I go on I just shift this file out okay? so I'll be using this keyhole markup zip file that contains the boundary of the region that I'm interested in developing is a real open status I use this okay? as the input to my pipeline okay? and then you will see that a new folder will be created and the information that I pulled from the online map provider will be stored inside that folder okay? so you can see that this part here is actually calculating the extent and then pulling down the map tiles one by one so each map tile is 256x256 and I if I'm not wrong I think I've used the default setting at zoom level 15 or 17 okay? so at different zoom level the details and the information that you see on the image that you pulled down will be different all the images and the tiles for this particular region and you can see that here a new folder called roads is being created just now this folder is not there and inside here is actually a sub folder contain the information of that region that I just use as the input source to the pipeline you can see that all of these are actually tiles 256x256 tiles 4 images and these are all images okay? the pipeline has already Joe reference it it means already assigned GPS position for this map tile so that when I use GDAL library to actually stitch them together it will know where to actually place each tile okay? so this is the merge image okay? the entire merge image from all the small tiles okay? and then the region that I'm interested in is not the entire material but it's only a subset so I want to keep the boundaries overlay the boundaries on this image and then clip it so this is the clip result okay? you can see that basically it's the same for this middle part here when the rest so I just load this in into QGIS for better visualization okay I turn off this first then I change the order at which I actually block okay it's not coming up very clear on the screen okay but it's okay the boundaries will be exactly what you would expect it to be this one so I just why does it come out black oh okay I should have changed this okay? so you can see this is the original image and this is the yellow line is actually the boundary of the region that I want and when I click it clip clip with respect to the boundary this is what I have okay now these are images it's still images images are no use for our computer algorithm because we can extract features out of it so I have to convert this rougher information to vector information so how do I do that that's the second part of the pipeline okay so as I mentioned just now I will first convert it to black and white do the thinning and then after that polygonize the rougher image to vector information so the image that I will be operating on will be this image here so I just put it out to the desktop okay again a file dialog will be launched okay which will allow me to select which file I want to operate on so I want to operate on this file which is why it's shown here so you can see it's now it has been converted from grey image to a black and white binary image and then it's now doing thinning okay so for this particular demo case that I have they are about shock information it will take 10-20 seconds to run okay so let's just give it moment okay I'm finishing so it's done and these are the extra files that are being created so this is the root that I want okay okay the endpoint and the roots profile okay let me zoom in you can see that the lines are exactly in the middle of the roots okay so that is the vector information that I want and once with that vector information I can identify the endpoints I can also identify the intersect points so I just load it up for you to see actually have an intersect point file here okay never mind but you get the idea okay once I have this vector information okay I can then trace the length of a segment and then the number of segments and so on and so forth so that is the end product that we want and then extract the features from there and do our and do our classifier okay so that's the end of my talk thank you any questions for the C yes are you trying to be the minimal many more could be it's part of the feature engineering what I've shown you is the pipeline to get where we want before we extract the features correct we can even apply advanced graph theory to actually extract more informative features any other questions if not at the end of this talk the next talk will be about deep learning with python and