blog.rtwilson.comRobin's Blog

blog.rtwilson.com Profile

Blog.rtwilson.com is a subdomain of rtwilson.com, which was created on 2010-05-28,making it 14 years ago. It has several subdomains, such as pyrrha.rtwilson.com freegisdata.rtwilson.com , among others.

Discover blog.rtwilson.com website stats, rating, details and status online.Use our online tools to find owner and admin contact info. Find out where is server located.Read and write reviews or vote to improve it ranking. Check alliedvsaxis duplicates with related css, domain relations, most used words, social networks references. Go to regular site

blog.rtwilson.com Information

HomePage size: 112.217 KB
Page Load Time: 0.514198 Seconds
Website IP Address: 173.236.139.165

blog.rtwilson.com Similar Website

RV and Travel Blog - RV Blog - Camping World Blog
blog.campingworld.com
ISO50 Blog – The Blog of Scott Hansen (Tycho / ISO50) » The blog of Scott Hansen (aka ISO50 / Tycho)
blog.iso50.com
RHDJapan Blog - Blog on JDM news, racing, drifting and thoughts from OsakaRHDJapan Blog
blog.rhdjapan.com
Robin Philips - NP Dodge Real Estate
robinphilips.npdodge.com
World of Fizz by Robin M. Blake
fergoandenrique.comicgenesis.com
Research and Evidence - Robin Hood
povertytracker.robinhood.org
Robin Terhune Photography
weddings.robinterhune.com
The Robin Shepherd Group Login
trsg.appwright.com
Robin Hill Farm – A Unique Living environment for adults with brain Injury
beta.robinhillfarm.com
Red Robin - Online Ordering
stg.redrobin.com
Robin Wiseman
robinwiseman.metrobrokers.com
Rezoomo Blog | Recruitment Blog | HR Blog | Career Blog
blog.rezoomo.com
Robin's Blog · the accounting
blog.rotki.com
Topazbtowner | Riddler Batman And Robin Interesting Funny Riddles
topaz.robtowner.com

blog.rtwilson.com PopUrls

Robin's Blog
https://blog.rtwilson.com/
Archive - Robin's Blog
https://blog.rtwilson.com/archive/
My geospatial PDF talk at FOSS4G 2021 - Robin's Blog
https://blog.rtwilson.com/page/2/
Programming - Robin's Blog
https://blog.rtwilson.com/programming/
Academic - Robin's Blog
https://blog.rtwilson.com/category/academic/
Blogroll - Robin's Blog
https://blog.rtwilson.com/blogroll/
A Python sqlite3 context manager gotcha - Robin's Blog
https://blog.rtwilson.com/page/3/
Computing - Robin's Blog
https://blog.rtwilson.com/category/computing/
Deprecating AutoZotBib - Robin's Blog
https://blog.rtwilson.com/deprecating-autozotbib/
Some easy recipes « Robin's Blog
https://blog.rtwilson.com/some-easy-recipes/
Windows « Robin's Blog
https://blog.rtwilson.com/category/computing/windows/
Home Automation « Robin's Blog
https://blog.rtwilson.com/category/home-automation/
Remote Sensing « Robin's Blog
https://blog.rtwilson.com/category/academic/remote-sensing/
Conda revisions: letting you 'rollback' to a previous version of your ...
https://blog.rtwilson.com/conda-revisions-letting-you-rollback-to-a-previous-version-of-your-environment/
'Got multiple values for argument' error with keyword arguments in ...
https://blog.rtwilson.com/got-multiple-values-for-argument-error-with-keyword-arguments-in-python-classes/

blog.rtwilson.com Httpheader

Date: Sat, 11 May 2024 19:53:18 GMT
Server: Apache
Link: https://blog.rtwilson.com/wp-json/; rel="https://api.w.org/"
Upgrade: h2
Connection: Upgrade
Cache-Control: max-age=600
Expires: Sat, 11 May 2024 20:03:18 GMT
Vary: Accept-Encoding,User-Agent
Transfer-Encoding: chunked
Content-Type: text/html; charset=UTF-8

