Skip to content

Instantly share code, notes, and snippets.

Avatar
🏠
Working from home

Ian Turton ianturton

🏠
Working from home
View GitHub Profile
@ianturton
ianturton / NullIslands.java
Created Nov 19, 2020
Simple GeoTools code to generate the Null Island archipelago
View NullIslands.java
package com.ianturton.cookbook.projections;
import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Collection;
import java.util.HashSet;
import java.util.Set;
import org.apache.commons.cli.CommandLine;
@ianturton
ianturton / OSGridTest.java
Created Apr 20, 2020
OS Grid Reference conversion
View OSGridTest.java
package spike;
import static org.junit.Assert.assertEquals;
import org.junit.Test;
import org.locationtech.jts.geom.Coordinate;
public class OSGridrefTest {
@Test
@ianturton
ianturton / README.md
Last active Oct 19, 2019
Python for finding the minimum number of place names to fill the alphabet
View README.md

Once I asked a question on gis.stackexchange.com which lead to a chunk of the UK academic production being lost for the day. But anyway we decided that we needed to vectorise the font typeface.

This led me to think about how many towns (or county boroughs) we actually needed to get all the letters of the alphabet, this code answers the question - 6. 'Newcastle upon Tyne', 'Wolverhampton', 'Kingston upon Hull', 'West Bromwich', 'Merthyr Tydfil', 'Halifax' Provided that you don't care about J, Q & Z!

Update

@ianturton
ianturton / UpdateByPolygon.java
Created Jan 9, 2018
A basic and inefficient program to replace a polygon's area in a raster with a new value using GeoTools.
View UpdateByPolygon.java
package com.ianturton.cookbook.raster;
import java.awt.image.WritableRaster;
import java.io.File;
import java.io.IOException;
import javax.media.jai.RasterFactory;
import org.geotools.coverage.CoverageFactoryFinder;
import org.geotools.coverage.grid.GridCoordinates2D;
View sld-population
<?xml version="1.0" encoding="UTF-8"?>
<StyledLayerDescriptor version="1.0.0" xmlns="http://www.opengis.net/sld" xmlns:ogc="http://www.opengis.net/ogc"
xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:gml="http://www.opengis.net/gml"
xsi:schemaLocation="http://www.opengis.net/sld http://schemas.opengis.net/sld/1.0.0/StyledLayerDescriptor.xsd">
<NamedLayer>
<Name>USA states population</Name>
<UserStyle>
<Name>population</Name>
<Title>Population in the United States</Title>
<Abstract>A sample filter that filters the United States into three
@ianturton
ianturton / install.sh
Last active Sep 4, 2017
Installing ZooWPS on Ubuntu
View install.sh
# install mandatory libs etc
sudo apt-get install autoconf
sudo apt-get install gettext
sudo apt-get install curl
sudo apt-get autoremove
sudo apt-get install fastcgi
sudo apt-get install libfcgi libfcgi-dev
sudo apt-get install libapache2-mod-fastcgi
sudo apt-get install flex bison
sudo apt-get install libxml2 libxml2-dev
@ianturton
ianturton / CellTower.java
Last active Nov 18, 2020
GeoTools program to calculate a wedge shaped polygon 10 degrees wide given a lat,lon radius and azimuth.
View CellTower.java
package spike;
import java.awt.geom.Point2D;
import java.util.ArrayList;
import org.geotools.referencing.GeodeticCalculator;
import org.geotools.referencing.crs.DefaultGeographicCRS;
import com.vividsolutions.jts.geom.Coordinate;
import com.vividsolutions.jts.geom.GeometryFactory;
@ianturton
ianturton / GenerateRandomData.java
Created Jul 20, 2016
A simple class to create random test data with GeoTools
View GenerateRandomData.java
package com.ianturton.cookbook.utilities;
import java.util.ArrayList;
import org.geotools.feature.simple.SimpleFeatureBuilder;
import org.opengis.feature.simple.SimpleFeature;
import org.opengis.feature.simple.SimpleFeatureType;
import com.vividsolutions.jts.geom.Coordinate;
import com.vividsolutions.jts.geom.GeometryFactory;
View RasterViewer.java
package com.ianturton.cookbook.raster;
import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import org.geotools.coverage.GridSampleDimension;
import org.geotools.coverage.grid.GridCoverage2D;
import org.geotools.coverage.grid.io.AbstractGridCoverage2DReader;
View pom.xml
<?xml version="1.0"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.ianturton.cookbook</groupId>
<artifactId>modules</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>Cookbook</name>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<geotools.version>15-SNAPSHOT</geotools.version>
You can’t perform that action at this time.