 to everyone. GIS, the full name of GIS, is Geographic Information System. Which is a set of conditions and systems with longitude and latitude to deal with information of the Earth's service. Actually, GIS is not new to my secure. We have been supported when we're still at 4.1. GIS uses its home-built developed code, home-developed code, a MySET engine to support GIS. But for the limitation of MySET and the some of the stability issue created by the home-grown code, it was not that popular while we were before 5.6. In the version of 5.7, GIS is implemented by a dot-boost geometry. And we support a group of standards like OGC, C4, MF, R3. But with 5.7, we can only support condition coordination systems, which are just only as service. It is not related to not 100% matching with the surface of the Earth. And with 8.0, we can support the geographic coordination system that can deal with the elites of the Earth, and we can precisely, we can do some pressure precisely, much precisely than we used to be. And we also support geologists and data format. In addition to that, we also support the 5,000 SRS. The full name is the Special Reference System, and the GIS features are built-in by D4. We don't need to install a trial practice by creating information, schema, SP Special Reference System, which is a table. Actually, it is a validation review. You will know what SRS systems are supported by the specific user instance. And the most important is that we also can customize SRS. For example, if you want to create your own SRS from a standard coordination system, you want to change its longitude and latitude position to accommodate the imported data, external imported data. The only thing you need to do is to create your own SRS based on standard SRS system and import it into the system. What objects are come with GIS? First, we have many where some special data to support GIS, like home, geometric, et cetera. We can use them to present various shapes, objects of the map. The type can be used as a color type of the table. In order to operate against the special data, we also add a various special function, which includes functions that convert between special data and various data formats, like a text block. For example, stgeo from text can convert where no text into a geometric data, you know, special data. Where no text is kind of a syntax to specify the shape of the object, like a line, point, polygon, or multiple. And we can use sts as text to convert the geometric data to a text. So let us be able to understand the content of the data or interact with the rest of the of the season with the rest of the database. So it will allow you to import and export outside data between the database and outside data. For the special data. And there are also functions to get the special data properties, such as st lens, who knows the lens of a line stream, and stsid to figure out what stsid is the special data using. And we also have functions to operate against to special data, such as st distance to know the distance of the point, st overlap to know if two or two polygons overlap with each other, something like that. And ssid, which is used to the special data. And the different ssid will come of different results with when we execute the same special function. For example, st distance, we written different different distance value with the condition ssid and all and the geometric ssid, which is considered the run shape of the of the service of our service. And but the condition ssid only had all the map of the kind of the fresh service. Of course, same as the rest of the object, we can use index to accelerate the special operation. For special operation, to create a special index, actually it is, when you create a special index, actually it is greater, it is not greater, it is structure. It will create an archery structure. The archery structure is composed by the, which is a minimal boundary record, which know the contents then. And by work through the archery structure, it will help us to get the full type of scan. And the sum of the special function will apply the special index automatically, like st intersects at the st overlaps, st within or even st distance. With this example, it shows how to deal with the special data, between the outside of the, between the outside of the special data. First, if you need to store the special data, you need to create a table with a special data type. Like this one, I created a table called city, and they use a location locc column. The column type is a point, which is a one, is one of the special data to store the location of the city. And it's SID is a standard one, which is 4326. And then I use the data into the table, Tokyo or San Francisco. And for the location column, so I use sd geometric form from x, the point is specified, it's SID. If you didn't specify SID, like E4 anywhere, you used D4Y, which is same as this one, 4326. What might not need to vary is the special data one by one. There are many ready to use GIS data sets, and the, and also programs to import special data into the database. They include the data set not created by government agencies, agencies such as the homes affairs, transportation department, or some of the GIS community also offers those special data set. Like the street map of each country can be downloaded from OSM. The full name is Open Street Map. For example, I also downloaded the stream map of the Singapore from OSM, and they use OCR to OCR, which is a freeware. GIS full name is your special data accession library, and it can be, it is available from under contact. So as this example shows, I can specify which SHIFT is to import. This example I specified the region census year 2010 of SHP, which is a SHIFT fund. Target database is the load holster by people, the program is the social estate, and the username, and I use a root as a username, as a user account to do the import. And the target database, or target schema, is GISSC, and the engine is, you know, okay, let's do something real. So I show you the demo. I'm using MyselfShare to use, no, I'm using MyselfShare, yeah, to show that what I have before, before the importing this schema, or SC database, and use OCR to OCR import the SHIFT file into the SG database. The target database is at the local holster, use a root account password, and the SHIFT file is SG and the score at mean when SHP was downloaded from OSM, and it shows the first level at region district of Singapore. After I did the loading, let's check what I get. So in the SG database, I can see, you can see that I have a new table called the map, and let's check the what map, what the table of map has. It contains five rows. Each row represents a district, a region district of Singapore, like a western central nose, and let's check the structure of the map table. This shows that there's a one geometric column called SHIFT. Its SID is 46803, which is a standard one. Sometimes it causes a problem for me, and there's also one special data, special index at the top of the special column. Now let's check what the trend side can see. Let's first, I use the visor workbench to check the content of the map. So I select the content from SG map table. It shows five columns there, and when I move to editor, it shows the detail of the row. The SHIFT column will display the map of the SHIFT. I think this map should be for central district of Singapore. And there's a text with the SHIFT. It is a well-known text. It shows the content is a polyglot, and the longitude and the attitude of each point which compose the area. When I move to GIS view panel, it shows a map of Singapore. Actually, it was composed by those five SG map tables. Let me do some adjustment to make the map looking better. Now let's look the data graph with different truth, which is a QGIS. QGIS is quite popular GIS truth. Data from QGIS data, I need to specify the data. I need to read a layer and specify its terasos, the terasos database assigned to my secure. The table, now I need to figure out what which table I picked the SG at mean one. Just digest some information from the database and let me be able to get what kind of show the full Singapore map, which was composed by those five columns. Another shows the view from Singapore and Malaysia. I also specify the table name of the buildings. And after I pick where it shows the location of each building, actually the building table content almost one million rows, which is one million buildings. Next, I will do some kind of impression with the SG function. Kilometers away, less than one kilometer. First thing, I need to note the position, you know, the location of the line of the building center. So, I create a color called point one. The type, the data type, the points shows the location, insert it into a local variable, use the function called, and also add one link is away from this place. So, the result shows that there are four new meters away and it's there distance out. The last pass is the t-text away. This is my so, my so, it covers so many just features, so comprehensive which are any it follows standards, SQL, MMP3, or OGC. And it can also support multiple SIS and also, and you can also customize your own SIS. And with index, with a special index, it will foresee the great performance or the operation, special operation of the special data. And because it follows the standard, so most of the GIS is true support by SQL. It could somebody to or our own to recognize a work bench. And so, GIS is probably be able to support most of the GIS information system or GIS applications. So, you are free to use the GIS feature from MySQL because it is including library by default. You don't need to pay any money to use the MySQL GIS. And on the other side, it also let us be able to extend our existing MySQL GIS application to add some location-based feature to those applications. So, please feel free to try the GIS feature of MySQL. And let us know let us know your comments or your suggestion against those features. And either contact us directly, send an event to Ryan or to Hamilton, or you can look with in our bug reporting system. Actually, it's not the mutual backup. If there's a mutual enhancement request required, you can also use bug reporting to show you that's all from me. Thank you very much.