blog.rtwilson.com Meta Info

content="text/html; charset=utf-8" http-equiv="Content-Type"/
content="max-image-preview:large" name="robots"/
content="WordPress 6.5.3" name="generator"/

blog.rtwilson.com Ip Information

Ip Country: United States
Latitude: 37.751
Longitude: -97.822

blog.rtwilson.com Html To Plain Text

New Projects page on my website May 9, 2024 Just a quick post here to say that I’ve added a new Projects page to my freelance website . I realised I didn’t have anywhere online that I could point people to that had links to all of the ‘non-work’ (maybe that should be ‘non-paid’) projects I’ve made. These projects include my Free GIS Data site , the British Placename Mapper , Py6S and more. I’ve also put together a separate page (linked from the projects page) with all my university theses (PhD, MSc and undergraduate) and other university work – which still get a remarkably high number of downloads. Have a look here , or see a screenshot of the first few entries below: Share your thoughts Simple segmentation of geospatial images May 7, 2024 I had a need to do some segmentation of some satellite imagery the other day, for a client. Years ago I was quite experienced at doing segmentation and classification using eCognition but that was using the university’s license, and I don’t have a license myself (and they’re very expensive). So, I wanted a free solution. First, however, let’s talk a little bit about what segmentation is (thanks to Sonya in the comments for pointing out that I didn’t cover this!). Segmentation is a way of splitting an image up into groups of adjacent pixels (‘segments’ or ‘objects’) that ‘look right’ and, ideally, represent objects in the image. For example, an image of cells from a microscope might be segmented into individual cells, or individual organelles inside the cell (depending on the scale), a satellite image might be segmented into fields, clumps of urban area or individual buildings/swimming pools/driveways – again, depending on the scale. Segmentation uses properties of the image (like colour, texture, sharp lines etc) to try and identify these segments. Once you’ve segmented an image, you can then do things with the segments – for example, you can classify each segment into a different category (building, road, garden, lake). This is often easier than classifying individual pixels, as you have group statistics about the segment (not just ‘value in the red band’, but a whole histogram of values in the red band, plus mean, median, max etc, plus texture measures and more). Sometimes you may want to use the segment outlines themselves as part of your output (eg. as building outlines), other times they are just used as a way of doing something else (like classification). This whole approach to image processing is often known as Object-based Image Analysis. There are various segmentation tools in the scikit-image library, but I’ve often struggled using them on satellite or aerial imagery – the algorithms seem better suited to images with a clear foreground and background. Luckily, I remembered RSGISLib – a very comprehensive library of remote sensing and GIS functions. I last used it many years ago, when most of the documentation was for using it from C++, and installation was a pain. I’m very pleased to say that installation is nice and easy now, and all of the examples are in Python. So, doing segmentation – using an algorithm specifically designed for segmenting satellite/aerial images – is actually really easy now. Here’s how: First, install RSGISLib. By far the easiest way is to use conda, but there is further documentation on other installation methods, and there are Docker containers available. conda install -c conda-forge rsgislib Then it’s a simple matter of calling the relevant function from Python. The documentation shows the segmentation functions available, and the one you’re most likely to want to use is the Shepherd segmentation algorithm, which is described in this paper ). So, to call it, run something like this: from rsgislib.segmentation.shepherdseg import run_shepherd_segmentation run_shepherd_segmentation(input_image, output_seg_image, gdalformat=’GTiff’, calc_stats=False, num_clusters=20, min_n_pxls=300) The parameters are fairly self-explanatory – it will take the input_image filename (any GDAL-supported format will work), produce an output in output_seg_image filename in the gdalformat given. The calc_stats parameter is important if you’re using a format like GeoTIFF, or any format that doesn’t support a Raster Attribute Table (these are mostly supported by somewhat more unusual formats like KEA ). You’ll need to set it to False if your format doesn’t support RATs – and I found that if I forgot to set it to false then the script crashed when trying to write stats. The final two parameters control how the segmentation algorithm itself works. I’ll leave you to read the paper to find out the details, but the names are fairly self-explanatory. The output of the algorithm will look something like this: It’s a raster where the value of all the pixels in the first segment are 1, the pixels in the second segment are 2, and so on. The image above uses a greyscale ‘black to white’ colormap, so as the values of the segments increase towards the bottom of the image, they show as more white. You can convert this raster output to a set of vector polygons, one for each segment, by using any standard raster to vector ‘polygonize’ algorithm. The easiest is probably using GDAL, by running a command like: gdal_polygonize.py SegRaster.tif SegVector.gpkg This will give you a result that looks like the red lines on this image: So, there’s a simple way of doing satellite image segmentation in Python. I hope it was useful. 4 Comments What’s the largest building in Southampton? Find out with 5 lines of code April 30, 2024 Recently I became suddenly curious about the sizes of buildings in Southampton, UK, where I live. I don’t know what triggered this sudden curiosity, but I wanted to know what the largest buildings in Southampton are. In this context, I’m using largest” to mean largest in terms of land area covered – ie. the area of the outline when viewed in plan view. Luckily I know eful sources of geographic data, and also know how to use GeoPandas , so I could answer this question pretty quickly – in fact, in only five lines of code. I’ll take you through this code below, as an example of a very simple GIS analysis. First I needed to get hold of the data. I know Ordnance Survey release data on buildings in Great Britain, but to make this even easier we can go to Alastair Rae’s website where he has split the OS data up into Local Authority areas. We need to download the buildings data for Southampton, so we go here and download a GeoPackage file. Then we need to create a Python environment to do the analysis in. You can do this in various ways – with virtualenvs, conda environments or whatever – but you just need to ensure that Jupyter and GeoPandas are installed. Then create a new notebook and you’re ready to start coding. First, we import geopandas: import geopandas as gpd and then load the buildings data: buildings = gpd.read_file("Southampton_buildings.gpkg") The buildings GeoDataFrame has a load of polygon geometries, one for each building. We can calculate the area of a polygon with the .area property – so to create a new ‘area’ column in the GeoDataFrame we can run: buildings[’area’] = buildings.geometry.area I’m only interested in the largest buildings, so we can now sort by this new area column, and take the first twenty entries: top20 = buildings.sort_values(’area’, ascending=False).head(20) We can then use the lovely explore function to show these buildings on a map. This will load an interactive map in the Jupyter notebook: top20.explore() If you’d like to save the interactive map to a standalone HTML file then you can do this instead: top20.explore().save(map.html”) I’ve done that, and uploaded that HTML file to my website – and you can view it here . So, putting all the code together, we have: import geopandas as gpd buildings = gpd.read_file("Southampton_buildings.gpkg") buildings[’area’] = buildings.geometry.area top20 = buildings.sort_values(’area’, ascending=False).head(20) top20.explore()...

blog.rtwilson.com Whois

Domain Name: RTWILSON.COM Registry Domain ID: 1599589926_DOMAIN_COM-VRSN Registrar WHOIS Server: whois.dreamhost.com Registrar URL: http://www.DreamHost.com Updated Date: 2024-04-20T11:57:52Z Creation Date: 2010-05-28T21:08:47Z Registry Expiry Date: 2025-05-28T21:08:47Z Registrar: DreamHost, LLC Registrar IANA ID: 431 Domain Status: clientTransferProhibited https://icann.org/epp#clientTransferProhibited Name Server: NS1.DREAMHOST.COM Name Server: NS2.DREAMHOST.COM Name Server: NS3.DREAMHOST.COM DNSSEC: unsigned >>> Last update of whois database: 2024-05-17T13:59:22Z <<<