Skip to content

Commit

Permalink
Initial add. Modify licence to EUPL.
Browse files Browse the repository at this point in the history
  • Loading branch information
laurentg committed Dec 24, 2014
1 parent b007ff4 commit 7105cb6
Show file tree
Hide file tree
Showing 10 changed files with 640 additions and 352 deletions.
14 changes: 2 additions & 12 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,12 +1,2 @@
*.class

# Mobile Tools for Java (J2ME)
.mtj.tmp/

# Package Files #
*.jar
*.war
*.ear

# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml
hs_err_pid*
/bin
/build
340 changes: 0 additions & 340 deletions LICENSE

This file was deleted.

Binary file added LICENSE.pdf
Binary file not shown.
22 changes: 22 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,3 +2,25 @@ insee-200m-extract
==================

Extracteur de données INSEE carroyées 200m au format GeoTiff / CSV

Ce programme extrait une partie des données carroyées 200m
publiées par l'INSEE, au format GeoTiff et/ou CSV.

Ce programme est un logiciel libre (licence EUPL v.1.1)
développé par Mecatran pour le compte du DREAL PACA.
Pour plus d'information sur la licence,
[veuillez consulter cette page](https://joinup.ec.europa.eu/software/page/eupl/licence-eupl).

Les données des rectangles sont fusionnées aux carrés selon
la méthode préconisée par l'INSEE (voir méthodologie en ligne).

Deux formats sont disponibles: GeoTIFF ou CSV.
En GeoTiff, le CRS est celui des données sources (EPSG:3035).
En CSV, il est possible de choisir le CRS de sortie.

Les variables disponibles sont celles des données publiées (population, ages, revenus, mégages...)
Elles sont disponibles en sortie à la fois sous forme de somme
sur un carreau (suffixe 'sum') et normalisé par individu ou ménage (suffixe 'norm').

Pour plus d'information sur les variables disponibles,
[veuillez consulter cette page](http://www.insee.fr/fr/themes/detail.asp?reg_id=0&ref_id=donnees-carroyees).
43 changes: 43 additions & 0 deletions build.gradle
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
apply plugin: 'java'
apply plugin: 'eclipse'
apply plugin: 'application'

version = "0.1"
mainClassName = "com.mecatran.insee.extract.Main"

repositories {
// Warning -- GeoTools repo should be defined
// BEFORE Maven central, otherwise jai-core is
// not found. To check out why, please see:
// https://issues.gradle.org/browse/GRADLE-2395
maven {
// GeoTools (CRS conversion)
url "http://download.osgeo.org/webdav/geotools/"
}
mavenCentral()
maven {
// dans-dbf-lib (dBase reader)
url "http://matsim.org/m2repo"
}
}

dependencies {
// dans-dbf dBase lib has a cleaner interface, but is 10x slower than xBaseJ...
// compile 'nl.knaw.dans.common:dans-dbf-lib:1.0.0-beta-07'
compile 'org.xBaseJ:xbasej:20091203'
compile 'org.geotools:gt-epsg-hsql:12.1'
compile 'org.geotools:gt-geotiff:12.1'
compile 'com.beust:jcommander:1.30'
compile 'org.apache.commons:commons-csv:1.0'
}

task "create-dirs" << {
sourceSets*.java.srcDirs*.each { it.mkdirs() }
sourceSets*.resources.srcDirs*.each { it.mkdirs() }
}

jar {
manifest {
attributes 'Implementation-Version': version
} }

35 changes: 35 additions & 0 deletions src/main/java/com/mecatran/insee/extract/CRSUtils.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
/*
* This software is released under the European Union Public Licence (EUPL v.1.1).
* https://joinup.ec.europa.eu/software/page/eupl/licence-eupl
*
* Copyright (c) 2015 Mecatran / DREAL PACA
*/
package com.mecatran.insee.extract;

import org.geotools.geometry.DirectPosition2D;
import org.opengis.geometry.DirectPosition;
import org.opengis.referencing.crs.CoordinateReferenceSystem;

public class CRSUtils {

/**
* @param sourceCRS
* The source CRS (Currently only EPSG:3035)
* @param strCoord
* The coordinate in string format (NyyyyyExxxxx)
* @return
*/
public static DirectPosition parseCRS(CoordinateReferenceSystem sourceCRS,
String strCoord) {
String crsCode = sourceCRS.getName().getCode();
if (!crsCode.equals("ETRS89 / LAEA Europe"))
throw new UnsupportedOperationException();
String northStr = strCoord.substring(strCoord.indexOf('N') + 1,
strCoord.indexOf('E'));
String eastStr = strCoord.substring(strCoord.indexOf('E') + 1,
strCoord.length());
double north = Integer.parseInt(northStr);
double east = Integer.parseInt(eastStr);
return new DirectPosition2D(sourceCRS, east, north);
}
}
32 changes: 32 additions & 0 deletions src/main/java/com/mecatran/insee/extract/Carreau.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
/*
* This software is released under the European Union Public Licence (EUPL v.1.1).
* https://joinup.ec.europa.eu/software/page/eupl/licence-eupl
*
* Copyright (c) 2015 Mecatran / DREAL PACA
*/
package com.mecatran.insee.extract;

import org.geotools.coverage.grid.GridCoordinates2D;
import org.opengis.geometry.DirectPosition;

public class Carreau {

/* Position in data CRS (EPSG:3035) */
public DirectPosition position;

public GridCoordinates2D gridPosition;

/* Carreau ID */
public String id;

/* Rectangle ID */
public String idRect;

public float nbIndividus;

public float nbMenages;

public float[] varsSummed;
public float[] varsNormalized;

}
Loading

0 comments on commit 7105cb6

Please sign in to comment.