Tool: ArcGIS Pro, ArcGIS Pro Deep Learning extension, Python, Jupyter Notebook Technique: Deep learning; semantic segmentation, cartography, remote sensing
The presentation of abstract outlining the implementation of deep learning in land cover classification across the Borneo island. It uses the Sentinel-2 image data and the band combination that differentiates the bareland, tree cover as well as waterbodies and croplands whilst training the U-Net model using the referenced data collected.
Please find the abstract published here:
Warta Geologi, Vol. 47, No. 1, April 2021
The presentation slide can be accessed at the following link 👇🏻:
Survey123 for ArcGIS is perhaps, one of those applications that superficial nerds like me would like; it's easy to configure, kiddie-level degree of customization with 'coding' (for that fragile ego-stroke) and user-friendly template to use.
No app development/coding experience is required to publish a survey form and believe it or not, you can, personalize your survey to not look so meh.
It took me some time to stumble through the procedures of enabling this feature before I understand the 'ArcGIS Online' ecosystem to which this app is chained to.
So how do we do it? And why doesn't it work pronto?
This issue may be due to the fact that when we first start creating our forms, we go through the generic step-by-step procedures that leave little to imagination what was happening. Most of the time, we're too eager to find out how it really work.
When we publish a Survey123 form; be it from the Survey123 website portal or the Survey123 Connect for ArcGIS software, we are actually creating and publishing a folder that contains a hosted feature layer and a form. It is on that hosted feature layer that we add, delete, update or edit data it. From ArcGIS Online, it looks like any feature service that we publish out of ArcGIS Desktop or ArcGIS Pro, save for the special folder it is placed in with a 'Form' file.
To enable any offline function in any hosted feature layer in ArcGIS Online, you will need to enable the 'Sync' feature. So far, in many technical articles that I have gone through to learn how to enable this offline feature always goes back to 'Prepare basemaps for offline use'. It is a tad bit frustrating. But my experience when deal with 'Collector for ArcGIS' gave me the sense of epiphany when it comes to Survey123. So when you have prepared your Survey123 form for offline usage and it still doesn't work...do not be alarmed and let's see how to rectify the issue.
1. Locate your survey's hosted feature layer
At your ArcGIS Online home page, click 'Content' at the main tab. We're going to go directly to your hosted feature layer that was generated for your survey when you published.
Locate your survey folder. Click it open
In the survey folder, navigate to the survey's hosted feature layer and click 'Options' button; the triple ellipses icon
At at the dropdown, click 'View item details'. Please refer to the screenshot below:
2. Change the hosted feature layer settings
At the item details page, navigate to the 'Settings' button at the main header and click it. This will prompt open the settings page for the feature layer. Refer to the screenshot below:
At the 'Settings' page, there are two tabs at the subheader; 'General' and 'Feature layer (hosted)'. Click 'Feature layer (hosted)' to configure its settings.
At the 'Feature layer (hosted)' option, locate the 'Editing' section. Here, check the 'Enable sync' option. This is the option that will enable offline data editing. Please refer to the following screenshot:
Don't forget to click 'Save'
With this, your hosted feature layer which serves as the data model is enabled for synchronization. Synchronization helps to sync back any changes you've made when you're out on the field collecting data; editing, adding, deleting or update...depending on what feature editing you've configured.
It's pretty easy once you get the hang of it and just bear in mind that the data hierarchy in the ArcGIS Online universe are as follows:
Feature layer (hosted) > Web map > Web application
Once you get that out of the way, go crazy with your data collection without any worries!
Coding is one of the things I have aspired to do since like...forever! But finding a resource in-sync with my comprehension, schedule and able to retain my interest long enough is a challenge.
I have the attention span of a gnat so, I jumped everywhere! If I am not actively engaged with the learning, I just can't do it. And I know...we have DataCamp, Udemy, Khan Academy and even Kaggle...but I either can't keep up, too poor to pay for the full course or it couldn't sync with me enough. I believe I can say that most of the exercise doesn't 'vibe' with me.
Recently, I committed myself to my one passion; running. It's one of my favorite activities when I was back in school but the will to really run died a decade ago. I have recently picked up my running shoes and ran my little heart out despite having the speed of a running ant; aging perhaps? And I owe my hardcore will to the motivation of earning what I paid when I decided to join a 1-month long virtual run of 65km. It is called the 'Pave Your Path' virtual run organized by
Running Station
. Nailed it 2 days ago after 13 sessions of 5km - yes, you can accumulate the distance from multiple runs. It made me realize that...it's not that bad. The 'near-death' experience while running kinda turned me into a daredevil these days when it comes to undertaking some things I'd whine about doing a few months back.
"If I can go through dying every single evening for 5km long run...I can handle this,"
My thoughts exactly every time I feel so reluctant to finish some tasks I believe I could hold off for some time.
Naturally, I plan my work rigorously and despite the flexibility of my schedule and my detailed plans, I still have a hard time trying to nail the last coffin to my projects. Usually, it's due to my brain's exhaustion from overthinking or I am just truly tired physically. Which is a weird situation given I do not farm for a living. Even so, I was lethargic all the time.
But when I started running a month ago, things kind of fall into places for me. Maybe...just maybe...I've become more alert than I used to. I still have my ignorance of things that I believe do not concern my immediate attention but I seem to be able to network my thoughts faster than I used to.
It might be just me, feeling like a new person due to my sheer willpower to not burn my RM60 paid for the virtual run, but it did feel like there was a change.
For that, I managed to confirm what I have suspected all along - I am one of those people who love drills. I like things to be drilled into my head until I by-heart it into efficiency and then focus on polishing the effectiveness.
Thus...for coding, I committed myself to
freeCodeCamp
. By hook or by crook, I'll be coding by first quarter next year or someone's head is gonna roll!
It's an interactive learning experience simple enough for me to start, straightforward enough to not make me waste my time searching for answers and it's free. God bless Quincy Larson.
Going back to the program outlined in freeCodeCamp, I find it fascinating that they start off with HTML. I have no arguments there. My impatience made me learn my lesson - you run too fast, you're going to burn out painfully and drop dead before you halfway through. HTML is a very gentle introduction to coding for newbies since it's like LEGO building blocks where you arrange blocks and match two to create something. I didn't have to go crazy with frustration is I don't 'get' it. Yes, we would all want some Python lovin' and I think alot of coders I came to know have raved about how simple it is to learn. But I think, it is an opinion shared by 'experienced' coders who wished Python was there when they first started coding. Someone once told me, what you think is the best based on others' experiences may not be the best for you...and I agree with this. After alot of deliberations and patience at my end, starting over again this time feels, unlike the dreaded looming doom I've always had back then.
Are you into coding? What do you code and what's you're language preference? Where did you learn coding? Feel free to share with me!
I have started to post some videos demonstrating some tools in ArcGIS Pro. Short ones and pretty quick ones which I strived for since I absolutely am frightened with the idea of irritating people with unnecessary voice-over. It has no garnered much response and it's cool with me. Although, the lack of traction does things to my insides, I go back to the real reason I am doing thing, which is to stash the tools that I managed to learn on my own by trials and errors and keep them somewhere I can refer back to it to remember how it works.
Creating maps involves a number of iterative processes made to suit the intended output. Although creating maps itself is a form of art; heavily reliant on target audience's knowledge and aesthetical preference, it is still an inherently democratic science. Thus, knowing the mainstream technology and tools in the industry to express your vision or message is given. So for those just starting out with using geographical information software (GIS) for your final year project or research, this videos are meant for you. The purpose is not to overwhelm you with too many information, or distract you with my narration, but to follow in real-time the process from the start up of the software to the running of tools that generates the information needed.
Knowing fully well that there is an endless variety of GIS software or tools out there, processes that you need to execute to make things happen may vary in name and functionalities. Forget the beef between ArcGIS and QGIS, of which one is the better tool; if it serves your needs, then use it. You're not obliged to pledge loyalty to software or brands although you are encouraged to maintain integrity in your beliefs when it comes to corporate versus open source tools in the industry. Both choices come with their advantages and disadvantages. Yours truly uses QGIS and ArcGIS Pro interchangeably. If it doesn't work in ArcGIS Pro, which I use primarily, I'll jump to using QGIS. It's not a big deal. If it works painlessly, there is no reason to feel bad about using it.
So far, the content I have made emphasizes mostly on ArcGIS Pro or Esri products since using them is how I come to learn more about geology and geography. QGIS was a name I did not learn of in my university years when ArcGIS versions start with the digit 9️⃣, so you can catch my drift.
We can go on and on about theoretical stuff and our smarter pals usually knows what to do when faced with the tools. Unfortunately, I fall in the percentile that needed to land on the job to understand what on earth I am supposed to do. This series of videos are for those who have the same problem as I do and need to see the magic actually happening before knowing what to do. And for the most part, there are so many things to read and try out before you get it right. So hopefully, the demos can kickstart some thoughts or observation in the logic within the software's ecosystem and become more than just a technical power-user.
This week, I touched on some tools that I found helpful when dealing with point vector data, so feel free to check it out 👇🏻
Next week, I'm thinking of exploring some series of point analysis and space time cube is beckoning for me to test it out. Until then, stay cool and drop a word if you need any clarifications on the demos!
Peta Gunatanah Malaysia 2014 -2018 ("Malaysia's Land Cover 2014 - 2018") web application is a platform generated for the Quality Assessment activity organized by Forest Research Institute Malaysia (FRIM) on 23rd June 2024.
The workshop aims to collect field/reference data from Malaysian's state agencies in the effort to verify the quality of the land cover classification output generated in support of CO2 release measurement from converted agricultural lands.
Participants are able access the app via conventional browsers from their mobile devices and submit drawings/sketches that they have captured within interactive data layers.
This web app aims to support direct input from source onto the task of improving the accuracy of the generated land cover maps. Vectors generated from this exercise are readily standardized with the required data scheme from quality assessment, making full use of the ArcGIS Online ecosystem full to a produce concrete output and actionable information.
Ok.
I wanna know why have I never heard of this online tool before. Like, what the hell is wrong with the social media? Is something wrong with Twitter or Instagram or something that they never caught on mapshaper? Or was it just me and my hazardous ignorance, yet again?
Have you tried this free nifty online tool that literally simplify crazy complicated shapefile polygons like it’s no one’s business?!
It started with some last minute inspiration on how to collate data from 3 different regions; developed from remote sensing techniques which vary from one another. The common output here is to turn all of them into a vector file; namely shapefile, and start working on the attribute to ease merging of the different shapefile layers.
Once merged, this shapefile is to be published as a hosted feature layer into the ArcGIS Online platform and incorporated into a webmap that serves as a reference data to configure/design a dashboard. What is a dashboard? It's basically an app template in ArcGIS Online that summarizes all the important information in your spatial data. It's a fun app to create, no coding skills required. Check out the gallery here for reference:
Operations Dashboard for ArcGIS Gallery
There are two common ways to publish hosted feature layer into ArcGIS Online platform.
Method 1: Zip up the shapefile and upload it as your content. This will trigger the command inquiring if you would like to publish it as a hosted feature layer. You click 'Yes' and give it a name and et voila! You have successfully publish a hosted feature layer.
Method 2: From an ArcGIS Desktop or ArcGIS Pro, you publish them as feature service (as ArcMap calls them) or web layer (as the its sister ArcGIS Pro calls them). Fill up the details and enabling the function then hit 'Publish' and it will be in the platform should there be no error or conflicting issues.
So, what was the deal with me and mapshaper?
🛑 A fair warning here and please read these bullet points very carefully:
I need you to remember...I absolve any responsibility of what happens to your data should you misinterpreted the steps I shared.
Please always 👏🏻 BACK 👏🏻 UP 👏🏻 YOUR 👏🏻 DATA. Don’t even try attempting any tools or procedure that I am sharing without doing so. Please. Cause I am an analyst too and hearing someone else forget to save their data or create a backup is enough to make me die a little inside.
For this tool, please export out the attribute table of your shapefile because this tool will CHANGE YOUR SHAPEFILE ATTRIBUTES.
When I was publishing the vector I have cleaned and feature-engineered via ArcGIS Pro...it took so long that I was literally dying inside. I'm not talking about 20 minutes or an hour. It took more than 12 hours and it did not conjure the 'Successfully published' notification as I would've expected from it.
So at around 5.30 am, I randomly type 'simplify shapefily online free'. Lo and behold, there was mapshaper.
All I did was, zip up my polygon, drag it to the homepage and it will bring you to the option of choosing the actions that will be executed while the data is being imported into mapshaper:
detect line intersections
snap vertices
This option will help you to detect the intersections of lines within your vector/shapefile. This can help identify topological error.
The option to snap vertices will snap together points of similar or almost identical coordinate system. But it does not work with TopoJSON formats.
There is something interesting about this options too; you can enter other types of customized options provided by the tool from its command line interface! But hold your horses peeps. I did not explore that because here, we want to fix an issue and we'll focus on that first. I checked both options and import them in.
This will bring the to a page where there you can start configuring options and method to simplify your vector.
To simplify your shapefile, you can have both options to prevent the shape of the polygon being compromised; prevent shape removal, and to utilize the planar Cartesian geometry instead of the usual geoid longitude and latitude; use planar geometry. The implication of the second option is not obvious to me yet since all I wanted was to get the data simplified for easy upload and clean topology, thus, I chose both options to maintain the shape and visibility of all my features despite the highest degree of simplification.
Alike to the options of methodology for simplication in the mainstream software, I can see familiar names:
Douglas-Peuker
Visvalingam / effective area
Visvalingam / weighted area
First and foremost, I had no slightest idea of what these were. Like for real. I used to just go first for the default to understand what sort of output it will bring me. But here, the default; Visvalingam / weighted area, seemed like the best option. What are these methodologies of simplification? There are just algorithms used to help simplify your vectors:
🎯 Douglas-Peucker algorithm decimates a curve composed of line segments to a similar curve with fewer points (Ramer-Douglas-Peucker algorithm, Wikipedia; 2021).
🎯 Visvalingam algorithm is a line simplication operator that works eliminating any less significant points of the line based on effective area concept. That basically means that the triangle formed by each of the line points with two of its immediate neighboring points (Visvalingam Algorithm | aplitop).
🎯 Visvalingam algorithm with weight area is another version of Visvalingam algorithm of subsequent development where an alternative metrics is used and weighted to take into account the shape (Visvalingam & Whelan, 2016).
For reasons I can't even explain, I configured my methodology to utilize the third option and now that I have the time to google it, Thank God I did.
Then, see and play with the magic at the 'Settings' slider where you can adjust and view the simplification made onto the vector! I adjusted it to 5%. The shape retained beautifully. And please bear in mind, this vector was converted from a raster. So, what I really wanted is the simplified version of the cleaned data and to have them uploaded.
Now that you've simplified it, export it into a zipped folder of shapefile and you can use it like any other shapefile after you extracted it.
Remember when I say you have got to export your table of attributes out before you use this tool? Yea...that's the thing. The attribute table will shock you cause it'll be empty. Literally. With only the OBJECTID left. Now, with that attribute table you've backed up, use the 'Join Table' tool in ArcGIS Pro or ArcMap and join the attribute table in without any issues.
Phewh!!
I know that it has alot more functions than this but hey, I'm just getting started. Have you ever done anything more rocket science than I did like 2 days ago, please share it with the rest of us. Cause I gotta say, this thing is cray!! Love it so much.
mapshaper developer, if you're seeing this, I 🤟🏻 you!
UPDATE
I have been asked about the confidentiality of the data. I think this is where you understand the reason behind the fact that they will work even with using just the ‘.shp’ file of the shapefile since _that_ is the vector portion of the shapefile.
Shapefile is a spatial data format that is actually made up of 4 files; minimum. Each of these files share the same name with different extensions; .prj, .shx, .shp and .dbf. Although I am not familiar with what .shx actually accounts for, the rest of them are pretty straightforward:
.prj: stores the projection information
.dbf: stores the tabulated attributes of each features in the vector file
.shp: stores the shape/vector information of the shapefile.
So, as the tool indicate, it actually helps with the vector aspect of your data which is crucial in cartography.
Story Map is a web application template product that has been popularized in ArcGIS Online for a user-friendly and comprehensive narrative of maps. The ‘Cascade’ template has become the seamless interface of choice due to it’s ribbon transitions and availability of content streaming from external sources.
Please refer to the following link for resources used in this webinar:
Story Map for Noobs: Cascade web application
📌 Availability: Retracted in 2021
Split by Attributes GP tool....when would you actually use this?
There are times when you're making a map but symbolizing using the symbology feature is not enough to characterize the data visually. Thus, having this tool makes cartographical work a little easier by generating copies of the original data, split into separate layers based on the attribute that we need. By doing this, it makes the task of adding the legend much easier in the layout as well.
Most often, when making maps for slide presentation, you would want to segregate data into separate layers with certain uniform values for a certain attribute and a create a new data layer which we can use over and over again.
Although definition query can help with visualizing and showing the features with the attribute value that we want, we may want to create a separate data to avoid compromising the original data or constantly repeating the task of typing/configuring the SQL commands.
This tool is valid for shapefiles and feature classes. Any other data types may need to be converted into those two formats before you can run it. Check out the long-winded demo below:
Since this tool is actually a Python script, it can be integrated into a code for batch geoprocessing or model for iteration over many data layers or interconnection to other tools; automation at its full-on glory! 😁
Tool: ArcGIS Pro 2.9.3, Operations Dashboard ArcGIS & ArcGIS Online Technique: Data transformation and geometric calculation
WWF-Malaysia Forest Cover Baseline is a dashboard of forest cover extent status in selected land uses across Malaysia's region, methodology of analysis and resources involved in the exercise.
The WWF-Malaysia Forest Cover Baseline and Forest Cover Key Performance Index (KPI) is a task undertaken by the Conservation Geographical Information System (CGIS) Unit to amass the discrete information of forest cover extent across Malaysia's 3 main region of legislation: Peninsular Malaysia, Sarawak and Sabah. This exercise produces a concise dashboard report in an online platform that describes the processed information on the forest cover status as well as their prospective areas identified for conservation work.
Report can be interactively accessed at the following:
The dashboard can be accessed at Malaysia Forest Cover 2020.
📌 Availability: Retracted in 2021
In ArcGIS Pro, the Erase tool only comes with the Advanced license. There are other ways to go about removing parts of a polygon/line data layer like the Clip tool. But Union is that tool where it makes more sense by principle.
It works by marking overlapping parts of two different data layer with integers; 1, 2 and so forth. Those that do not overlap is universally -1. So, remove everything else that you want out of the picture by deleting output features that contain FID integer values of more than -1! Simple eh?
Check out the <3 minutes demo below!
P/S: Happy New Year peeps! ♥