Skip to content

Instantly share code, notes, and snippets.

View bradbrowne's full-sized avatar

Brad Browne bradbrowne

  • Melbourne, Australia
View GitHub Profile
@bradbrowne
bradbrowne / configure-ogr-linqpad.cs
Created November 21, 2012 04:44
Configure OGR for C# in LINQPad
void Main()
{
Configure();
for (int i = 0; i < OSGeo.OGR.Ogr.GetDriverCount(); i++)
{
OSGeo.OGR.Ogr.GetDriver(i).Dump();
}
}
@bradbrowne
bradbrowne / export-shapefile-from-sql-server.cmd
Last active September 30, 2020 06:23
Export Shapefile from SQL Server using ogr2ogr
ogr2ogr -f "ESRI Shapefile" "PROPERTY_VIEW.shp" "MSSQL:server=.;database=Flux;tables=vmprop.PROPERTY_VIEW;trusted_connection=yes" -t_srs EPSG:28355 -sql "SELECT [PFI],[SP_GEOMETRY] FROM [vmprop].[PROPERTY_VIEW]" -overwrite
@bradbrowne
bradbrowne / create-spatial-index-on-esri-shapefile-using-ogrinfo.cmd
Last active September 23, 2022 19:37
Create Spatial Index on Esri Shapefile using ogrinfo
ogrinfo -sql "CREATE SPATIAL INDEX ON PROPERTY_VIEW" "PROPERTY_VIEW.shp"
@bradbrowne
bradbrowne / create-attribute-index-on-esri-shapefile-using-ogrinfo.cmd
Created July 22, 2015 05:27
Create attribute index on Esri Shapefile using ogrinfo
ogrinfo -sql "DROP INDEX ON PROPERTY_VIEW" "PROPERTY_VIEW.shp"
ogrinfo -sql "CREATE INDEX ON PROPERTY_VIEW USING PFI" "PROPERTY_VIEW.shp"
const string epsgPath =
@"C:\Flux\Bin\release-1500-x64-gdal-1-11-1-mapserver-6-4-1\bin\proj\SHARE\epsg";
readonly static IEnumerable<string> EpsgLines = File.ReadLines(epsgPath);
List<int> GetEpsgFromProj4(string proj4)
{
var pattern = new Regex("<(\\d+)>");
return EpsgLines
.Where(x => x.Contains(proj4))
.Select(text => int.Parse(pattern.Match(text).Groups[1].Value)).ToList();
}
GetEpsgFromProj4(
"+proj=utm +zone=55 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
5551
28355
MAP
DEFRESOLUTION 96
EXTENT 318976.415 5794580.85470479 340483.86 5822197.32929521
FONTSET "C:\\Program Files (x86)\\MapManager20\\templates\\font.list"
IMAGETYPE "png24"
NAME "MS"
RESOLUTION 96
PIXELADJUSTMENT 0
SHAPEPATH "C:\\IntraMaps\Data\Stonnington"
SIZE 940 1207
MAP
...
SHAPEPATH "C:\\IntraMaps\Data\Stonnington"
SIZE 940 1207
STATUS ON
SYMBOLSET "C:\\Program Files (x86)\\MapManager20\\templates\\symbols.sym"
UNITS METERS
...
LAYER
DATA PROPERTY_VIEW
@bradbrowne
bradbrowne / nearest-line-to-polygon.sql
Last active September 28, 2015 07:26
Nearest Line to Polygon
with distance_cte AS
(
SELECT
pv.PFI AS pr_view_pfi,
tr.PFI AS tr_pfi,
pv.SP_GEOMETRY.STDistance(tr.SP_GEOMETRY) AS distance,
RANK() OVER (PARTITION BY pv.pfi ORDER BY pv.SP_GEOMETRY.STDistance(tr.SP_GEOMETRY)) AS rank_distance
FROM Flux.vmprop.PROPERTY_VIEW AS pv, Flux.vmtrans.TR_ROAD AS tr
--WHERE pv.pfi = 173589345
)