{"id":4426,"date":"2024-03-07T01:34:04","date_gmt":"2024-03-07T01:34:04","guid":{"rendered":"https:\/\/blogs.lincoln.ac.nz\/gis\/?p=4426"},"modified":"2024-03-07T01:34:05","modified_gmt":"2024-03-07T01:34:05","slug":"global-phosphorus-blooms","status":"publish","type":"post","link":"https:\/\/blogs.lincoln.ac.nz\/gis\/global-phosphorus-blooms\/","title":{"rendered":"Global Phosphorus Blooms"},"content":{"rendered":"\n<p><em>Three different ways of mapping some dissolved reactive phosphorus data<\/em> <em>are covered.<\/em><\/p>\n\n\n\n<p>Some of our recent work in pulling together <a rel=\"noreferrer noopener\" href=\"https:\/\/blogs.lincoln.ac.nz\/gis\/degrees-of-difficulty\/\" target=\"_blank\">a set of global datasets<\/a> is beginning to bear fruit.  Over the next few posts, I&#8217;ll go into excruciating detail on how the datasets were pulled together and the analysis results mapped.  <\/p>\n\n\n\n<p>Along with nitrogen, phosphorus is a key growth nutrient for plants.  But like too much of anything being a bad thing, excessive levels of phosphorus in water can promote the growth of algae and plants leading to less oxygen available for fish and a decrease in water quality.  <a rel=\"noreferrer noopener\" href=\"https:\/\/www.lawa.org.nz\/learn\/factsheets\/phosphorus\/\" target=\"_blank\">Dissolved Reactive Phosphorus<\/a> (DRP), the form of phosphate most available for plant growth, is monitored as a water quality indicator and can be found in both surface and groundwater.  With some of the good folk at AgResearch, we&#8217;ve been pulling together these global scale datasets to model its spatial distribution in groundwater.<\/p>\n\n\n\n<p>We&#8217;re working with different sets of modelled data that I&#8217;ll have to go into another time, but in this post we&#8217;ll look at some different strategies for mapping them.  To get things started, I&#8217;m working with a polygon layer that has two values of DRP from two different modelling efforts.  <\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>DRP_pred is from a global data set modelled using about 19 different factors<\/li>\n\n\n\n<li>Mean DRP_curr &#8211; also modelled using a different set of input data<\/li>\n<\/ul>\n\n\n\n<p>Here&#8217;s the attribute table:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"510\" height=\"408\" src=\"https:\/\/blogs.lincoln.ac.nz\/gis\/wp-content\/uploads\/sites\/3\/2024\/03\/DRPTable.jpg\" alt=\"\" class=\"wp-image-4428\" srcset=\"https:\/\/blogs.lincoln.ac.nz\/gis\/wp-content\/uploads\/sites\/3\/2024\/03\/DRPTable.jpg 510w, https:\/\/blogs.lincoln.ac.nz\/gis\/wp-content\/uploads\/sites\/3\/2024\/03\/DRPTable-300x240.jpg 300w\" sizes=\"auto, (max-width: 510px) 100vw, 510px\" \/><\/figure>\n\n\n\n<p>You can see that there are 253,293 records here.  These are tied to a set of global cells, each 50 km<sup>2<\/sup> in size; all are within 2 km of an existing river and also in areas of shallow groundwater.  In the image below, I&#8217;ll show you the NZ cells &#8211; at the global scale these would be too small to see.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"644\" height=\"599\" src=\"https:\/\/blogs.lincoln.ac.nz\/gis\/wp-content\/uploads\/sites\/3\/2024\/03\/NZCells.jpg\" alt=\"\" class=\"wp-image-4429\" srcset=\"https:\/\/blogs.lincoln.ac.nz\/gis\/wp-content\/uploads\/sites\/3\/2024\/03\/NZCells.jpg 644w, https:\/\/blogs.lincoln.ac.nz\/gis\/wp-content\/uploads\/sites\/3\/2024\/03\/NZCells-300x279.jpg 300w\" sizes=\"auto, (max-width: 644px) 100vw, 644px\" \/><\/figure>\n\n\n\n<p>The immediate challenge here is to display the data in a meaningful way for my colleagues.  Of interest to them is knowing in which cells the value of DRP_pred is greater then mean DRP_curr.  There are two approaches I can use &#8211; either create a new attribute to symbolise off of or just use straight symbology to show them.  The difference between these two is that in the first, the attribute becomes a permanent part of the data but in the second it&#8217;s a more temporary thing, part of <em>map <\/em>but not the data.  <\/p>\n\n\n\n<p><strong>Using Attributes<\/strong><\/p>\n\n\n\n<p>So this sounds like it could be a fairly simple thing, right?  There are (at least) 2 ways I could do this:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Subtract the two values and look at values above and below 0, or<\/li>\n\n\n\n<li>Use values such as 1 for DRP_pred greater than mean DRP_curr or 0 for not<\/li>\n<\/ul>\n\n\n\n<p>In both bases I&#8217;ll need to add a new attribute.  For the first option, I&#8217;ll add a new field called Difference and set it as a float type.  (Both DRP values are floating point so my attribute needs to be floating point as well).  Going to the <a href=\"https:\/\/pro.arcgis.com\/en\/pro-app\/latest\/help\/data\/geodatabases\/overview\/an-overview-of-fields.htm\" target=\"_blank\" rel=\"noreferrer noopener\">Fields view<\/a> I can set this up as:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"30\" src=\"https:\/\/blogs.lincoln.ac.nz\/gis\/wp-content\/uploads\/sites\/3\/2024\/03\/Float-1024x30.jpg\" alt=\"\" class=\"wp-image-4430\" srcset=\"https:\/\/blogs.lincoln.ac.nz\/gis\/wp-content\/uploads\/sites\/3\/2024\/03\/Float-1024x30.jpg 1024w, https:\/\/blogs.lincoln.ac.nz\/gis\/wp-content\/uploads\/sites\/3\/2024\/03\/Float-300x9.jpg 300w, https:\/\/blogs.lincoln.ac.nz\/gis\/wp-content\/uploads\/sites\/3\/2024\/03\/Float-768x22.jpg 768w, https:\/\/blogs.lincoln.ac.nz\/gis\/wp-content\/uploads\/sites\/3\/2024\/03\/Float.jpg 1108w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>When saved, the Difference attribute gets added to the table with &lt;Null&gt; values:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"513\" height=\"247\" src=\"https:\/\/blogs.lincoln.ac.nz\/gis\/wp-content\/uploads\/sites\/3\/2024\/03\/DiffAtt.jpg\" alt=\"\" class=\"wp-image-4431\" srcset=\"https:\/\/blogs.lincoln.ac.nz\/gis\/wp-content\/uploads\/sites\/3\/2024\/03\/DiffAtt.jpg 513w, https:\/\/blogs.lincoln.ac.nz\/gis\/wp-content\/uploads\/sites\/3\/2024\/03\/DiffAtt-300x144.jpg 300w\" sizes=\"auto, (max-width: 513px) 100vw, 513px\" \/><\/figure>\n\n\n\n<p>Right-clicking on the Difference name and opting for <a href=\"https:\/\/pro.arcgis.com\/en\/pro-app\/latest\/tool-reference\/data-management\/calculate-field.htm\" target=\"_blank\" rel=\"noreferrer noopener\">Calculate Field<\/a> allows me to set up the subtraction:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"450\" height=\"474\" src=\"https:\/\/blogs.lincoln.ac.nz\/gis\/wp-content\/uploads\/sites\/3\/2024\/03\/CalcField1.jpg\" alt=\"\" class=\"wp-image-4432\" srcset=\"https:\/\/blogs.lincoln.ac.nz\/gis\/wp-content\/uploads\/sites\/3\/2024\/03\/CalcField1.jpg 450w, https:\/\/blogs.lincoln.ac.nz\/gis\/wp-content\/uploads\/sites\/3\/2024\/03\/CalcField1-285x300.jpg 285w\" sizes=\"auto, (max-width: 450px) 100vw, 450px\" \/><\/figure>\n\n\n\n<p>Clicking OK gets me the output:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"511\" height=\"307\" src=\"https:\/\/blogs.lincoln.ac.nz\/gis\/wp-content\/uploads\/sites\/3\/2024\/03\/DiffCalc.jpg\" alt=\"\" class=\"wp-image-4433\" srcset=\"https:\/\/blogs.lincoln.ac.nz\/gis\/wp-content\/uploads\/sites\/3\/2024\/03\/DiffCalc.jpg 511w, https:\/\/blogs.lincoln.ac.nz\/gis\/wp-content\/uploads\/sites\/3\/2024\/03\/DiffCalc-300x180.jpg 300w\" sizes=\"auto, (max-width: 511px) 100vw, 511px\" \/><\/figure>\n\n\n\n<p>Now I can use the symbology to map this difference.  Given that the values can range from some maximum through to some possibly negative minimum, I&#8217;ll use Graduated Colours in Symbology with only two classes:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"767\" src=\"https:\/\/blogs.lincoln.ac.nz\/gis\/wp-content\/uploads\/sites\/3\/2024\/03\/DifSym-1024x767.jpg\" alt=\"\" class=\"wp-image-4434\" srcset=\"https:\/\/blogs.lincoln.ac.nz\/gis\/wp-content\/uploads\/sites\/3\/2024\/03\/DifSym-1024x767.jpg 1024w, https:\/\/blogs.lincoln.ac.nz\/gis\/wp-content\/uploads\/sites\/3\/2024\/03\/DifSym-300x225.jpg 300w, https:\/\/blogs.lincoln.ac.nz\/gis\/wp-content\/uploads\/sites\/3\/2024\/03\/DifSym-768x575.jpg 768w, https:\/\/blogs.lincoln.ac.nz\/gis\/wp-content\/uploads\/sites\/3\/2024\/03\/DifSym.jpg 1094w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>For NZ it turns out that DRP_pred is greater than median DRP_curr for all cells, but that&#8217;s not true globally.  For some areas in central Africa, it&#8217;s different:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"527\" src=\"https:\/\/blogs.lincoln.ac.nz\/gis\/wp-content\/uploads\/sites\/3\/2024\/03\/CentralAf-1024x527.jpg\" alt=\"\" class=\"wp-image-4435\" srcset=\"https:\/\/blogs.lincoln.ac.nz\/gis\/wp-content\/uploads\/sites\/3\/2024\/03\/CentralAf-1024x527.jpg 1024w, https:\/\/blogs.lincoln.ac.nz\/gis\/wp-content\/uploads\/sites\/3\/2024\/03\/CentralAf-300x154.jpg 300w, https:\/\/blogs.lincoln.ac.nz\/gis\/wp-content\/uploads\/sites\/3\/2024\/03\/CentralAf-768x395.jpg 768w, https:\/\/blogs.lincoln.ac.nz\/gis\/wp-content\/uploads\/sites\/3\/2024\/03\/CentralAf.jpg 1264w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>My other option was to use an attribute with a sort of &#8220;dummy&#8221; variable that&#8217;s really just an indicator, such as using a 1 if DRP_pred is greater than mean DRP_curr and a 0 if it&#8217;s not.  To do this I&#8217;ll first create a new attribute as a short type called DRP Dummy (not being judgemental here&#8230;) as a Short type:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"570\" height=\"135\" src=\"https:\/\/blogs.lincoln.ac.nz\/gis\/wp-content\/uploads\/sites\/3\/2024\/03\/Dummy.jpg\" alt=\"\" class=\"wp-image-4437\" srcset=\"https:\/\/blogs.lincoln.ac.nz\/gis\/wp-content\/uploads\/sites\/3\/2024\/03\/Dummy.jpg 570w, https:\/\/blogs.lincoln.ac.nz\/gis\/wp-content\/uploads\/sites\/3\/2024\/03\/Dummy-300x71.jpg 300w\" sizes=\"auto, (max-width: 570px) 100vw, 570px\" \/><\/figure>\n\n\n\n<p>And here&#8217;s where the challenge came in.  My first plan was to do a <a href=\"https:\/\/pro.arcgis.com\/en\/pro-app\/3.1\/help\/mapping\/navigation\/select-features-using-attributes.htm\" target=\"_blank\" rel=\"noreferrer noopener\">Select by Attribute<\/a> to find the records that I wanted and then <a href=\"https:\/\/pro.arcgis.com\/en\/pro-app\/latest\/tool-reference\/data-management\/calculate-field.htm\" target=\"_blank\" rel=\"noreferrer noopener\">Calculate Field<\/a> to add the right value into DRP Dummy.  That actually won&#8217;t work.  Without using <a href=\"https:\/\/pro.arcgis.com\/en\/pro-app\/3.1\/help\/mapping\/navigation\/sql-reference-for-elements-used-in-query-expressions.htm\" target=\"_blank\" rel=\"noreferrer noopener\">SQL<\/a> (which is what Select by Attribute uses under the bonnet), queries only allow you to use attribute values rather than being able to compare values <em>between <\/em>attributes:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"873\" height=\"606\" src=\"https:\/\/blogs.lincoln.ac.nz\/gis\/wp-content\/uploads\/sites\/3\/2024\/03\/SbyANot.jpg\" alt=\"\" class=\"wp-image-4438\" srcset=\"https:\/\/blogs.lincoln.ac.nz\/gis\/wp-content\/uploads\/sites\/3\/2024\/03\/SbyANot.jpg 873w, https:\/\/blogs.lincoln.ac.nz\/gis\/wp-content\/uploads\/sites\/3\/2024\/03\/SbyANot-300x208.jpg 300w, https:\/\/blogs.lincoln.ac.nz\/gis\/wp-content\/uploads\/sites\/3\/2024\/03\/SbyANot-768x533.jpg 768w\" sizes=\"auto, (max-width: 873px) 100vw, 873px\" \/><\/figure>\n\n\n\n<p>So, gotta think of another approach.  I knew what I need was some sort of if&#8230;then approach, which led me to think about using the Calculate Field tool.  With that we can write mini-functions that can use Python or VBScript in a code block to do something special.  <\/p>\n\n\n\n<p>With a bit of trial and error, I settled on this:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"304\" height=\"515\" src=\"https:\/\/blogs.lincoln.ac.nz\/gis\/wp-content\/uploads\/sites\/3\/2024\/03\/Calc4.jpg\" alt=\"\" class=\"wp-image-4450\" srcset=\"https:\/\/blogs.lincoln.ac.nz\/gis\/wp-content\/uploads\/sites\/3\/2024\/03\/Calc4.jpg 304w, https:\/\/blogs.lincoln.ac.nz\/gis\/wp-content\/uploads\/sites\/3\/2024\/03\/Calc4-177x300.jpg 177w\" sizes=\"auto, (max-width: 304px) 100vw, 304px\" \/><\/figure>\n\n\n\n<p><em>(NB: in the Code Block I could have used different variable names for DRP_pred and mean_DRP_curr.)<\/em><\/p>\n\n\n\n<p>Decoding this, the DRP_dummy = Calc(!DRP_pred!, !mean_DRP_curr!) line means that the Calc function will need to use the values in the DRP_pred and mean_DRP_curr attributes to do its thing.<\/p>\n\n\n\n<p>Its thing is to use an if statement to test each record.  If DRP_pred is great than mean_DRP_curr, the add a 1 to DRP_dummy.  If it&#8217;s not (else), give it a zero.  <\/p>\n\n\n\n<p>Not a whole lot to it, but it does the trick.  When we run this, here&#8217;s the output:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"576\" height=\"341\" src=\"https:\/\/blogs.lincoln.ac.nz\/gis\/wp-content\/uploads\/sites\/3\/2024\/03\/DummyOutput2.jpg\" alt=\"\" class=\"wp-image-4451\" srcset=\"https:\/\/blogs.lincoln.ac.nz\/gis\/wp-content\/uploads\/sites\/3\/2024\/03\/DummyOutput2.jpg 576w, https:\/\/blogs.lincoln.ac.nz\/gis\/wp-content\/uploads\/sites\/3\/2024\/03\/DummyOutput2-300x178.jpg 300w\" sizes=\"auto, (max-width: 576px) 100vw, 576px\" \/><\/figure>\n\n\n\n<p>The vast majority of cells get a 1 but I cheated a little to show you that not all do.  <\/p>\n\n\n\n<p>Now I can use this to symbolise my data with Unique Values:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"557\" src=\"https:\/\/blogs.lincoln.ac.nz\/gis\/wp-content\/uploads\/sites\/3\/2024\/03\/DummySym-1024x557.jpg\" alt=\"\" class=\"wp-image-4442\" srcset=\"https:\/\/blogs.lincoln.ac.nz\/gis\/wp-content\/uploads\/sites\/3\/2024\/03\/DummySym-1024x557.jpg 1024w, https:\/\/blogs.lincoln.ac.nz\/gis\/wp-content\/uploads\/sites\/3\/2024\/03\/DummySym-300x163.jpg 300w, https:\/\/blogs.lincoln.ac.nz\/gis\/wp-content\/uploads\/sites\/3\/2024\/03\/DummySym-768x418.jpg 768w, https:\/\/blogs.lincoln.ac.nz\/gis\/wp-content\/uploads\/sites\/3\/2024\/03\/DummySym-1536x835.jpg 1536w, https:\/\/blogs.lincoln.ac.nz\/gis\/wp-content\/uploads\/sites\/3\/2024\/03\/DummySym.jpg 1615w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p><strong>Using Symbology<\/strong><\/p>\n\n\n\n<p>Both of the above require a bit of upfront work but the symbology is now hard-wired into the data itself.  I could send this layer to someone else and they could use these attributes to symbolise in a similar way.  (We could also use <a href=\"https:\/\/blogs.lincoln.ac.nz\/gis\/save-your-marriage-use-layer-files\/\" target=\"_blank\" rel=\"noreferrer noopener\">some layer files<\/a>&#8230;)  <\/p>\n\n\n\n<p>The third option was to use straight symbology without making any changes to the data.  I&#8217;ve got a lot of options for symbology &#8211; for this I used Uniqe Values:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"395\" height=\"495\" src=\"https:\/\/blogs.lincoln.ac.nz\/gis\/wp-content\/uploads\/sites\/3\/2024\/03\/Sym1.jpg\" alt=\"\" class=\"wp-image-4443\" srcset=\"https:\/\/blogs.lincoln.ac.nz\/gis\/wp-content\/uploads\/sites\/3\/2024\/03\/Sym1.jpg 395w, https:\/\/blogs.lincoln.ac.nz\/gis\/wp-content\/uploads\/sites\/3\/2024\/03\/Sym1-239x300.jpg 239w\" sizes=\"auto, (max-width: 395px) 100vw, 395px\" \/><\/figure>\n\n\n\n<p>When that window opens, notice the wee function button at the right hand side of Field<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"334\" height=\"197\" src=\"https:\/\/blogs.lincoln.ac.nz\/gis\/wp-content\/uploads\/sites\/3\/2024\/03\/Sym5-1.png\" alt=\"\" class=\"wp-image-4453\" srcset=\"https:\/\/blogs.lincoln.ac.nz\/gis\/wp-content\/uploads\/sites\/3\/2024\/03\/Sym5-1.png 334w, https:\/\/blogs.lincoln.ac.nz\/gis\/wp-content\/uploads\/sites\/3\/2024\/03\/Sym5-1-300x177.png 300w\" sizes=\"auto, (max-width: 334px) 100vw, 334px\" \/><\/figure>\n\n\n\n<p>Clicking that allows me to write a custom function to use:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"401\" height=\"551\" src=\"https:\/\/blogs.lincoln.ac.nz\/gis\/wp-content\/uploads\/sites\/3\/2024\/03\/Exp.jpg\" alt=\"\" class=\"wp-image-4446\" srcset=\"https:\/\/blogs.lincoln.ac.nz\/gis\/wp-content\/uploads\/sites\/3\/2024\/03\/Exp.jpg 401w, https:\/\/blogs.lincoln.ac.nz\/gis\/wp-content\/uploads\/sites\/3\/2024\/03\/Exp-218x300.jpg 218w\" sizes=\"auto, (max-width: 401px) 100vw, 401px\" \/><\/figure>\n\n\n\n<p>Then, setting the number of classes to 2 lets me symbolise things in a non-permanent way:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"337\" src=\"https:\/\/blogs.lincoln.ac.nz\/gis\/wp-content\/uploads\/sites\/3\/2024\/03\/Sym2-1024x337.jpg\" alt=\"\" class=\"wp-image-4447\" srcset=\"https:\/\/blogs.lincoln.ac.nz\/gis\/wp-content\/uploads\/sites\/3\/2024\/03\/Sym2-1024x337.jpg 1024w, https:\/\/blogs.lincoln.ac.nz\/gis\/wp-content\/uploads\/sites\/3\/2024\/03\/Sym2-300x99.jpg 300w, https:\/\/blogs.lincoln.ac.nz\/gis\/wp-content\/uploads\/sites\/3\/2024\/03\/Sym2-768x253.jpg 768w, https:\/\/blogs.lincoln.ac.nz\/gis\/wp-content\/uploads\/sites\/3\/2024\/03\/Sym2-1536x506.jpg 1536w, https:\/\/blogs.lincoln.ac.nz\/gis\/wp-content\/uploads\/sites\/3\/2024\/03\/Sym2.jpg 1624w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>So, three ways of doing the same thing.  You may well ask, well, <s><a href=\"https:\/\/www.youtube.com\/watch?v=5IsSpAOD6K8\" target=\"_blank\" rel=\"noreferrer noopener\">how did I get here?<\/a><\/s> which one should I use?<\/p>\n\n\n\n<p>My response would be two-fold: it depends on what you&#8217;re comfortable with and whether you want to make the symbology a permanent part of the data.  With GIS it&#8217;s often the case that you can do the same thing in multiple ways, and a practical thought is which way is the most elegant or efficient way.  Personally, I&#8217;d rather make it permanent, and I quite liked using code here to do it, but that&#8217;s just me.  It seemed like a good use of my time.<\/p>\n\n\n\n<p>So what next for these data?  These layers ended up on a webmap which my colleagues could then review and formulate some next steps, which you might hear about in another post.<\/p>\n\n\n\n<p>C <\/p>\n","protected":false},"excerpt":{"rendered":"<p>Three different ways of mapping some dissolved reactive phosphorus data are covered. Some of our recent work in pulling together a set of global datasets is beginning to bear fruit. Over the next few posts, I&#8217;ll go into excruciating detail on how the datasets were pulled together and the analysis results mapped. Along with nitrogen, [&hellip;]<\/p>\n","protected":false},"author":3,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-4426","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"https:\/\/blogs.lincoln.ac.nz\/gis\/wp-json\/wp\/v2\/posts\/4426","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blogs.lincoln.ac.nz\/gis\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blogs.lincoln.ac.nz\/gis\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blogs.lincoln.ac.nz\/gis\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/blogs.lincoln.ac.nz\/gis\/wp-json\/wp\/v2\/comments?post=4426"}],"version-history":[{"count":6,"href":"https:\/\/blogs.lincoln.ac.nz\/gis\/wp-json\/wp\/v2\/posts\/4426\/revisions"}],"predecessor-version":[{"id":4456,"href":"https:\/\/blogs.lincoln.ac.nz\/gis\/wp-json\/wp\/v2\/posts\/4426\/revisions\/4456"}],"wp:attachment":[{"href":"https:\/\/blogs.lincoln.ac.nz\/gis\/wp-json\/wp\/v2\/media?parent=4426"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blogs.lincoln.ac.nz\/gis\/wp-json\/wp\/v2\/categories?post=4426"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blogs.lincoln.ac.nz\/gis\/wp-json\/wp\/v2\/tags?post=4426"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}