Okay, so I’ve been messing around with this thing called *. I heard it was good for doing map stuff, like calculating distances and areas, and I wanted to see if I could use it for a project I’m working on.
Getting Started
First, I needed to get * into my project. I’m using a simple HTML page with some JavaScript, so I just grabbed the script from their website and added it to my HTML.
Then I started playing around with it. My main goal was to figure out the area of some random shapes I drew on a map. Kind of like, if I drew a weird polygon, could * tell me how big it was?
Drawing the Shapes
I’m using a different library to actually draw the shapes on the map, but once I had the coordinates of my polygon, I needed to feed them into *. The trick is, * likes things in a specific format, called GeoJSON. It’s basically just a way of organizing location data.
So, I had my list of coordinates, something like:
[longitude1, latitude1]
[longitude2, latitude2]
[longitude3, latitude3]
and so on…
I had to wrap these up into a GeoJSON “Feature” object. It looked something like this:
"type": "Feature",
"geometry": {
"type": "Polygon",
"coordinates": [
[longitude1, latitude1],
[longitude2, latitude2],
[longitude3, latitude3],
and close the loop
"properties": {
Important Note: Make sure your polygon ‘close the loop’.The first and last coordinates must be same.
Calculating the Area
Once I had my GeoJSON polygon, it was super easy. I just used the function. I call that and pass in my GeoJSON, and * spits out the area in square meters. Just a simple line of code:
var area = *(myGeoJSONPolygon);
I was pretty stoked when it worked! I drew some crazy shapes, and * calculated the area without any problems.
Converting Units
The area comes back in square meters, which is fine, but I sometimes wanted it in square kilometers or something else. * doesn’t have built-in functions for that, I did a simple calculation myself to change meter to kilometers.
Final Thoughts
* seems great. It takes something that could be pretty complicated (calculating areas of irregular shapes on a map) and makes it really simple. I did a lot of testing, and it gave me the results I wanted. * made a complicated task simple.