revision-diff.txt (3.6 KB)
[Branch ~dhis2-devs-core/dhis2/trunk] Rev 1887: Added latitude, longitude, polygoncoordinates to dxf
------------------------------------------------------------
revno: 1887
committer: Lars <larshelg@larshelg-laptop>
branch nick: trunk
timestamp: Wed 2010-05-19 11:48:29 +0200
message:
Added latitude, longitude, polygoncoordinates to dxf
Happy to see this. I have been thinking that we don't really need
latitude and longitude when we have the coordinates, but that we need
a type field instead. The reason is that for GeoJSON generation we
need to support POINT, POLYGON and MULTIPOLYGON, and it make sense to
have these directly in the database. I have been experimenting a bit
with this lately, and it works great, but I was forced to store the
type in the geocode field.
That being said, we may also consider having more than one coordinate
field, for different levels of detail, though I'm afraid that can
easily get messy.
Knut
···
On Wed, May 19, 2010 at 11:50 AM, <noreply@launchpad.net> wrote:
modified:
dhis-2/dhis-services/dhis-service-importexport/src/main/java/org/hisp/dhis/importexport/dxf/converter/OrganisationUnitConverter.java
dhis-2/dhis-support/dhis-support-jdbc/src/main/java/org/hisp/dhis/jdbc/batchhandler/OrganisationUnitBatchHandler.java--
lp:dhis2
trunk : Code : DHISYour team DHIS 2 developers is subscribed to branch lp:dhis2.
To unsubscribe from this branch go to OpenID transaction in progress=== modified file 'dhis-2/dhis-services/dhis-service-importexport/src/main/java/org/hisp/dhis/importexport/dxf/converter/OrganisationUnitConverter.java'
--- dhis-2/dhis-services/dhis-service-importexport/src/main/java/org/hisp/dhis/importexport/dxf/converter/OrganisationUnitConverter.java 2010-04-12 21:23:33 +0000
+++ dhis-2/dhis-services/dhis-service-importexport/src/main/java/org/hisp/dhis/importexport/dxf/converter/OrganisationUnitConverter.java 2010-05-19 09:48:29 +0000
@@ -65,6 +65,9 @@
private static final String FIELD_ACTIVE = "active";
private static final String FIELD_COMMENT = "comment";
private static final String FIELD_GEO_CODE = "geoCode";
+ private static final String FIELD_POLYGON_COORDINATES = "polygonCoordinates";
+ private static final String FIELD_LATITUDE = "latitude";
+ private static final String FIELD_LONGITUDE = "longitude";
private static final String FIELD_LAST_UPDATED = "lastUpdated";// \-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-
@@ -123,6 +126,9 @@
writer.writeElement( FIELD_ACTIVE, String.valueOf( unit.isActive() ) );
writer.writeElement( FIELD_COMMENT, unit.getComment() );
writer.writeElement( FIELD_GEO_CODE, unit.getGeoCode() );
+ writer.writeElement( FIELD_POLYGON_COORDINATES, unit.getPolygonCoordinates() );
+ writer.writeElement( FIELD_LATITUDE, unit.getLatitude() );
+ writer.writeElement( FIELD_LONGITUDE, unit.getLongitude() );
writer.writeElement( FIELD_LAST_UPDATED, DateUtils.getMediumDateString( unit.getLastUpdated(), EMPTY ) );writer\.closeElement\(\);
@@ -150,6 +156,9 @@
unit.setActive( Boolean.parseBoolean( values.get( FIELD_ACTIVE ) ) );
unit.setComment( values.get( FIELD_COMMENT ) );
unit.setGeoCode( values.get( FIELD_GEO_CODE ) );
+ unit.setPolygonCoordinates( values.get( FIELD_POLYGON_COORDINATES ) );
+ unit.setLatitude( values.get( FIELD_LATITUDE ) );
+ unit.setLongitude( values.get( FIELD_LONGITUDE ) );
unit.setLastUpdated( DateUtils.getMediumDate( values.get( FIELD_LAST_UPDATED ) ) );NameMappingUtil\.addOrganisationUnitMapping\( unit\.getId\(\), unit\.getName\(\) \);
=== modified file 'dhis-2/dhis-support/dhis-support-jdbc/src/main/java/org/hisp/dhis/jdbc/batchhandler/OrganisationUnitBatchHandler.java'
--- dhis-2/dhis-support/dhis-support-jdbc/src/main/java/org/hisp/dhis/jdbc/batchhandler/OrganisationUnitBatchHandler.java 2010-04-12 21:23:33 +0000
+++ dhis-2/dhis-support/dhis-support-jdbc/src/main/java/org/hisp/dhis/jdbc/batchhandler/OrganisationUnitBatchHandler.java 2010-05-19 09:48:29 +0000
@@ -95,6 +95,7 @@
statementBuilder.setColumn( "active" );
statementBuilder.setColumn( "comment" );
statementBuilder.setColumn( "geocode" );
+ statementBuilder.setColumn( "polygoncoordinates" );
statementBuilder.setColumn( "latitude" );
statementBuilder.setColumn( "longitude" );
statementBuilder.setColumn( "lastUpdated" );
@@ -113,6 +114,7 @@
statementBuilder.setValue( unit.isActive() );
statementBuilder.setValue( unit.getComment() );
statementBuilder.setValue( unit.getGeoCode() );
+ statementBuilder.setValue( unit.getPolygonCoordinates() );
statementBuilder.setValue( unit.getLatitude() );
statementBuilder.setValue( unit.getLongitude() );
statementBuilder.setValue( unit.getLastUpdated() );_______________________________________________
Mailing list: https://launchpad.net/~dhis2-devs
Post to : dhis2-devs@lists.launchpad.net
Unsubscribe : https://launchpad.net/~dhis2-devs
More help : https://help.launchpad.net/ListHelp
--
Cheers,
Knut Staring
I think this is a good step in the right direction,but should be
considered still, an interim solution. There are limitations (for
instance the specification of the coordinate system) which points to a
need to a more generic object model. There are some better
alternatives (GML for instance) in my opinion.
For instance..
<gml:Point gml:id="p21" srsName="urn:ogc:def:crs:EPSG:6.6:4326">
<gml:pos dimension="2">45.67 88.56</gml:pos>
</gml:Point>
Is not so much more work for us to store, but makes sure we can begin
to import and export relatively standard data to external systems.
Regards,
Jason
···
On 5/19/10, Knut Staring <knutst@gmail.com> wrote:
On Wed, May 19, 2010 at 11:50 AM, <noreply@launchpad.net> wrote:
------------------------------------------------------------
revno: 1887
committer: Lars <larshelg@larshelg-laptop>
branch nick: trunk
timestamp: Wed 2010-05-19 11:48:29 +0200
message:
Added latitude, longitude, polygoncoordinates to dxfHappy to see this. I have been thinking that we don't really need
latitude and longitude when we have the coordinates, but that we need
a type field instead. The reason is that for GeoJSON generation we
need to support POINT, POLYGON and MULTIPOLYGON, and it make sense to
have these directly in the database. I have been experimenting a bit
with this lately, and it works great, but I was forced to store the
type in the geocode field.That being said, we may also consider having more than one coordinate
field, for different levels of detail, though I'm afraid that can
easily get messy.Knut
modified:
dhis-2/dhis-services/dhis-service-importexport/src/main/java/org/hisp/dhis/importexport/dxf/converter/OrganisationUnitConverter.java
dhis-2/dhis-support/dhis-support-jdbc/src/main/java/org/hisp/dhis/jdbc/batchhandler/OrganisationUnitBatchHandler.java--
lp:dhis2
trunk : Code : DHISYour team DHIS 2 developers is subscribed to branch lp:dhis2.
To unsubscribe from this branch go to
OpenID transaction in progress=== modified file
'dhis-2/dhis-services/dhis-service-importexport/src/main/java/org/hisp/dhis/importexport/dxf/converter/OrganisationUnitConverter.java'
---
dhis-2/dhis-services/dhis-service-importexport/src/main/java/org/hisp/dhis/importexport/dxf/converter/OrganisationUnitConverter.java
2010-04-12 21:23:33 +0000
+++
dhis-2/dhis-services/dhis-service-importexport/src/main/java/org/hisp/dhis/importexport/dxf/converter/OrganisationUnitConverter.java
2010-05-19 09:48:29 +0000
@@ -65,6 +65,9 @@
private static final String FIELD_ACTIVE = "active";
private static final String FIELD_COMMENT = "comment";
private static final String FIELD_GEO_CODE = "geoCode";
+ private static final String FIELD_POLYGON_COORDINATES =
"polygonCoordinates";
+ private static final String FIELD_LATITUDE = "latitude";
+ private static final String FIELD_LONGITUDE = "longitude";
private static final String FIELD_LAST_UPDATED = "lastUpdated";//
-------------------------------------------------------------------------
@@ -123,6 +126,9 @@
writer.writeElement( FIELD_ACTIVE, String.valueOf(
unit.isActive() ) );
writer.writeElement( FIELD_COMMENT, unit.getComment() );
writer.writeElement( FIELD_GEO_CODE, unit.getGeoCode() );
+ writer.writeElement( FIELD_POLYGON_COORDINATES,
unit.getPolygonCoordinates() );
+ writer.writeElement( FIELD_LATITUDE, unit.getLatitude()
);
+ writer.writeElement( FIELD_LONGITUDE, unit.getLongitude()
);
writer.writeElement( FIELD_LAST_UPDATED,
DateUtils.getMediumDateString( unit.getLastUpdated(), EMPTY ) );writer\.closeElement\(\);
@@ -150,6 +156,9 @@
unit.setActive( Boolean.parseBoolean( values.get( FIELD_ACTIVE
) ) );
unit.setComment( values.get( FIELD_COMMENT ) );
unit.setGeoCode( values.get( FIELD_GEO_CODE ) );
+ unit.setPolygonCoordinates( values.get(
FIELD_POLYGON_COORDINATES ) );
+ unit.setLatitude( values.get( FIELD_LATITUDE ) );
+ unit.setLongitude( values.get( FIELD_LONGITUDE ) );
unit.setLastUpdated( DateUtils.getMediumDate( values.get(
FIELD_LAST_UPDATED ) ) );NameMappingUtil\.addOrganisationUnitMapping\( unit\.getId\(\),
unit.getName() );
=== modified file
'dhis-2/dhis-support/dhis-support-jdbc/src/main/java/org/hisp/dhis/jdbc/batchhandler/OrganisationUnitBatchHandler.java'
---
dhis-2/dhis-support/dhis-support-jdbc/src/main/java/org/hisp/dhis/jdbc/batchhandler/OrganisationUnitBatchHandler.java
2010-04-12 21:23:33 +0000
+++
dhis-2/dhis-support/dhis-support-jdbc/src/main/java/org/hisp/dhis/jdbc/batchhandler/OrganisationUnitBatchHandler.java
2010-05-19 09:48:29 +0000
@@ -95,6 +95,7 @@
statementBuilder.setColumn( "active" );
statementBuilder.setColumn( "comment" );
statementBuilder.setColumn( "geocode" );
+ statementBuilder.setColumn( "polygoncoordinates" );
statementBuilder.setColumn( "latitude" );
statementBuilder.setColumn( "longitude" );
statementBuilder.setColumn( "lastUpdated" );
@@ -113,6 +114,7 @@
statementBuilder.setValue( unit.isActive() );
statementBuilder.setValue( unit.getComment() );
statementBuilder.setValue( unit.getGeoCode() );
+ statementBuilder.setValue( unit.getPolygonCoordinates() );
statementBuilder.setValue( unit.getLatitude() );
statementBuilder.setValue( unit.getLongitude() );
statementBuilder.setValue( unit.getLastUpdated() );_______________________________________________
Mailing list: https://launchpad.net/~dhis2-devs
Post to : dhis2-devs@lists.launchpad.net
Unsubscribe : https://launchpad.net/~dhis2-devs
More help : https://help.launchpad.net/ListHelp--
Cheers,
Knut Staring_______________________________________________
Mailing list: https://launchpad.net/~dhis2-devs
Post to : dhis2-devs@lists.launchpad.net
Unsubscribe : https://launchpad.net/~dhis2-devs
More help : https://help.launchpad.net/ListHelp
--
--
Jason P. Pickering
email: jason.p.pickering@gmail.com
tel:+260968395190
I see your point, Jason, but I think the most efficient would be to
continue to store the coordinates as GeoJSON (to minimize processing
for maps inside the system), and just generate the GML when exporting
to external formats.
For this, we should always use 4326 as projection. If in the future we
want to deviate from that, we should definitely use Geoserver (which
is a good idea anyway, e.g. to act as a Web Map Server to external
applications), but this is not urgent.
Here is how I am currently representing things in the database, which
makes it really easy to generate GeoJSON on the fly:
Point [ 36.95, -0.93 ]
MultiPolygon
[[[[39.376186,-4.715707],[39.379326,-4.719846],[39.373474,-4.717134],[39.376186,-4.715707]]],[[[39.406875,-4.683162],[39.400737,-4.690442],[39.394884,-4.687873],[39.406875,-4.683162]]],[[[39.269560,-4.652902],[39.286260,-4.663179],[39.294539,-4.662037],[39.283263,-4.671458],[39.276840,-4.670744],[39.267847,-4.659325],[39.269560,-4.652902]]],[[[39.360484,-4.652902],[39.365909,-4.657897],[39.389889,-4.661751],[39.400451,-4.657612],[39.406875,-4.674598],[39.403163,-4.677881],[39.405733,-4.671743],[39.400737,-4.674312],[39.396597,-4.669317],[39.366765,-4.671743],[39.348209,-4.666747],[39.360484,-4.652902]]],[[[39.295967,-4.607368],[39.298821,-4.611793],[39.292969,-4.618787],[39.295967,-4.607368]]],[[[39.302675,-4.598804],[39.303532,-4.607939],[39.299250,-4.609081],[39.296823,-4.603800],[39.302675,-4.598804]]],[[[39.597431,-4.049831],[39.603426,-4.052686],[39.589295,-4.058681],[39.589580,-4.053685],[39.596574,-4.052971],[39.589580,-4.051544],[39.597431,-4.049831]]],[[[39.975688,-3.333711],[39.979257,-3.336566],[39.972405,-3.336566],[39.975688,-3.333711]]],[[[40.784303,-2.302138],[40.800718,-2.304850],[40.806855,-2.314842],[40.784303,-2.302138]]],[[[40.877654,-2.245186],[40.897923,-2.255463],[40.916479,-2.296572],[40.866235,-2.302852],[40.817133,-2.337395],[40.812850,-2.303994],[40.817846,-2.281299],[40.837116,-2.268452],[40.847393,-2.254892],[40.877654,-2.245186]]],[[[40.980426,-2.221777],[40.985992,-2.229056],[40.991559,-2.227629],[40.992416,-2.232910],[40.982852,-2.229913],[40.980426,-2.221777]]],[[[40.892641,-2.218494],[40.897637,-2.227914],[40.893783,-2.236193],[40.888502,-2.229627],[40.892641,-2.218494]]],[[[41.089906,-2.041783],[41.123164,-2.046208],[41.135725,-2.055486],[41.144004,-2.071473],[41.166271,-2.081036],[41.170982,-2.092884],[41.158992,-2.097594],[41.167984,-2.096595],[41.173266,-2.106016],[41.146002,-2.128711],[41.131015,-2.132422],[41.125163,-2.127426],[41.135725,-2.116864],[41.118168,-2.103161],[41.122022,-2.112153],[41.127875,-2.114009],[41.119025,-2.126570],[41.114029,-2.123430],[41.115456,-2.136276],[41.111317,-2.140416],[41.092618,-2.143699],[41.079058,-2.139559],[41.078487,-2.132422],[41.058504,-2.141557],[41.045372,-2.142128],[41.062072,-2.158543],[41.056220,-2.166822],[41.042374,-2.161541],[41.043231,-2.145126],[41.035095,-2.147124],[41.039519,-2.127855],[41.025674,-2.149265],[41.011828,-2.149551],[41.007689,-2.154261],[40.999267,-2.147410],[41.005405,-2.160113],[41.000124,-2.165395],[40.996841,-2.157116],[40.992130,-2.158258],[40.994271,-2.167679],[40.999838,-2.182666],[41.006832,-2.181239],[41.009544,-2.185378],[41.008973,-2.197368],[41.016253,-2.202650],[41.009259,-2.209929],[40.999553,-2.209358],[40.988704,-2.199081],[40.987420,-2.179098],[40.979855,-2.172389],[40.978713,-2.185949],[40.976286,-2.180382],[40.973146,-2.186520],[40.967865,-2.185093],[40.974859,-2.177670],[40.967294,-2.172960],[40.960442,-2.150407],[40.964296,-2.139845],[40.971005,-2.138417],[40.972432,-2.142414],[40.967294,-2.130995],[40.971861,-2.111011],[40.987420,-2.104588],[40.999553,-2.092313],[41.007689,-2.094596],[41.042089,-2.081036],[41.060930,-2.064050],[41.065926,-2.065478],[41.064356,-2.055486],[41.075918,-2.052917],[41.089906,-2.041783]]],[[[41.137295,-2.040641],[41.150142,-2.051204],[41.128160,-2.043496],[41.137295,-2.040641]]],[[[41.251201,-2.010381],[41.255483,-2.012664],[41.246491,-2.026225],[41.244920,-2.019516],[41.251201,-2.010381]]],[[[41.192393,-2.002387],[41.195105,-2.012093],[41.187111,-2.031220],[41.140436,-2.020943],[41.140721,-2.016233],[41.147858,-2.013521],[41.146002,-2.010381],[41.160419,-2.012379],[41.171553,-2.008525],[41.173266,-2.014377],[41.176834,-2.007669],[41.182115,-2.009239],[41.179261,-2.006812],[41.192393,-2.002387]]],[[[41.201528,-2.000389],[41.215659,-2.015091],[41.211520,-2.027367],[41.196817,-2.024084],[41.200386,-2.013235],[41.197388,-2.001245],[41.201528,-2.000389]]],[[[41.134298,-1.995964],[41.134583,-2.002387],[41.131015,-2.000103],[41.134298,-1.995964]]],[[[41.219798,-1.988542],[41.221797,-1.995679],[41.213803,-1.996249],[41.213518,-1.990397],[41.219798,-1.988542]]],[[[41.275181,-1.982404],[41.279035,-1.995393],[41.270471,-1.991825],[41.275181,-1.982404]]],[[[41.196532,-1.981833],[41.201813,-1.985401],[41.197959,-1.992681],[41.196532,-1.981833]]],[[[40.856814,-1.979264],[40.857956,-1.982689],[40.852104,-1.983974],[40.856814,-1.979264]]],[[[40.853531,-1.975410],[40.855958,-1.977408],[40.846251,-1.980976],[40.853531,-1.975410]]],[[[41.265903,-1.963705],[41.273183,-1.976266],[41.268187,-1.987400],[41.259622,-1.980120],[41.261764,-1.982975],[41.256768,-1.987685],[41.262049,-1.984259],[41.265760,-1.988256],[41.256197,-1.993537],[41.266759,-1.990968],[41.274325,-1.997677],[41.282318,-1.994251],[41.304300,-1.968415],[41.307583,-1.971841],[41.257910,-2.033504],[41.236784,-2.047064],[41.267616,-2.009239],[41.268758,-2.002673],[41.251772,-1.996535],[41.247061,-1.988684],[41.247347,-1.973982],[41.265903,-1.963705]]],[[[41.209093,-1.958424],[41.207951,-1.971270],[41.204811,-1.965703],[41.209093,-1.958424]]],[[[41.511556,-1.751310],[41.497853,-1.770437],[41.491573,-1.771008],[41.494570,-1.761302],[41.511556,-1.751310]]],[[[38.765407,-0.047438],[38.857045,-0.068992],[38.882738,-0.071989],[38.899724,-0.066851],[38.924989,-0.101108],[38.973663,-0.093543],[39.013915,-0.063711],[39.064444,-0.056574],[39.083429,-0.063140],[39.136670,-0.127372],[39.160079,-0.139219],[39.177065,-0.126801],[39.165503,-0.110672],[39.236159,-0.114954],[39.236873,-0.142502],[39.260996,-0.147641],[39.275840,-0.143073],[39.281693,-0.130655],[39.277982,-0.116952],[39.311240,-0.114811],[39.384607,-0.152637],[39.396597,-0.166054],[39.434994,-0.171907],[39.468823,-0.196029],[39.525633,-0.246987],[39.533198,-0.262403],[39.576876,-0.294234],[39.584156,-0.307651],[39.603711,-0.325493],[39.586440,-0.342479],[39.602427,-0.355468],[39.620554,-0.436544],[39.638825,-0.463379],[39.641537,-0.502061],[39.660378,-0.520760],[39.670941,-0.547167],[39.678792,-0.552305],[39.702772,-0.537746],[39.713905,-0.551306],[39.716189,-0.563296],[39.726466,-0.563867],[39.708624,-0.590987],[39.718901,-0.600123],[39.747164,-0.601264],[39.771572,-0.615110],[39.786559,-0.644372],[39.808684,-0.639947],[39.830095,-0.679628],[39.854646,-0.751283],[39.855502,-0.771409],[39.884335,-0.847917],[39.890188,-0.905869],[39.916452,-0.958397],[39.900179,-0.967246],[39.905318,-1.013208],[39.925301,-1.025627],[39.959844,-1.097710],[39.962699,-1.112412],[39.983253,-1.131681],[39.992246,-1.158088],[40.012800,-1.190632],[40.000810,-1.197912],[40.015940,-1.225746],[40.026646,-1.260289],[40.036495,-1.260146],[40.030643,-1.319383],[40.059904,-1.419585],[40.049056,-1.424010],[40.063615,-1.500090],[40.075320,-1.498092],[40.085597,-1.509368],[40.110862,-1.569318],[40.137982,-1.599008],[40.144262,-1.656531],[40.141122,-1.702636],[40.152256,-1.717624],[40.152970,-1.726616],[40.141408,-1.757162],[40.141408,-1.782141],[40.171668,-1.870497],[40.169955,-1.906039],[40.175665,-1.925594],[40.169955,-1.947576],[40.183087,-1.981547],[40.178377,-1.998105],[40.187798,-2.009667],[40.197219,-2.036216],[40.200502,-2.028366],[40.245607,-2.004957],[40.433308,-1.920027],[40.478842,-1.892050],[40.498254,-1.885199],[40.512528,-1.903184],[40.917906,-1.711914],[40.946168,-1.701780],[40.985421,-1.699353],[40.991274,-1.687506],[41.172695,-1.670377],[41.172695,-1.684365],[41.571506,-1.646968],[41.550381,-1.674088],[41.518265,-1.702065],[41.496569,-1.735180],[41.495712,-1.745172],[41.459028,-1.780143],[41.467307,-1.779287],[41.472874,-1.772293],[41.471875,-1.779858],[41.476014,-1.771864],[41.478726,-1.774576],[41.486291,-1.766868],[41.489004,-1.777859],[41.480439,-1.798699],[41.466023,-1.800127],[41.465166,-1.791562],[41.453176,-1.802696],[41.456316,-1.787708],[41.436761,-1.806264],[41.447038,-1.812402],[41.429339,-1.808691],[41.436761,-1.820681],[41.428482,-1.823536],[41.412067,-1.840950],[41.425628,-1.840664],[41.424343,-1.849086],[41.430481,-1.838238],[41.438759,-1.841521],[41.387374,-1.891194],[41.411211,-1.854795],[41.404359,-1.858792],[41.390942,-1.872638],[41.392084,-1.879347],[41.386803,-1.876492],[41.377667,-1.885199],[41.381521,-1.891194],[41.375669,-1.898188],[41.376240,-1.888767],[41.369817,-1.894620],[41.362680,-1.913176],[41.353545,-1.922311],[41.350404,-1.924309],[41.346550,-1.917600],[41.340984,-1.920741],[41.339842,-1.924880],[41.346550,-1.928734],[41.322856,-1.953713],[41.317289,-1.952429],[41.316861,-1.962420],[41.312579,-1.965418],[41.313149,-1.958709],[41.304300,-1.959851],[41.297876,-1.972127],[41.280748,-1.987114],[41.270756,-1.964847],[41.260479,-1.962849],[41.261478,-1.954570],[41.257910,-1.966274],[41.242637,-1.963991],[41.236499,-1.969272],[41.234358,-1.961279],[41.230076,-1.972127],[41.224366,-1.945149],[41.235642,-1.940153],[41.226222,-1.940439],[41.227078,-1.934586],[41.223224,-1.939582],[41.219370,-1.914888],[41.219798,-1.942580],[41.215373,-1.952857],[41.205382,-1.945435],[41.204097,-1.934586],[41.202670,-1.941581],[41.196532,-1.939582],[41.198959,-1.932588],[41.195961,-1.933730],[41.194248,-1.927021],[41.191251,-1.937298],[41.194248,-1.934872],[41.194534,-1.939297],[41.179546,-1.932588],[41.167413,-1.948718],[41.172980,-1.947290],[41.178975,-1.935443],[41.200100,-1.947290],[41.200957,-1.950716],[41.190965,-1.950145],[41.188253,-1.956568],[41.192393,-1.952429],[41.203241,-1.953999],[41.197674,-1.957139],[41.195676,-1.968701],[41.188967,-1.966845],[41.196817,-1.971270],[41.193249,-1.987400],[41.183257,-1.978978],[41.171838,-1.979835],[41.183257,-1.980976],[41.182401,-1.986543],[41.191822,-1.996249],[41.172124,-2.004243],[41.162703,-1.999247],[41.159563,-2.002102],[41.157850,-1.995108],[41.152854,-1.998248],[41.144575,-1.990397],[41.143433,-1.998248],[41.132014,-1.992681],[41.125734,-1.997962],[41.129302,-1.988256],[41.125734,-1.992396],[41.125163,-1.980120],[41.117597,-1.990968],[41.113173,-1.985972],[41.112031,-1.991825],[41.105179,-1.993252],[41.103752,-2.002102],[41.096187,-1.990397],[41.099612,-2.005670],[41.096187,-2.001245],[41.083483,-2.013806],[41.076774,-2.007954],[41.075918,-1.997391],[41.078202,-2.018231],[41.044801,-2.032933],[41.034238,-2.053773],[41.029242,-2.050633],[41.012399,-2.055914],[40.989846,-2.041498],[40.978998,-2.019801],[40.982138,-1.999532],[40.991559,-1.979835],[40.985707,-1.948147],[41.000695,-1.934872],[41.006261,-1.919599],[41.017395,-1.909036],[41.009830,-1.908180],[41.007974,-1.912605],[41.003264,-1.908180],[40.990417,-1.930161],[40.973431,-1.939011],[40.971290,-1.955426],[40.975430,-1.968701],[40.969863,-1.979264],[40.975144,-1.989255],[40.959871,-2.017089],[40.961299,-2.026796],[40.980711,-2.052060],[40.980711,-2.066191],[40.965438,-2.078752],[40.947025,-2.084890],[40.933465,-2.077896],[40.939031,-2.059340],[40.918763,-2.033504],[40.920904,-1.998819],[40.906202,-1.992681],[40.892641,-1.995393],[40.878796,-1.992110],[40.862952,-1.973411],[40.863523,-1.977408],[40.828980,-1.970128],[40.810138,-1.962849],[40.807569,-1.957425],[40.807141,-1.962135],[40.823413,-1.973126],[40.845966,-1.980691],[40.868233,-1.997962],[40.891499,-2.008240],[40.890928,-2.014377],[40.886218,-2.015091],[40.878796,-2.006527],[40.881508,-2.014520],[40.890928,-2.016233],[40.898208,-2.004528],[40.905916,-2.010095],[40.904346,-2.042640],[40.909056,-2.054059],[40.906772,-2.059911],[40.912625,-2.060482],[40.913196,-2.065763],[40.897352,-2.065192],[40.901206,-2.050918],[40.897066,-2.047921],[40.900206,-2.051204],[40.894925,-2.062337],[40.898494,-2.068190],[40.892356,-2.068761],[40.907343,-2.069903],[40.916479,-2.093740],[40.921475,-2.210643],[40.926756,-2.219065],[40.936748,-2.219921],[40.930182,-2.229627],[40.934892,-2.229342],[40.942885,-2.240475],[40.937319,-2.231197],[40.941030,-2.221491],[40.963154,-2.223489],[40.961870,-2.228200],[40.969007,-2.236764],[40.966580,-2.223489],[40.976001,-2.226201],[40.976001,-2.237335],[40.990417,-2.261743],[40.970434,-2.281870],[40.958158,-2.309846],[40.946597,-2.318982],[40.931181,-2.322978],[40.924900,-2.323264],[40.912910,-2.313986],[40.920904,-2.302709],[40.922902,-2.288721],[40.938460,-2.290148],[40.942885,-2.285153],[40.951735,-2.288436],[40.945455,-2.283440],[40.935177,-2.288436],[40.927327,-2.285438],[40.907058,-2.257319],[40.900206,-2.235908],[40.908771,-2.219636],[40.902062,-2.225202],[40.885504,-2.215639],[40.890928,-2.242616],[40.870945,-2.242045],[40.847964,-2.252323],[40.835689,-2.267025],[40.822128,-2.270736],[40.818988,-2.277873],[40.814278,-2.276303],[40.816276,-2.280442],[40.805428,-2.291290],[40.797577,-2.282298],[40.798148,-2.275446],[40.820987,-2.246470],[40.808711,-2.248469],[40.811280,-2.257604],[40.797292,-2.269023],[40.793152,-2.280442],[40.808996,-2.304565],[40.808426,-2.310417],[40.799290,-2.303423],[40.776309,-2.299569],[40.775167,-2.290148],[40.784588,-2.268452],[40.781876,-2.263456],[40.766318,-2.259317],[40.762892,-2.264313],[40.746477,-2.251466],[40.761179,-2.267025],[40.771313,-2.263171],[40.777879,-2.265740],[40.769601,-2.282155],[40.771313,-2.298142],[40.762892,-2.297143],[40.761179,-2.288150],[40.760465,-2.294859],[40.798719,-2.317126],[40.798148,-2.328402],[40.790155,-2.333255],[40.779592,-2.329544],[40.768744,-2.317126],[40.756754,-2.313700],[40.740910,-2.299284],[40.723781,-2.297428],[40.743479,-2.303138],[40.751473,-2.314271],[40.771313,-2.325976],[40.777594,-2.333255],[40.775738,-2.343961],[40.781591,-2.357664],[40.778736,-2.335111],[40.797149,-2.342391],[40.804286,-2.355094],[40.818132,-2.359091],[40.826268,-2.374364],[40.824840,-2.392920],[40.780734,-2.428177],[40.770457,-2.454298],[40.743194,-2.454583],[40.706225,-2.475709],[40.677677,-2.498261],[40.649272,-2.533232],[40.609876,-2.560924],[40.543217,-2.540940],[40.538221,-2.534089],[40.495971,-2.515105],[40.481268,-2.521528],[40.501537,-2.517388],[40.532654,-2.539370],[40.529800,-2.541797],[40.530371,-2.536515],[40.523805,-2.532947],[40.505106,-2.532947],[40.457146,-2.541797],[40.384349,-2.570915],[40.346809,-2.591470],[40.354374,-2.577053],[40.350663,-2.573199],[40.338958,-2.596751],[40.272014,-2.645710],[40.266732,-2.646852],[40.269302,-2.638716],[40.260452,-2.647852],[40.260166,-2.655988],[40.224053,-2.694527],[40.198789,-2.734637],[40.188797,-2.734637],[40.185086,-2.727357],[40.193507,-2.745485],[40.186513,-2.761471],[40.180375,-2.765183],[40.175950,-2.784881],[40.186799,-2.777030],[40.183516,-2.828987],[40.171526,-2.855394],[40.172667,-2.899643],[40.163960,-2.934899],[40.166815,-2.957594],[40.161534,-2.956024],[40.169527,-2.964874],[40.168528,-2.960164],[40.174809,-2.960164],[40.190367,-2.986285],[40.184372,-2.979862],[40.177092,-2.980718],[40.168528,-2.992708],[40.169527,-2.998703],[40.180090,-2.987141],[40.187941,-2.995420],[40.212349,-2.993707],[40.237614,-2.977863],[40.241468,-2.989568],[40.238185,-2.996277],[40.231476,-2.993422],[40.223768,-3.001558],[40.201501,-3.010408],[40.195363,-3.030677],[40.174095,-3.041525],[40.169527,-3.052658],[40.173238,-3.069359],[40.155967,-3.083204],[40.163818,-3.131736],[40.147403,-3.166564],[40.135984,-3.161853],[40.140694,-3.171560],[40.120996,-3.202106],[40.130417,-3.224516],[40.126563,-3.249067],[40.132701,-3.255633],[40.126277,-3.279327],[40.113431,-3.299025],[40.074321,-3.319865],[40.055194,-3.336851],[40.028216,-3.348698],[40.021793,-3.357405],[40.015369,-3.356834],[40.012943,-3.363686],[40.006805,-3.361545],[39.976545,-3.390093],[39.969550,-3.387666],[39.971834,-3.354265],[39.965696,-3.344273],[39.972120,-3.340420],[39.977401,-3.350697],[39.982682,-3.344844],[39.987964,-3.347414],[39.983681,-3.332141],[39.991532,-3.321864],[39.969265,-3.325717],[39.972120,-3.330142],[39.963698,-3.331855],[39.961842,-3.342703],[39.957132,-3.344273],[39.965982,-3.353409],[39.961557,-3.375105],[39.969265,-3.372393],[39.967980,-3.380101],[39.963698,-3.384098],[39.957418,-3.375391],[39.961842,-3.389093],[39.967980,-3.393233],[39.969550,-3.406222],[39.926586,-3.494863],[39.903177,-3.567089],[39.871489,-3.631464],[39.865637,-3.637316],[39.845082,-3.635460],[39.841514,-3.627895],[39.827954,-3.621757],[39.821245,-3.609625],[39.813822,-3.613193],[39.811824,-3.621757],[39.808256,-3.610909],[39.800120,-3.606199],[39.795409,-3.608483],[39.805972,-3.610624],[39.811539,-3.623756],[39.811539,-3.633462],[39.805686,-3.630465],[39.802689,-3.636031],[39.810111,-3.647022],[39.820388,-3.647022],[39.827383,-3.637030],[39.837089,-3.633462],[39.863781,-3.643168],[39.869919,-3.666577],[39.869348,-3.674856],[39.862354,-3.679852],[39.868206,-3.680994],[39.870632,-3.697980],[39.844511,-3.765210],[39.830095,-3.823447],[39.787701,-3.909090],[39.775426,-3.943205],[39.766576,-3.953768],[39.752873,-3.959049],[39.760438,-3.958193],[39.764007,-3.962617],[39.728750,-4.003155],[39.726181,-4.013718],[39.731462,-4.017572],[39.729892,-4.024281],[39.722898,-4.026850],[39.701773,-4.060393],[39.687356,-4.065389],[39.680933,-4.054827],[39.681789,-4.044549],[39.673796,-4.043265],[39.676793,-4.032417],[39.652956,-4.018143],[39.649816,-4.022853],[39.643678,-4.016287],[39.642108,-4.023710],[39.651814,-4.031846],[39.647960,-4.037127],[39.638682,-4.034558],[39.638682,-4.039268],[39.649530,-4.038126],[39.658523,-4.029562],[39.675366,-4.036556],[39.671512,-4.044835],[39.679077,-4.047404],[39.675080,-4.052971],[39.683217,-4.069243],[39.671512,-4.080091],[39.662948,-4.077950],[39.647675,-4.061250],[39.640395,-4.042408],[39.627406,-4.047975],[39.617700,-4.042123],[39.590722,-4.045120],[39.586583,-4.050687],[39.585155,-4.036271],[39.573165,-4.025708],[39.566314,-4.025708],[39.565743,-4.037127],[39.559034,-4.041837],[39.566028,-4.038126],[39.568455,-4.026279],[39.578161,-4.031560],[39.581301,-4.042979],[39.571595,-4.041266],[39.566599,-4.048403],[39.574878,-4.068529],[39.588153,-4.067673],[39.575449,-4.086800],[39.591293,-4.074239],[39.593148,-4.063962],[39.621839,-4.057681],[39.629547,-4.063534],[39.637968,-4.057967],[39.638539,-4.050973],[39.644249,-4.072383],[39.665945,-4.083517],[39.677079,-4.082661],[39.675651,-4.093794],[39.630974,-4.180722],[39.614274,-4.203132],[39.597145,-4.258515],[39.599001,-4.270076],[39.571024,-4.330740],[39.549613,-4.392118],[39.539621,-4.437937],[39.533484,-4.438508],[39.533484,-4.428802],[39.529344,-4.429801],[39.524634,-4.419096],[39.515213,-4.422093],[39.509646,-4.441220],[39.503223,-4.443789],[39.507077,-4.446787],[39.500368,-4.444646],[39.500083,-4.465486],[39.480956,-4.482900],[39.472392,-4.501313],[39.462400,-4.533715],[39.465968,-4.544563],[39.450695,-4.586814],[39.444558,-4.585672],[39.442702,-4.592095],[39.435993,-4.589811],[39.435422,-4.571826],[39.427143,-4.559836],[39.431568,-4.550986],[39.440133,-4.550701],[39.436850,-4.547418],[39.448982,-4.525864],[39.443416,-4.535713],[39.428428,-4.532858],[39.441846,-4.538425],[39.426287,-4.549273],[39.422290,-4.558409],[39.412870,-4.550415],[39.411299,-4.554555],[39.418151,-4.553127],[39.424574,-4.565117],[39.424003,-4.569542],[39.417865,-4.567401],[39.422290,-4.572968],[39.417294,-4.580676],[39.402307,-4.590097],[39.394314,-4.577393],[39.398453,-4.586814],[39.394884,-4.603229],[39.400737,-4.608795],[39.398167,-4.619073],[39.402592,-4.623212],[39.405162,-4.619929],[39.413155,-4.622356],[39.412870,-4.634631],[39.402592,-4.647620],[39.383751,-4.649904],[39.348780,-4.640483],[39.328226,-4.646478],[39.305387,-4.638770],[39.305958,-4.615932],[39.310383,-4.613220],[39.306244,-4.612078],[39.304816,-4.596805],[39.314094,-4.580105],[39.298250,-4.599517],[39.292969,-4.579534],[39.296538,-4.598804],[39.287688,-4.618216],[39.280694,-4.615361],[39.281264,-4.593808],[39.276840,-4.596805],[39.270416,-4.586814],[39.259283,-4.588526],[39.271558,-4.590097],[39.277982,-4.601801],[39.274841,-4.627066],[39.264564,-4.626495],[39.267133,-4.616789],[39.262851,-4.623497],[39.257855,-4.620928],[39.253145,-4.627637],[39.251575,-4.624068],[39.249006,-4.635202],[39.236587,-4.634917],[39.246579,-4.642339],[39.239299,-4.645765],[39.236873,-4.661038],[39.231306,-4.658754],[39.226025,-4.671029],[39.219316,-4.670744],[39.209467,-4.660752],[39.203186,-4.662037],[39.199047,-4.652616],[38.452096,-4.142183],[37.992334,-3.813455],[37.795783,-3.679281],[37.747680,-3.545107],[37.702004,-3.530405],[37.673742,-3.508994],[37.626495,-3.530833],[37.613649,-3.527264],[37.604656,-3.506425],[37.627209,-3.467314],[37.592666,-3.464602],[37.593094,-3.444476],[37.666176,-3.364400],[37.690299,-3.355550],[37.691298,-3.330000],[37.718276,-3.313156],[37.697722,-3.188117],[37.827899,-3.178411],[37.842887,-3.188403],[37.856447,-3.185263],[37.863584,-3.170132],[37.860729,-3.088914],[37.878714,-3.085631],[37.904407,-2.893505],[37.925390,-2.874663],[37.945801,-2.783596],[37.946801,-2.779314],[37.977632,-2.789306],[38.130220,-2.704519],[38.152773,-2.701807],[38.160052,-2.694670],[38.168759,-2.699095],[38.174326,-2.691101],[38.237131,-2.734494],[38.281095,-2.773033],[38.310927,-2.817711],[38.334193,-2.838979],[38.362884,-2.892648],[38.399568,-2.929760],[38.421264,-2.937611],[38.463943,-2.986856],[38.482213,-2.986713],[38.496773,-2.976864],[38.543020,-2.976008],[38.616673,-2.997847],[38.681191,-3.035958],[38.713450,-3.036529],[38.816079,-3.058511],[38.831495,-3.046235],[38.851478,-3.052373],[38.877742,-3.037385],[38.917424,-3.034673],[38.926416,-3.028964],[38.967382,-3.031248],[38.989078,-3.019971],[39.020481,-3.013691],[39.035183,-3.013405],[39.051027,-3.030391],[39.072723,-3.035815],[39.076292,-3.041810],[39.084285,-3.039526],[39.082144,-3.027536],[39.049742,-2.989140],[38.631375,-2.420469],[38.654499,-2.422324],[38.685902,-2.412761],[38.728009,-2.383642],[38.735860,-2.369939],[38.766692,-2.357378],[38.776969,-2.358092],[38.794668,-2.337966],[38.927844,-2.078324],[38.924561,-2.069903],[38.999070,-1.913033],[38.944972,-1.705634],[38.974662,-1.687934],[38.983369,-1.673946],[38.981085,-1.636405],[38.990078,-1.636120],[38.983654,-1.544053],[38.975376,-1.541912],[38.963671,-1.257006],[38.949825,-1.054888],[38.811940,-0.759990],[38.600829,-0.398576],[38.596690,-0.398147],[38.405991,-0.060142],[38.427687,-0.066851],[38.442532,-0.077556],[38.502625,-0.054718],[38.519611,-0.044298],[38.532029,-0.023744],[38.549586,-0.012896],[38.615103,-0.033022],[38.627236,-0.046011],[38.676623,-0.042014],[38.728723,-0.060999],[38.748421,-0.062426],[38.747850,-0.049294],[38.765407,-0.047438]]]]
Knut
···
On Wed, May 19, 2010 at 2:01 PM, Jason Pickering <jason.p.pickering@gmail.com> wrote:
I think this is a good step in the right direction,but should be
considered still, an interim solution. There are limitations (for
instance the specification of the coordinate system) which points to a
need to a more generic object model. There are some better
alternatives (GML for instance) in my opinion.For instance..
<gml:Point gml:id="p21" srsName="urn:ogc:def:crs:EPSG:6.6:4326">
<gml:pos dimension="2">45.67 88.56</gml:pos>
</gml:Point>Is not so much more work for us to store, but makes sure we can begin
to import and export relatively standard data to external systems.Regards,
JasonOn 5/19/10, Knut Staring <knutst@gmail.com> wrote:
On Wed, May 19, 2010 at 11:50 AM, <noreply@launchpad.net> wrote:
------------------------------------------------------------
revno: 1887
committer: Lars <larshelg@larshelg-laptop>
branch nick: trunk
timestamp: Wed 2010-05-19 11:48:29 +0200
message:
Added latitude, longitude, polygoncoordinates to dxfHappy to see this. I have been thinking that we don't really need
latitude and longitude when we have the coordinates, but that we need
a type field instead. The reason is that for GeoJSON generation we
need to support POINT, POLYGON and MULTIPOLYGON, and it make sense to
have these directly in the database. I have been experimenting a bit
with this lately, and it works great, but I was forced to store the
type in the geocode field.That being said, we may also consider having more than one coordinate
field, for different levels of detail, though I'm afraid that can
easily get messy.Knut
modified:
dhis-2/dhis-services/dhis-service-importexport/src/main/java/org/hisp/dhis/importexport/dxf/converter/OrganisationUnitConverter.java
dhis-2/dhis-support/dhis-support-jdbc/src/main/java/org/hisp/dhis/jdbc/batchhandler/OrganisationUnitBatchHandler.java--
lp:dhis2
trunk : Code : DHISYour team DHIS 2 developers is subscribed to branch lp:dhis2.
To unsubscribe from this branch go to
OpenID transaction in progress=== modified file
'dhis-2/dhis-services/dhis-service-importexport/src/main/java/org/hisp/dhis/importexport/dxf/converter/OrganisationUnitConverter.java'
---
dhis-2/dhis-services/dhis-service-importexport/src/main/java/org/hisp/dhis/importexport/dxf/converter/OrganisationUnitConverter.java
2010-04-12 21:23:33 +0000
+++
dhis-2/dhis-services/dhis-service-importexport/src/main/java/org/hisp/dhis/importexport/dxf/converter/OrganisationUnitConverter.java
2010-05-19 09:48:29 +0000
@@ -65,6 +65,9 @@
private static final String FIELD_ACTIVE = "active";
private static final String FIELD_COMMENT = "comment";
private static final String FIELD_GEO_CODE = "geoCode";
+ private static final String FIELD_POLYGON_COORDINATES =
"polygonCoordinates";
+ private static final String FIELD_LATITUDE = "latitude";
+ private static final String FIELD_LONGITUDE = "longitude";
private static final String FIELD_LAST_UPDATED = "lastUpdated";//
-------------------------------------------------------------------------
@@ -123,6 +126,9 @@
writer.writeElement( FIELD_ACTIVE, String.valueOf(
unit.isActive() ) );
writer.writeElement( FIELD_COMMENT, unit.getComment() );
writer.writeElement( FIELD_GEO_CODE, unit.getGeoCode() );
+ writer.writeElement( FIELD_POLYGON_COORDINATES,
unit.getPolygonCoordinates() );
+ writer.writeElement( FIELD_LATITUDE, unit.getLatitude()
);
+ writer.writeElement( FIELD_LONGITUDE, unit.getLongitude()
);
writer.writeElement( FIELD_LAST_UPDATED,
DateUtils.getMediumDateString( unit.getLastUpdated(), EMPTY ) );writer\.closeElement\(\);
@@ -150,6 +156,9 @@
unit.setActive( Boolean.parseBoolean( values.get( FIELD_ACTIVE
) ) );
unit.setComment( values.get( FIELD_COMMENT ) );
unit.setGeoCode( values.get( FIELD_GEO_CODE ) );
+ unit.setPolygonCoordinates( values.get(
FIELD_POLYGON_COORDINATES ) );
+ unit.setLatitude( values.get( FIELD_LATITUDE ) );
+ unit.setLongitude( values.get( FIELD_LONGITUDE ) );
unit.setLastUpdated( DateUtils.getMediumDate( values.get(
FIELD_LAST_UPDATED ) ) );NameMappingUtil\.addOrganisationUnitMapping\( unit\.getId\(\),
unit.getName() );
=== modified file
'dhis-2/dhis-support/dhis-support-jdbc/src/main/java/org/hisp/dhis/jdbc/batchhandler/OrganisationUnitBatchHandler.java'
---
dhis-2/dhis-support/dhis-support-jdbc/src/main/java/org/hisp/dhis/jdbc/batchhandler/OrganisationUnitBatchHandler.java
2010-04-12 21:23:33 +0000
+++
dhis-2/dhis-support/dhis-support-jdbc/src/main/java/org/hisp/dhis/jdbc/batchhandler/OrganisationUnitBatchHandler.java
2010-05-19 09:48:29 +0000
@@ -95,6 +95,7 @@
statementBuilder.setColumn( "active" );
statementBuilder.setColumn( "comment" );
statementBuilder.setColumn( "geocode" );
+ statementBuilder.setColumn( "polygoncoordinates" );
statementBuilder.setColumn( "latitude" );
statementBuilder.setColumn( "longitude" );
statementBuilder.setColumn( "lastUpdated" );
@@ -113,6 +114,7 @@
statementBuilder.setValue( unit.isActive() );
statementBuilder.setValue( unit.getComment() );
statementBuilder.setValue( unit.getGeoCode() );
+ statementBuilder.setValue( unit.getPolygonCoordinates() );
statementBuilder.setValue( unit.getLatitude() );
statementBuilder.setValue( unit.getLongitude() );
statementBuilder.setValue( unit.getLastUpdated() );_______________________________________________
Mailing list: https://launchpad.net/~dhis2-devs
Post to : dhis2-devs@lists.launchpad.net
Unsubscribe : https://launchpad.net/~dhis2-devs
More help : https://help.launchpad.net/ListHelp--
Cheers,
Knut Staring_______________________________________________
Mailing list: https://launchpad.net/~dhis2-devs
Post to : dhis2-devs@lists.launchpad.net
Unsubscribe : https://launchpad.net/~dhis2-devs
More help : https://help.launchpad.net/ListHelp--
--
Jason P. Pickering
email: jason.p.pickering@gmail.com
tel:+260968395190
--
Cheers,
Knut Staring
Good to see this stuff coming in. I guess it is at least in part
related to transforming external GIS sources to dxf?
Two points:
1. We need to make sure that we track these changes/additions in the
dxf schema. Otherwise it will start to become useless.
2. I think how we store the data internally and how we express it as
xml should be treated as different (if intimately related) problems.
An element like:
<organisationUnit>
...
<polygonCoordinates>[[[39.376186,-4.715707],[39.379326,-4.719846],[39.373474,-4.717134],[39.376186,-4.715707]]],[[[39.406875,-4.683162],[39.400737,-4.690442],[39.394884,-4.687873],[39.406875,-4.683162]]],[[[39.269560,-4.652902],[39.286260,-4.663179],[39.29
...</polygonCoordinates>
...
</organisationUnit>
is both unsightly and terribly bad practice. This xml would be not
much more use than a database sql dump. We have already made that
mistake with serializing all the table relations as xml. It would be
a shame to repeat it again here where we have a fresh opportunity.
I would strongly support Jason's suggestion that we not try to
reinvent a GIS markup - which we will probably do badly - but rather
that we simply embed those elements from GML (or KML or whichever -
you guys are the experts) which we need. eg:
<organisationUnit>
...
<location><gml:Point>...</Point></location>
<area><gml:Polygon>,</gml:Polygon></area>
...
</organisationUnit>
How we choose to represent those in the database is different. if it
is totally impractical to use a standard gis markup (and I hope its
not) then at the very least we should ensure that we use home-grown
xml to represent the entities rather than embedded json. How else
would an xml parser be able to make any sense of this.
I guess the implication of what I am saying is that
writer.writeElement( FIELD_POLYGON_COORDINATES,
unit.getPolygonCoordinates() ); would need to be expanded in order to
not just dump the database content into the xml element. Or wrapped
as
writer.writeElement( FIELD_POLYGON_COORDINATES,
unit.getPolygonCoordinatesAsXML() )
Regards
Bob
···
On 19 May 2010 13:14, Knut Staring <knutst@gmail.com> wrote:
I see your point, Jason, but I think the most efficient would be to
continue to store the coordinates as GeoJSON (to minimize processing
for maps inside the system), and just generate the GML when exporting
to external formats.For this, we should always use 4326 as projection. If in the future we
want to deviate from that, we should definitely use Geoserver (which
is a good idea anyway, e.g. to act as a Web Map Server to external
applications), but this is not urgent.Here is how I am currently representing things in the database, which
makes it really easy to generate GeoJSON on the fly:Point [ 36.95, -0.93 ]
MultiPolygon
[[[[39.376186,-4.715707],[39.379326,-4.719846],[39.373474,-4.717134],[39.376186,-4.715707]]],[[[39.406875,-4.683162],[39.400737,-4.690442],[39.394884,-4.687873],[39.406875,-4.683162]]],[[[39.269560,-4.652902],[39.286260,-4.663179],[39.294539,-4.662037],[39.283263,-4.671458],[39.276840,-4.670744],[39.267847,-4.659325],[39.269560,-4.652902]]],[[[39.360484,-4.652902],[39.365909,-4.657897],[39.389889,-4.661751],[39.400451,-4.657612],[39.406875,-4.674598],[39.403163,-4.677881],[39.405733,-4.671743],[39.400737,-4.674312],[39.396597,-4.669317],[39.366765,-4.671743],[39.348209,-4.666747],[39.360484,-4.652902]]],[[[39.295967,-4.607368],[39.298821,-4.611793],[39.292969,-4.618787],[39.295967,-4.607368]]],[[[39.302675,-4.598804],[39.303532,-4.607939],[39.299250,-4.609081],[39.296823,-4.603800],[39.302675,-4.598804]]],[[[39.597431,-4.049831],[39.603426,-4.052686],[39.589295,-4.058681],[39.589580,-4.053685],[39.596574,-4.052971],[39.589580,-4.051544],[39.597431,-4.049831]]],[[[39.975688,-3.333711],[39.979257,-3.336566],[39.972405,-3.336566],[39.975688,-3.333711]]],[[[40.784303,-2.302138],[40.800718,-2.304850],[40.806855,-2.314842],[40.784303,-2.302138]]],[[[40.877654,-2.245186],[40.897923,-2.255463],[40.916479,-2.296572],[40.866235,-2.302852],[40.817133,-2.337395],[40.812850,-2.303994],[40.817846,-2.281299],[40.837116,-2.268452],[40.847393,-2.254892],[40.877654,-2.245186]]],[[[40.980426,-2.221777],[40.985992,-2.229056],[40.991559,-2.227629],[40.992416,-2.232910],[40.982852,-2.229913],[40.980426,-2.221777]]],[[[40.892641,-2.218494],[40.897637,-2.227914],[40.893783,-2.236193],[40.888502,-2.229627],[40.892641,-2.218494]]],[[[41.089906,-2.041783],[41.123164,-2.046208],[41.135725,-2.055486],[41.144004,-2.071473],[41.166271,-2.081036],[41.170982,-2.092884],[41.158992,-2.097594],[41.167984,-2.096595],[41.173266,-2.106016],[41.146002,-2.128711],[41.131015,-2.132422],[41.125163,-2.127426],[41.135725,-2.116864],[41.118168,-2.103161],[41.122022,-2.112153],[41.127875,-2.114009],[41.119025,-2.126570],[41.114029,-2.123430],[41.115456,-2.136276],[41.111317,-2.140416],[41.092618,-2.143699],[41.079058,-2.139559],[41.078487,-2.132422],[41.058504,-2.141557],[41.045372,-2.142128],[41.062072,-2.158543],[41.056220,-2.166822],[41.042374,-2.161541],[41.043231,-2.145126],[41.035095,-2.147124],[41.039519,-2.127855],[41.025674,-2.149265],[41.011828,-2.149551],[41.007689,-2.154261],[40.999267,-2.147410],[41.005405,-2.160113],[41.000124,-2.165395],[40.996841,-2.157116],[40.992130,-2.158258],[40.994271,-2.167679],[40.999838,-2.182666],[41.006832,-2.181239],[41.009544,-2.185378],[41.008973,-2.197368],[41.016253,-2.202650],[41.009259,-2.209929],[40.999553,-2.209358],[40.988704,-2.199081],[40.987420,-2.179098],[40.979855,-2.172389],[40.978713,-2.185949],[40.976286,-2.180382],[40.973146,-2.186520],[40.967865,-2.185093],[40.974859,-2.177670],[40.967294,-2.172960],[40.960442,-2.150407],[40.964296,-2.139845],[40.971005,-2.138417],[40.972432,-2.142414],[40.967294,-2.130995],[40.971861,-2.111011],[40.987420,-2.104588],[40.999553,-2.092313],[41.007689,-2.094596],[41.042089,-2.081036],[41.060930,-2.064050],[41.065926,-2.065478],[41.064356,-2.055486],[41.075918,-2.052917],[41.089906,-2.041783]]],[[[41.137295,-2.040641],[41.150142,-2.051204],[41.128160,-2.043496],[41.137295,-2.040641]]],[[[41.251201,-2.010381],[41.255483,-2.012664],[41.246491,-2.026225],[41.244920,-2.019516],[41.251201,-2.010381]]],[[[41.192393,-2.002387],[41.195105,-2.012093],[41.187111,-2.031220],[41.140436,-2.020943],[41.140721,-2.016233],[41.147858,-2.013521],[41.146002,-2.010381],[41.160419,-2.012379],[41.171553,-2.008525],[41.173266,-2.014377],[41.176834,-2.007669],[41.182115,-2.009239],[41.179261,-2.006812],[41.192393,-2.002387]]],[[[41.201528,-2.000389],[41.215659,-2.015091],[41.211520,-2.027367],[41.196817,-2.024084],[41.200386,-2.013235],[41.197388,-2.001245],[41.201528,-2.000389]]],[[[41.134298,-1.995964],[41.134583,-2.002387],[41.131015,-2.000103],[41.134298,-1.995964]]],[[[41.219798,-1.988542],[41.221797,-1.995679],[41.213803,-1.996249],[41.213518,-1.990397],[41.219798,-1.988542]]],[[[41.275181,-1.982404],[41.279035,-1.995393],[41.270471,-1.991825],[41.275181,-1.982404]]],[[[41.196532,-1.981833],[41.201813,-1.985401],[41.197959,-1.992681],[41.196532,-1.981833]]],[[[40.856814,-1.979264],[40.857956,-1.982689],[40.852104,-1.983974],[40.856814,-1.979264]]],[[[40.853531,-1.975410],[40.855958,-1.977408],[40.846251,-1.980976],[40.853531,-1.975410]]],[[[41.265903,-1.963705],[41.273183,-1.976266],[41.268187,-1.987400],[41.259622,-1.980120],[41.261764,-1.982975],[41.256768,-1.987685],[41.262049,-1.984259],[41.265760,-1.988256],[41.256197,-1.993537],[41.266759,-1.990968],[41.274325,-1.997677],[41.282318,-1.994251],[41.304300,-1.968415],[41.307583,-1.971841],[41.257910,-2.033504],[41.236784,-2.047064],[41.267616,-2.009239],[41.268758,-2.002673],[41.251772,-1.996535],[41.247061,-1.988684],[41.247347,-1.973982],[41.265903,-1.963705]]],[[[41.209093,-1.958424],[41.207951,-1.971270],[41.204811,-1.965703],[41.209093,-1.958424]]],[[[41.511556,-1.751310],[41.497853,-1.770437],[41.491573,-1.771008],[41.494570,-1.761302],[41.511556,-1.751310]]],[[[38.765407,-0.047438],[38.857045,-0.068992],[38.882738,-0.071989],[38.899724,-0.066851],[38.924989,-0.101108],[38.973663,-0.093543],[39.013915,-0.063711],[39.064444,-0.056574],[39.083429,-0.063140],[39.136670,-0.127372],[39.160079,-0.139219],[39.177065,-0.126801],[39.165503,-0.110672],[39.236159,-0.114954],[39.236873,-0.142502],[39.260996,-0.147641],[39.275840,-0.143073],[39.281693,-0.130655],[39.277982,-0.116952],[39.311240,-0.114811],[39.384607,-0.152637],[39.396597,-0.166054],[39.434994,-0.171907],[39.468823,-0.196029],[39.525633,-0.246987],[39.533198,-0.262403],[39.576876,-0.294234],[39.584156,-0.307651],[39.603711,-0.325493],[39.586440,-0.342479],[39.602427,-0.355468],[39.620554,-0.436544],[39.638825,-0.463379],[39.641537,-0.502061],[39.660378,-0.520760],[39.670941,-0.547167],[39.678792,-0.552305],[39.702772,-0.537746],[39.713905,-0.551306],[39.716189,-0.563296],[39.726466,-0.563867],[39.708624,-0.590987],[39.718901,-0.600123],[39.747164,-0.601264],[39.771572,-0.615110],[39.786559,-0.644372],[39.808684,-0.639947],[39.830095,-0.679628],[39.854646,-0.751283],[39.855502,-0.771409],[39.884335,-0.847917],[39.890188,-0.905869],[39.916452,-0.958397],[39.900179,-0.967246],[39.905318,-1.013208],[39.925301,-1.025627],[39.959844,-1.097710],[39.962699,-1.112412],[39.983253,-1.131681],[39.992246,-1.158088],[40.012800,-1.190632],[40.000810,-1.197912],[40.015940,-1.225746],[40.026646,-1.260289],[40.036495,-1.260146],[40.030643,-1.319383],[40.059904,-1.419585],[40.049056,-1.424010],[40.063615,-1.500090],[40.075320,-1.498092],[40.085597,-1.509368],[40.110862,-1.569318],[40.137982,-1.599008],[40.144262,-1.656531],[40.141122,-1.702636],[40.152256,-1.717624],[40.152970,-1.726616],[40.141408,-1.757162],[40.141408,-1.782141],[40.171668,-1.870497],[40.169955,-1.906039],[40.175665,-1.925594],[40.169955,-1.947576],[40.183087,-1.981547],[40.178377,-1.998105],[40.187798,-2.009667],[40.197219,-2.036216],[40.200502,-2.028366],[40.245607,-2.004957],[40.433308,-1.920027],[40.478842,-1.892050],[40.498254,-1.885199],[40.512528,-1.903184],[40.917906,-1.711914],[40.946168,-1.701780],[40.985421,-1.699353],[40.991274,-1.687506],[41.172695,-1.670377],[41.172695,-1.684365],[41.571506,-1.646968],[41.550381,-1.674088],[41.518265,-1.702065],[41.496569,-1.735180],[41.495712,-1.745172],[41.459028,-1.780143],[41.467307,-1.779287],[41.472874,-1.772293],[41.471875,-1.779858],[41.476014,-1.771864],[41.478726,-1.774576],[41.486291,-1.766868],[41.489004,-1.777859],[41.480439,-1.798699],[41.466023,-1.800127],[41.465166,-1.791562],[41.453176,-1.802696],[41.456316,-1.787708],[41.436761,-1.806264],[41.447038,-1.812402],[41.429339,-1.808691],[41.436761,-1.820681],[41.428482,-1.823536],[41.412067,-1.840950],[41.425628,-1.840664],[41.424343,-1.849086],[41.430481,-1.838238],[41.438759,-1.841521],[41.387374,-1.891194],[41.411211,-1.854795],[41.404359,-1.858792],[41.390942,-1.872638],[41.392084,-1.879347],[41.386803,-1.876492],[41.377667,-1.885199],[41.381521,-1.891194],[41.375669,-1.898188],[41.376240,-1.888767],[41.369817,-1.894620],[41.362680,-1.913176],[41.353545,-1.922311],[41.350404,-1.924309],[41.346550,-1.917600],[41.340984,-1.920741],[41.339842,-1.924880],[41.346550,-1.928734],[41.322856,-1.953713],[41.317289,-1.952429],[41.316861,-1.962420],[41.312579,-1.965418],[41.313149,-1.958709],[41.304300,-1.959851],[41.297876,-1.972127],[41.280748,-1.987114],[41.270756,-1.964847],[41.260479,-1.962849],[41.261478,-1.954570],[41.257910,-1.966274],[41.242637,-1.963991],[41.236499,-1.969272],[41.234358,-1.961279],[41.230076,-1.972127],[41.224366,-1.945149],[41.235642,-1.940153],[41.226222,-1.940439],[41.227078,-1.934586],[41.223224,-1.939582],[41.219370,-1.914888],[41.219798,-1.942580],[41.215373,-1.952857],[41.205382,-1.945435],[41.204097,-1.934586],[41.202670,-1.941581],[41.196532,-1.939582],[41.198959,-1.932588],[41.195961,-1.933730],[41.194248,-1.927021],[41.191251,-1.937298],[41.194248,-1.934872],[41.194534,-1.939297],[41.179546,-1.932588],[41.167413,-1.948718],[41.172980,-1.947290],[41.178975,-1.935443],[41.200100,-1.947290],[41.200957,-1.950716],[41.190965,-1.950145],[41.188253,-1.956568],[41.192393,-1.952429],[41.203241,-1.953999],[41.197674,-1.957139],[41.195676,-1.968701],[41.188967,-1.966845],[41.196817,-1.971270],[41.193249,-1.987400],[41.183257,-1.978978],[41.171838,-1.979835],[41.183257,-1.980976],[41.182401,-1.986543],[41.191822,-1.996249],[41.172124,-2.004243],[41.162703,-1.999247],[41.159563,-2.002102],[41.157850,-1.995108],[41.152854,-1.998248],[41.144575,-1.990397],[41.143433,-1.998248],[41.132014,-1.992681],[41.125734,-1.997962],[41.129302,-1.988256],[41.125734,-1.992396],[41.125163,-1.980120],[41.117597,-1.990968],[41.113173,-1.985972],[41.112031,-1.991825],[41.105179,-1.993252],[41.103752,-2.002102],[41.096187,-1.990397],[41.099612,-2.005670],[41.096187,-2.001245],[41.083483,-2.013806],[41.076774,-2.007954],[41.075918,-1.997391],[41.078202,-2.018231],[41.044801,-2.032933],[41.034238,-2.053773],[41.029242,-2.050633],[41.012399,-2.055914],[40.989846,-2.041498],[40.978998,-2.019801],[40.982138,-1.999532],[40.991559,-1.979835],[40.985707,-1.948147],[41.000695,-1.934872],[41.006261,-1.919599],[41.017395,-1.909036],[41.009830,-1.908180],[41.007974,-1.912605],[41.003264,-1.908180],[40.990417,-1.930161],[40.973431,-1.939011],[40.971290,-1.955426],[40.975430,-1.968701],[40.969863,-1.979264],[40.975144,-1.989255],[40.959871,-2.017089],[40.961299,-2.026796],[40.980711,-2.052060],[40.980711,-2.066191],[40.965438,-2.078752],[40.947025,-2.084890],[40.933465,-2.077896],[40.939031,-2.059340],[40.918763,-2.033504],[40.920904,-1.998819],[40.906202,-1.992681],[40.892641,-1.995393],[40.878796,-1.992110],[40.862952,-1.973411],[40.863523,-1.977408],[40.828980,-1.970128],[40.810138,-1.962849],[40.807569,-1.957425],[40.807141,-1.962135],[40.823413,-1.973126],[40.845966,-1.980691],[40.868233,-1.997962],[40.891499,-2.008240],[40.890928,-2.014377],[40.886218,-2.015091],[40.878796,-2.006527],[40.881508,-2.014520],[40.890928,-2.016233],[40.898208,-2.004528],[40.905916,-2.010095],[40.904346,-2.042640],[40.909056,-2.054059],[40.906772,-2.059911],[40.912625,-2.060482],[40.913196,-2.065763],[40.897352,-2.065192],[40.901206,-2.050918],[40.897066,-2.047921],[40.900206,-2.051204],[40.894925,-2.062337],[40.898494,-2.068190],[40.892356,-2.068761],[40.907343,-2.069903],[40.916479,-2.093740],[40.921475,-2.210643],[40.926756,-2.219065],[40.936748,-2.219921],[40.930182,-2.229627],[40.934892,-2.229342],[40.942885,-2.240475],[40.937319,-2.231197],[40.941030,-2.221491],[40.963154,-2.223489],[40.961870,-2.228200],[40.969007,-2.236764],[40.966580,-2.223489],[40.976001,-2.226201],[40.976001,-2.237335],[40.990417,-2.261743],[40.970434,-2.281870],[40.958158,-2.309846],[40.946597,-2.318982],[40.931181,-2.322978],[40.924900,-2.323264],[40.912910,-2.313986],[40.920904,-2.302709],[40.922902,-2.288721],[40.938460,-2.290148],[40.942885,-2.285153],[40.951735,-2.288436],[40.945455,-2.283440],[40.935177,-2.288436],[40.927327,-2.285438],[40.907058,-2.257319],[40.900206,-2.235908],[40.908771,-2.219636],[40.902062,-2.225202],[40.885504,-2.215639],[40.890928,-2.242616],[40.870945,-2.242045],[40.847964,-2.252323],[40.835689,-2.267025],[40.822128,-2.270736],[40.818988,-2.277873],[40.814278,-2.276303],[40.816276,-2.280442],[40.805428,-2.291290],[40.797577,-2.282298],[40.798148,-2.275446],[40.820987,-2.246470],[40.808711,-2.248469],[40.811280,-2.257604],[40.797292,-2.269023],[40.793152,-2.280442],[40.808996,-2.304565],[40.808426,-2.310417],[40.799290,-2.303423],[40.776309,-2.299569],[40.775167,-2.290148],[40.784588,-2.268452],[40.781876,-2.263456],[40.766318,-2.259317],[40.762892,-2.264313],[40.746477,-2.251466],[40.761179,-2.267025],[40.771313,-2.263171],[40.777879,-2.265740],[40.769601,-2.282155],[40.771313,-2.298142],[40.762892,-2.297143],[40.761179,-2.288150],[40.760465,-2.294859],[40.798719,-2.317126],[40.798148,-2.328402],[40.790155,-2.333255],[40.779592,-2.329544],[40.768744,-2.317126],[40.756754,-2.313700],[40.740910,-2.299284],[40.723781,-2.297428],[40.743479,-2.303138],[40.751473,-2.314271],[40.771313,-2.325976],[40.777594,-2.333255],[40.775738,-2.343961],[40.781591,-2.357664],[40.778736,-2.335111],[40.797149,-2.342391],[40.804286,-2.355094],[40.818132,-2.359091],[40.826268,-2.374364],[40.824840,-2.392920],[40.780734,-2.428177],[40.770457,-2.454298],[40.743194,-2.454583],[40.706225,-2.475709],[40.677677,-2.498261],[40.649272,-2.533232],[40.609876,-2.560924],[40.543217,-2.540940],[40.538221,-2.534089],[40.495971,-2.515105],[40.481268,-2.521528],[40.501537,-2.517388],[40.532654,-2.539370],[40.529800,-2.541797],[40.530371,-2.536515],[40.523805,-2.532947],[40.505106,-2.532947],[40.457146,-2.541797],[40.384349,-2.570915],[40.346809,-2.591470],[40.354374,-2.577053],[40.350663,-2.573199],[40.338958,-2.596751],[40.272014,-2.645710],[40.266732,-2.646852],[40.269302,-2.638716],[40.260452,-2.647852],[40.260166,-2.655988],[40.224053,-2.694527],[40.198789,-2.734637],[40.188797,-2.734637],[40.185086,-2.727357],[40.193507,-2.745485],[40.186513,-2.761471],[40.180375,-2.765183],[40.175950,-2.784881],[40.186799,-2.777030],[40.183516,-2.828987],[40.171526,-2.855394],[40.172667,-2.899643],[40.163960,-2.934899],[40.166815,-2.957594],[40.161534,-2.956024],[40.169527,-2.964874],[40.168528,-2.960164],[40.174809,-2.960164],[40.190367,-2.986285],[40.184372,-2.979862],[40.177092,-2.980718],[40.168528,-2.992708],[40.169527,-2.998703],[40.180090,-2.987141],[40.187941,-2.995420],[40.212349,-2.993707],[40.237614,-2.977863],[40.241468,-2.989568],[40.238185,-2.996277],[40.231476,-2.993422],[40.223768,-3.001558],[40.201501,-3.010408],[40.195363,-3.030677],[40.174095,-3.041525],[40.169527,-3.052658],[40.173238,-3.069359],[40.155967,-3.083204],[40.163818,-3.131736],[40.147403,-3.166564],[40.135984,-3.161853],[40.140694,-3.171560],[40.120996,-3.202106],[40.130417,-3.224516],[40.126563,-3.249067],[40.132701,-3.255633],[40.126277,-3.279327],[40.113431,-3.299025],[40.074321,-3.319865],[40.055194,-3.336851],[40.028216,-3.348698],[40.021793,-3.357405],[40.015369,-3.356834],[40.012943,-3.363686],[40.006805,-3.361545],[39.976545,-3.390093],[39.969550,-3.387666],[39.971834,-3.354265],[39.965696,-3.344273],[39.972120,-3.340420],[39.977401,-3.350697],[39.982682,-3.344844],[39.987964,-3.347414],[39.983681,-3.332141],[39.991532,-3.321864],[39.969265,-3.325717],[39.972120,-3.330142],[39.963698,-3.331855],[39.961842,-3.342703],[39.957132,-3.344273],[39.965982,-3.353409],[39.961557,-3.375105],[39.969265,-3.372393],[39.967980,-3.380101],[39.963698,-3.384098],[39.957418,-3.375391],[39.961842,-3.389093],[39.967980,-3.393233],[39.969550,-3.406222],[39.926586,-3.494863],[39.903177,-3.567089],[39.871489,-3.631464],[39.865637,-3.637316],[39.845082,-3.635460],[39.841514,-3.627895],[39.827954,-3.621757],[39.821245,-3.609625],[39.813822,-3.613193],[39.811824,-3.621757],[39.808256,-3.610909],[39.800120,-3.606199],[39.795409,-3.608483],[39.805972,-3.610624],[39.811539,-3.623756],[39.811539,-3.633462],[39.805686,-3.630465],[39.802689,-3.636031],[39.810111,-3.647022],[39.820388,-3.647022],[39.827383,-3.637030],[39.837089,-3.633462],[39.863781,-3.643168],[39.869919,-3.666577],[39.869348,-3.674856],[39.862354,-3.679852],[39.868206,-3.680994],[39.870632,-3.697980],[39.844511,-3.765210],[39.830095,-3.823447],[39.787701,-3.909090],[39.775426,-3.943205],[39.766576,-3.953768],[39.752873,-3.959049],[39.760438,-3.958193],[39.764007,-3.962617],[39.728750,-4.003155],[39.726181,-4.013718],[39.731462,-4.017572],[39.729892,-4.024281],[39.722898,-4.026850],[39.701773,-4.060393],[39.687356,-4.065389],[39.680933,-4.054827],[39.681789,-4.044549],[39.673796,-4.043265],[39.676793,-4.032417],[39.652956,-4.018143],[39.649816,-4.022853],[39.643678,-4.016287],[39.642108,-4.023710],[39.651814,-4.031846],[39.647960,-4.037127],[39.638682,-4.034558],[39.638682,-4.039268],[39.649530,-4.038126],[39.658523,-4.029562],[39.675366,-4.036556],[39.671512,-4.044835],[39.679077,-4.047404],[39.675080,-4.052971],[39.683217,-4.069243],[39.671512,-4.080091],[39.662948,-4.077950],[39.647675,-4.061250],[39.640395,-4.042408],[39.627406,-4.047975],[39.617700,-4.042123],[39.590722,-4.045120],[39.586583,-4.050687],[39.585155,-4.036271],[39.573165,-4.025708],[39.566314,-4.025708],[39.565743,-4.037127],[39.559034,-4.041837],[39.566028,-4.038126],[39.568455,-4.026279],[39.578161,-4.031560],[39.581301,-4.042979],[39.571595,-4.041266],[39.566599,-4.048403],[39.574878,-4.068529],[39.588153,-4.067673],[39.575449,-4.086800],[39.591293,-4.074239],[39.593148,-4.063962],[39.621839,-4.057681],[39.629547,-4.063534],[39.637968,-4.057967],[39.638539,-4.050973],[39.644249,-4.072383],[39.665945,-4.083517],[39.677079,-4.082661],[39.675651,-4.093794],[39.630974,-4.180722],[39.614274,-4.203132],[39.597145,-4.258515],[39.599001,-4.270076],[39.571024,-4.330740],[39.549613,-4.392118],[39.539621,-4.437937],[39.533484,-4.438508],[39.533484,-4.428802],[39.529344,-4.429801],[39.524634,-4.419096],[39.515213,-4.422093],[39.509646,-4.441220],[39.503223,-4.443789],[39.507077,-4.446787],[39.500368,-4.444646],[39.500083,-4.465486],[39.480956,-4.482900],[39.472392,-4.501313],[39.462400,-4.533715],[39.465968,-4.544563],[39.450695,-4.586814],[39.444558,-4.585672],[39.442702,-4.592095],[39.435993,-4.589811],[39.435422,-4.571826],[39.427143,-4.559836],[39.431568,-4.550986],[39.440133,-4.550701],[39.436850,-4.547418],[39.448982,-4.525864],[39.443416,-4.535713],[39.428428,-4.532858],[39.441846,-4.538425],[39.426287,-4.549273],[39.422290,-4.558409],[39.412870,-4.550415],[39.411299,-4.554555],[39.418151,-4.553127],[39.424574,-4.565117],[39.424003,-4.569542],[39.417865,-4.567401],[39.422290,-4.572968],[39.417294,-4.580676],[39.402307,-4.590097],[39.394314,-4.577393],[39.398453,-4.586814],[39.394884,-4.603229],[39.400737,-4.608795],[39.398167,-4.619073],[39.402592,-4.623212],[39.405162,-4.619929],[39.413155,-4.622356],[39.412870,-4.634631],[39.402592,-4.647620],[39.383751,-4.649904],[39.348780,-4.640483],[39.328226,-4.646478],[39.305387,-4.638770],[39.305958,-4.615932],[39.310383,-4.613220],[39.306244,-4.612078],[39.304816,-4.596805],[39.314094,-4.580105],[39.298250,-4.599517],[39.292969,-4.579534],[39.296538,-4.598804],[39.287688,-4.618216],[39.280694,-4.615361],[39.281264,-4.593808],[39.276840,-4.596805],[39.270416,-4.586814],[39.259283,-4.588526],[39.271558,-4.590097],[39.277982,-4.601801],[39.274841,-4.627066],[39.264564,-4.626495],[39.267133,-4.616789],[39.262851,-4.623497],[39.257855,-4.620928],[39.253145,-4.627637],[39.251575,-4.624068],[39.249006,-4.635202],[39.236587,-4.634917],[39.246579,-4.642339],[39.239299,-4.645765],[39.236873,-4.661038],[39.231306,-4.658754],[39.226025,-4.671029],[39.219316,-4.670744],[39.209467,-4.660752],[39.203186,-4.662037],[39.199047,-4.652616],[38.452096,-4.142183],[37.992334,-3.813455],[37.795783,-3.679281],[37.747680,-3.545107],[37.702004,-3.530405],[37.673742,-3.508994],[37.626495,-3.530833],[37.613649,-3.527264],[37.604656,-3.506425],[37.627209,-3.467314],[37.592666,-3.464602],[37.593094,-3.444476],[37.666176,-3.364400],[37.690299,-3.355550],[37.691298,-3.330000],[37.718276,-3.313156],[37.697722,-3.188117],[37.827899,-3.178411],[37.842887,-3.188403],[37.856447,-3.185263],[37.863584,-3.170132],[37.860729,-3.088914],[37.878714,-3.085631],[37.904407,-2.893505],[37.925390,-2.874663],[37.945801,-2.783596],[37.946801,-2.779314],[37.977632,-2.789306],[38.130220,-2.704519],[38.152773,-2.701807],[38.160052,-2.694670],[38.168759,-2.699095],[38.174326,-2.691101],[38.237131,-2.734494],[38.281095,-2.773033],[38.310927,-2.817711],[38.334193,-2.838979],[38.362884,-2.892648],[38.399568,-2.929760],[38.421264,-2.937611],[38.463943,-2.986856],[38.482213,-2.986713],[38.496773,-2.976864],[38.543020,-2.976008],[38.616673,-2.997847],[38.681191,-3.035958],[38.713450,-3.036529],[38.816079,-3.058511],[38.831495,-3.046235],[38.851478,-3.052373],[38.877742,-3.037385],[38.917424,-3.034673],[38.926416,-3.028964],[38.967382,-3.031248],[38.989078,-3.019971],[39.020481,-3.013691],[39.035183,-3.013405],[39.051027,-3.030391],[39.072723,-3.035815],[39.076292,-3.041810],[39.084285,-3.039526],[39.082144,-3.027536],[39.049742,-2.989140],[38.631375,-2.420469],[38.654499,-2.422324],[38.685902,-2.412761],[38.728009,-2.383642],[38.735860,-2.369939],[38.766692,-2.357378],[38.776969,-2.358092],[38.794668,-2.337966],[38.927844,-2.078324],[38.924561,-2.069903],[38.999070,-1.913033],[38.944972,-1.705634],[38.974662,-1.687934],[38.983369,-1.673946],[38.981085,-1.636405],[38.990078,-1.636120],[38.983654,-1.544053],[38.975376,-1.541912],[38.963671,-1.257006],[38.949825,-1.054888],[38.811940,-0.759990],[38.600829,-0.398576],[38.596690,-0.398147],[38.405991,-0.060142],[38.427687,-0.066851],[38.442532,-0.077556],[38.502625,-0.054718],[38.519611,-0.044298],[38.532029,-0.023744],[38.549586,-0.012896],[38.615103,-0.033022],[38.627236,-0.046011],[38.676623,-0.042014],[38.728723,-0.060999],[38.748421,-0.062426],[38.747850,-0.049294],[38.765407,-0.047438]]]]
Knut
On Wed, May 19, 2010 at 2:01 PM, Jason Pickering > <jason.p.pickering@gmail.com> wrote:
I think this is a good step in the right direction,but should be
considered still, an interim solution. There are limitations (for
instance the specification of the coordinate system) which points to a
need to a more generic object model. There are some better
alternatives (GML for instance) in my opinion.For instance..
<gml:Point gml:id="p21" srsName="urn:ogc:def:crs:EPSG:6.6:4326">
<gml:pos dimension="2">45.67 88.56</gml:pos>
</gml:Point>Is not so much more work for us to store, but makes sure we can begin
to import and export relatively standard data to external systems.Regards,
JasonOn 5/19/10, Knut Staring <knutst@gmail.com> wrote:
On Wed, May 19, 2010 at 11:50 AM, <noreply@launchpad.net> wrote:
------------------------------------------------------------
revno: 1887
committer: Lars <larshelg@larshelg-laptop>
branch nick: trunk
timestamp: Wed 2010-05-19 11:48:29 +0200
message:
Added latitude, longitude, polygoncoordinates to dxfHappy to see this. I have been thinking that we don't really need
latitude and longitude when we have the coordinates, but that we need
a type field instead. The reason is that for GeoJSON generation we
need to support POINT, POLYGON and MULTIPOLYGON, and it make sense to
have these directly in the database. I have been experimenting a bit
with this lately, and it works great, but I was forced to store the
type in the geocode field.That being said, we may also consider having more than one coordinate
field, for different levels of detail, though I'm afraid that can
easily get messy.Knut
modified:
dhis-2/dhis-services/dhis-service-importexport/src/main/java/org/hisp/dhis/importexport/dxf/converter/OrganisationUnitConverter.java
dhis-2/dhis-support/dhis-support-jdbc/src/main/java/org/hisp/dhis/jdbc/batchhandler/OrganisationUnitBatchHandler.java--
lp:dhis2
trunk : Code : DHISYour team DHIS 2 developers is subscribed to branch lp:dhis2.
To unsubscribe from this branch go to
OpenID transaction in progress=== modified file
'dhis-2/dhis-services/dhis-service-importexport/src/main/java/org/hisp/dhis/importexport/dxf/converter/OrganisationUnitConverter.java'
---
dhis-2/dhis-services/dhis-service-importexport/src/main/java/org/hisp/dhis/importexport/dxf/converter/OrganisationUnitConverter.java
2010-04-12 21:23:33 +0000
+++
dhis-2/dhis-services/dhis-service-importexport/src/main/java/org/hisp/dhis/importexport/dxf/converter/OrganisationUnitConverter.java
2010-05-19 09:48:29 +0000
@@ -65,6 +65,9 @@
private static final String FIELD_ACTIVE = "active";
private static final String FIELD_COMMENT = "comment";
private static final String FIELD_GEO_CODE = "geoCode";
+ private static final String FIELD_POLYGON_COORDINATES =
"polygonCoordinates";
+ private static final String FIELD_LATITUDE = "latitude";
+ private static final String FIELD_LONGITUDE = "longitude";
private static final String FIELD_LAST_UPDATED = "lastUpdated";//
-------------------------------------------------------------------------
@@ -123,6 +126,9 @@
writer.writeElement( FIELD_ACTIVE, String.valueOf(
unit.isActive() ) );
writer.writeElement( FIELD_COMMENT, unit.getComment() );
writer.writeElement( FIELD_GEO_CODE, unit.getGeoCode() );
+ writer.writeElement( FIELD_POLYGON_COORDINATES,
unit.getPolygonCoordinates() );
+ writer.writeElement( FIELD_LATITUDE, unit.getLatitude()
);
+ writer.writeElement( FIELD_LONGITUDE, unit.getLongitude()
);
writer.writeElement( FIELD_LAST_UPDATED,
DateUtils.getMediumDateString( unit.getLastUpdated(), EMPTY ) );writer\.closeElement\(\);
@@ -150,6 +156,9 @@
unit.setActive( Boolean.parseBoolean( values.get( FIELD_ACTIVE
) ) );
unit.setComment( values.get( FIELD_COMMENT ) );
unit.setGeoCode( values.get( FIELD_GEO_CODE ) );
+ unit.setPolygonCoordinates( values.get(
FIELD_POLYGON_COORDINATES ) );
+ unit.setLatitude( values.get( FIELD_LATITUDE ) );
+ unit.setLongitude( values.get( FIELD_LONGITUDE ) );
unit.setLastUpdated( DateUtils.getMediumDate( values.get(
FIELD_LAST_UPDATED ) ) );NameMappingUtil\.addOrganisationUnitMapping\( unit\.getId\(\),
unit.getName() );
=== modified file
'dhis-2/dhis-support/dhis-support-jdbc/src/main/java/org/hisp/dhis/jdbc/batchhandler/OrganisationUnitBatchHandler.java'
---
dhis-2/dhis-support/dhis-support-jdbc/src/main/java/org/hisp/dhis/jdbc/batchhandler/OrganisationUnitBatchHandler.java
2010-04-12 21:23:33 +0000
+++
dhis-2/dhis-support/dhis-support-jdbc/src/main/java/org/hisp/dhis/jdbc/batchhandler/OrganisationUnitBatchHandler.java
2010-05-19 09:48:29 +0000
@@ -95,6 +95,7 @@
statementBuilder.setColumn( "active" );
statementBuilder.setColumn( "comment" );
statementBuilder.setColumn( "geocode" );
+ statementBuilder.setColumn( "polygoncoordinates" );
statementBuilder.setColumn( "latitude" );
statementBuilder.setColumn( "longitude" );
statementBuilder.setColumn( "lastUpdated" );
@@ -113,6 +114,7 @@
statementBuilder.setValue( unit.isActive() );
statementBuilder.setValue( unit.getComment() );
statementBuilder.setValue( unit.getGeoCode() );
+ statementBuilder.setValue( unit.getPolygonCoordinates() );
statementBuilder.setValue( unit.getLatitude() );
statementBuilder.setValue( unit.getLongitude() );
statementBuilder.setValue( unit.getLastUpdated() );_______________________________________________
Mailing list: https://launchpad.net/~dhis2-devs
Post to : dhis2-devs@lists.launchpad.net
Unsubscribe : https://launchpad.net/~dhis2-devs
More help : https://help.launchpad.net/ListHelp--
Cheers,
Knut Staring_______________________________________________
Mailing list: https://launchpad.net/~dhis2-devs
Post to : dhis2-devs@lists.launchpad.net
Unsubscribe : https://launchpad.net/~dhis2-devs
More help : https://help.launchpad.net/ListHelp--
--
Jason P. Pickering
email: jason.p.pickering@gmail.com
tel:+260968395190--
Cheers,
Knut Staring_______________________________________________
Mailing list: https://launchpad.net/~dhis2-devs
Post to : dhis2-devs@lists.launchpad.net
Unsubscribe : https://launchpad.net/~dhis2-devs
More help : https://help.launchpad.net/ListHelp
I'm fine with using GML or KML as the exchange format and keeping the
JSON snippets in the database. OpenLayers and GeoExt can also slurp up
GML or KML, but I think it would mean bigger files and more processing
(?).
Writing converters shouldn't be a huge task.
Knut
···
On Wed, May 19, 2010 at 3:00 PM, Bob Jolliffe <bobjolliffe@gmail.com> wrote:
Good to see this stuff coming in. I guess it is at least in part
related to transforming external GIS sources to dxf?Two points:
1. We need to make sure that we track these changes/additions in the
dxf schema. Otherwise it will start to become useless.
2. I think how we store the data internally and how we express it as
xml should be treated as different (if intimately related) problems.
An element like:<organisationUnit>
...
<polygonCoordinates>[[[39.376186,-4.715707],[39.379326,-4.719846],[39.373474,-4.717134],[39.376186,-4.715707]]],[[[39.406875,-4.683162],[39.400737,-4.690442],[39.394884,-4.687873],[39.406875,-4.683162]]],[[[39.269560,-4.652902],[39.286260,-4.663179],[39.29
...</polygonCoordinates>
...
</organisationUnit>is both unsightly and terribly bad practice. This xml would be not
much more use than a database sql dump. We have already made that
mistake with serializing all the table relations as xml. It would be
a shame to repeat it again here where we have a fresh opportunity.I would strongly support Jason's suggestion that we not try to
reinvent a GIS markup - which we will probably do badly - but rather
that we simply embed those elements from GML (or KML or whichever -
you guys are the experts) which we need. eg:<organisationUnit>
...
<location><gml:Point>...</Point></location>
<area><gml:Polygon>,</gml:Polygon></area>
...
</organisationUnit>How we choose to represent those in the database is different. if it
is totally impractical to use a standard gis markup (and I hope its
not) then at the very least we should ensure that we use home-grown
xml to represent the entities rather than embedded json. How else
would an xml parser be able to make any sense of this.I guess the implication of what I am saying is that
writer.writeElement( FIELD_POLYGON_COORDINATES,
unit.getPolygonCoordinates() ); would need to be expanded in order to
not just dump the database content into the xml element. Or wrapped
as
writer.writeElement( FIELD_POLYGON_COORDINATES,
unit.getPolygonCoordinatesAsXML() )Regards
BobOn 19 May 2010 13:14, Knut Staring <knutst@gmail.com> wrote:
I see your point, Jason, but I think the most efficient would be to
continue to store the coordinates as GeoJSON (to minimize processing
for maps inside the system), and just generate the GML when exporting
to external formats.For this, we should always use 4326 as projection. If in the future we
want to deviate from that, we should definitely use Geoserver (which
is a good idea anyway, e.g. to act as a Web Map Server to external
applications), but this is not urgent.Here is how I am currently representing things in the database, which
makes it really easy to generate GeoJSON on the fly:Point [ 36.95, -0.93 ]
MultiPolygon
[[[[39.376186,-4.715707],[39.379326,-4.719846],[39.373474,-4.717134],[39.376186,-4.715707]]],[[[39.406875,-4.683162],[39.400737,-4.690442],[39.394884,-4.687873],[39.406875,-4.683162]]],[[[39.269560,-4.652902],[39.286260,-4.663179],[39.294539,-4.662037],[39.283263,-4.671458],[39.276840,-4.670744],[39.267847,-4.659325],[39.269560,-4.652902]]],[[[39.360484,-4.652902],[39.365909,-4.657897],[39.389889,-4.661751],[39.400451,-4.657612],[39.406875,-4.674598],[39.403163,-4.677881],[39.405733,-4.671743],[39.400737,-4.674312],[39.396597,-4.669317],[39.366765,-4.671743],[39.348209,-4.666747],[39.360484,-4.652902]]],[[[39.295967,-4.607368],[39.298821,-4.611793],[39.292969,-4.618787],[39.295967,-4.607368]]],[[[39.302675,-4.598804],[39.303532,-4.607939],[39.299250,-4.609081],[39.296823,-4.603800],[39.302675,-4.598804]]],[[[39.597431,-4.049831],[39.603426,-4.052686],[39.589295,-4.058681],[39.589580,-4.053685],[39.596574,-4.052971],[39.589580,-4.051544],[39.597431,-4.049831]]],[[[39.975688,-3.333711],[39.979257,-3.336566],[39.972405,-3.336566],[39.975688,-3.333711]]],[[[40.784303,-2.302138],[40.800718,-2.304850],[40.806855,-2.314842],[40.784303,-2.302138]]],[[[40.877654,-2.245186],[40.897923,-2.255463],[40.916479,-2.296572],[40.866235,-2.302852],[40.817133,-2.337395],[40.812850,-2.303994],[40.817846,-2.281299],[40.837116,-2.268452],[40.847393,-2.254892],[40.877654,-2.245186]]],[[[40.980426,-2.221777],[40.985992,-2.229056],[40.991559,-2.227629],[40.992416,-2.232910],[40.982852,-2.229913],[40.980426,-2.221777]]],[[[40.892641,-2.218494],[40.897637,-2.227914],[40.893783,-2.236193],[40.888502,-2.229627],[40.892641,-2.218494]]],[[[41.089906,-2.041783],[41.123164,-2.046208],[41.135725,-2.055486],[41.144004,-2.071473],[41.166271,-2.081036],[41.170982,-2.092884],[41.158992,-2.097594],[41.167984,-2.096595],[41.173266,-2.106016],[41.146002,-2.128711],[41.131015,-2.132422],[41.125163,-2.127426],[41.135725,-2.116864],[41.118168,-2.103161],[41.122022,-2.112153],[41.127875,-2.114009],[41.119025,-2.126570],[41.114029,-2.123430],[41.115456,-2.136276],[41.111317,-2.140416],[41.092618,-2.143699],[41.079058,-2.139559],[41.078487,-2.132422],[41.058504,-2.141557],[41.045372,-2.142128],[41.062072,-2.158543],[41.056220,-2.166822],[41.042374,-2.161541],[41.043231,-2.145126],[41.035095,-2.147124],[41.039519,-2.127855],[41.025674,-2.149265],[41.011828,-2.149551],[41.007689,-2.154261],[40.999267,-2.147410],[41.005405,-2.160113],[41.000124,-2.165395],[40.996841,-2.157116],[40.992130,-2.158258],[40.994271,-2.167679],[40.999838,-2.182666],[41.006832,-2.181239],[41.009544,-2.185378],[41.008973,-2.197368],[41.016253,-2.202650],[41.009259,-2.209929],[40.999553,-2.209358],[40.988704,-2.199081],[40.987420,-2.179098],[40.979855,-2.172389],[40.978713,-2.185949],[40.976286,-2.180382],[40.973146,-2.186520],[40.967865,-2.185093],[40.974859,-2.177670],[40.967294,-2.172960],[40.960442,-2.150407],[40.964296,-2.139845],[40.971005,-2.138417],[40.972432,-2.142414],[40.967294,-2.130995],[40.971861,-2.111011],[40.987420,-2.104588],[40.999553,-2.092313],[41.007689,-2.094596],[41.042089,-2.081036],[41.060930,-2.064050],[41.065926,-2.065478],[41.064356,-2.055486],[41.075918,-2.052917],[41.089906,-2.041783]]],[[[41.137295,-2.040641],[41.150142,-2.051204],[41.128160,-2.043496],[41.137295,-2.040641]]],[[[41.251201,-2.010381],[41.255483,-2.012664],[41.246491,-2.026225],[41.244920,-2.019516],[41.251201,-2.010381]]],[[[41.192393,-2.002387],[41.195105,-2.012093],[41.187111,-2.031220],[41.140436,-2.020943],[41.140721,-2.016233],[41.147858,-2.013521],[41.146002,-2.010381],[41.160419,-2.012379],[41.171553,-2.008525],[41.173266,-2.014377],[41.176834,-2.007669],[41.182115,-2.009239],[41.179261,-2.006812],[41.192393,-2.002387]]],[[[41.201528,-2.000389],[41.215659,-2.015091],[41.211520,-2.027367],[41.196817,-2.024084],[41.200386,-2.013235],[41.197388,-2.001245],[41.201528,-2.000389]]],[[[41.134298,-1.995964],[41.134583,-2.002387],[41.131015,-2.000103],[41.134298,-1.995964]]],[[[41.219798,-1.988542],[41.221797,-1.995679],[41.213803,-1.996249],[41.213518,-1.990397],[41.219798,-1.988542]]],[[[41.275181,-1.982404],[41.279035,-1.995393],[41.270471,-1.991825],[41.275181,-1.982404]]],[[[41.196532,-1.981833],[41.201813,-1.985401],[41.197959,-1.992681],[41.196532,-1.981833]]],[[[40.856814,-1.979264],[40.857956,-1.982689],[40.852104,-1.983974],[40.856814,-1.979264]]],[[[40.853531,-1.975410],[40.855958,-1.977408],[40.846251,-1.980976],[40.853531,-1.975410]]],[[[41.265903,-1.963705],[41.273183,-1.976266],[41.268187,-1.987400],[41.259622,-1.980120],[41.261764,-1.982975],[41.256768,-1.987685],[41.262049,-1.984259],[41.265760,-1.988256],[41.256197,-1.993537],[41.266759,-1.990968],[41.274325,-1.997677],[41.282318,-1.994251],[41.304300,-1.968415],[41.307583,-1.971841],[41.257910,-2.033504],[41.236784,-2.047064],[41.267616,-2.009239],[41.268758,-2.002673],[41.251772,-1.996535],[41.247061,-1.988684],[41.247347,-1.973982],[41.265903,-1.963705]]],[[[41.209093,-1.958424],[41.207951,-1.971270],[41.204811,-1.965703],[41.209093,-1.958424]]],[[[41.511556,-1.751310],[41.497853,-1.770437],[41.491573,-1.771008],[41.494570,-1.761302],[41.511556,-1.751310]]],[[[38.765407,-0.047438],[38.857045,-0.068992],[38.882738,-0.071989],[38.899724,-0.066851],[38.924989,-0.101108],[38.973663,-0.093543],[39.013915,-0.063711],[39.064444,-0.056574],[39.083429,-0.063140],[39.136670,-0.127372],[39.160079,-0.139219],[39.177065,-0.126801],[39.165503,-0.110672],[39.236159,-0.114954],[39.236873,-0.142502],[39.260996,-0.147641],[39.275840,-0.143073],[39.281693,-0.130655],[39.277982,-0.116952],[39.311240,-0.114811],[39.384607,-0.152637],[39.396597,-0.166054],[39.434994,-0.171907],[39.468823,-0.196029],[39.525633,-0.246987],[39.533198,-0.262403],[39.576876,-0.294234],[39.584156,-0.307651],[39.603711,-0.325493],[39.586440,-0.342479],[39.602427,-0.355468],[39.620554,-0.436544],[39.638825,-0.463379],[39.641537,-0.502061],[39.660378,-0.520760],[39.670941,-0.547167],[39.678792,-0.552305],[39.702772,-0.537746],[39.713905,-0.551306],[39.716189,-0.563296],[39.726466,-0.563867],[39.708624,-0.590987],[39.718901,-0.600123],[39.747164,-0.601264],[39.771572,-0.615110],[39.786559,-0.644372],[39.808684,-0.639947],[39.830095,-0.679628],[39.854646,-0.751283],[39.855502,-0.771409],[39.884335,-0.847917],[39.890188,-0.905869],[39.916452,-0.958397],[39.900179,-0.967246],[39.905318,-1.013208],[39.925301,-1.025627],[39.959844,-1.097710],[39.962699,-1.112412],[39.983253,-1.131681],[39.992246,-1.158088],[40.012800,-1.190632],[40.000810,-1.197912],[40.015940,-1.225746],[40.026646,-1.260289],[40.036495,-1.260146],[40.030643,-1.319383],[40.059904,-1.419585],[40.049056,-1.424010],[40.063615,-1.500090],[40.075320,-1.498092],[40.085597,-1.509368],[40.110862,-1.569318],[40.137982,-1.599008],[40.144262,-1.656531],[40.141122,-1.702636],[40.152256,-1.717624],[40.152970,-1.726616],[40.141408,-1.757162],[40.141408,-1.782141],[40.171668,-1.870497],[40.169955,-1.906039],[40.175665,-1.925594],[40.169955,-1.947576],[40.183087,-1.981547],[40.178377,-1.998105],[40.187798,-2.009667],[40.197219,-2.036216],[40.200502,-2.028366],[40.245607,-2.004957],[40.433308,-1.920027],[40.478842,-1.892050],[40.498254,-1.885199],[40.512528,-1.903184],[40.917906,-1.711914],[40.946168,-1.701780],[40.985421,-1.699353],[40.991274,-1.687506],[41.172695,-1.670377],[41.172695,-1.684365],[41.571506,-1.646968],[41.550381,-1.674088],[41.518265,-1.702065],[41.496569,-1.735180],[41.495712,-1.745172],[41.459028,-1.780143],[41.467307,-1.779287],[41.472874,-1.772293],[41.471875,-1.779858],[41.476014,-1.771864],[41.478726,-1.774576],[41.486291,-1.766868],[41.489004,-1.777859],[41.480439,-1.798699],[41.466023,-1.800127],[41.465166,-1.791562],[41.453176,-1.802696],[41.456316,-1.787708],[41.436761,-1.806264],[41.447038,-1.812402],[41.429339,-1.808691],[41.436761,-1.820681],[41.428482,-1.823536],[41.412067,-1.840950],[41.425628,-1.840664],[41.424343,-1.849086],[41.430481,-1.838238],[41.438759,-1.841521],[41.387374,-1.891194],[41.411211,-1.854795],[41.404359,-1.858792],[41.390942,-1.872638],[41.392084,-1.879347],[41.386803,-1.876492],[41.377667,-1.885199],[41.381521,-1.891194],[41.375669,-1.898188],[41.376240,-1.888767],[41.369817,-1.894620],[41.362680,-1.913176],[41.353545,-1.922311],[41.350404,-1.924309],[41.346550,-1.917600],[41.340984,-1.920741],[41.339842,-1.924880],[41.346550,-1.928734],[41.322856,-1.953713],[41.317289,-1.952429],[41.316861,-1.962420],[41.312579,-1.965418],[41.313149,-1.958709],[41.304300,-1.959851],[41.297876,-1.972127],[41.280748,-1.987114],[41.270756,-1.964847],[41.260479,-1.962849],[41.261478,-1.954570],[41.257910,-1.966274],[41.242637,-1.963991],[41.236499,-1.969272],[41.234358,-1.961279],[41.230076,-1.972127],[41.224366,-1.945149],[41.235642,-1.940153],[41.226222,-1.940439],[41.227078,-1.934586],[41.223224,-1.939582],[41.219370,-1.914888],[41.219798,-1.942580],[41.215373,-1.952857],[41.205382,-1.945435],[41.204097,-1.934586],[41.202670,-1.941581],[41.196532,-1.939582],[41.198959,-1.932588],[41.195961,-1.933730],[41.194248,-1.927021],[41.191251,-1.937298],[41.194248,-1.934872],[41.194534,-1.939297],[41.179546,-1.932588],[41.167413,-1.948718],[41.172980,-1.947290],[41.178975,-1.935443],[41.200100,-1.947290],[41.200957,-1.950716],[41.190965,-1.950145],[41.188253,-1.956568],[41.192393,-1.952429],[41.203241,-1.953999],[41.197674,-1.957139],[41.195676,-1.968701],[41.188967,-1.966845],[41.196817,-1.971270],[41.193249,-1.987400],[41.183257,-1.978978],[41.171838,-1.979835],[41.183257,-1.980976],[41.182401,-1.986543],[41.191822,-1.996249],[41.172124,-2.004243],[41.162703,-1.999247],[41.159563,-2.002102],[41.157850,-1.995108],[41.152854,-1.998248],[41.144575,-1.990397],[41.143433,-1.998248],[41.132014,-1.992681],[41.125734,-1.997962],[41.129302,-1.988256],[41.125734,-1.992396],[41.125163,-1.980120],[41.117597,-1.990968],[41.113173,-1.985972],[41.112031,-1.991825],[41.105179,-1.993252],[41.103752,-2.002102],[41.096187,-1.990397],[41.099612,-2.005670],[41.096187,-2.001245],[41.083483,-2.013806],[41.076774,-2.007954],[41.075918,-1.997391],[41.078202,-2.018231],[41.044801,-2.032933],[41.034238,-2.053773],[41.029242,-2.050633],[41.012399,-2.055914],[40.989846,-2.041498],[40.978998,-2.019801],[40.982138,-1.999532],[40.991559,-1.979835],[40.985707,-1.948147],[41.000695,-1.934872],[41.006261,-1.919599],[41.017395,-1.909036],[41.009830,-1.908180],[41.007974,-1.912605],[41.003264,-1.908180],[40.990417,-1.930161],[40.973431,-1.939011],[40.971290,-1.955426],[40.975430,-1.968701],[40.969863,-1.979264],[40.975144,-1.989255],[40.959871,-2.017089],[40.961299,-2.026796],[40.980711,-2.052060],[40.980711,-2.066191],[40.965438,-2.078752],[40.947025,-2.084890],[40.933465,-2.077896],[40.939031,-2.059340],[40.918763,-2.033504],[40.920904,-1.998819],[40.906202,-1.992681],[40.892641,-1.995393],[40.878796,-1.992110],[40.862952,-1.973411],[40.863523,-1.977408],[40.828980,-1.970128],[40.810138,-1.962849],[40.807569,-1.957425],[40.807141,-1.962135],[40.823413,-1.973126],[40.845966,-1.980691],[40.868233,-1.997962],[40.891499,-2.008240],[40.890928,-2.014377],[40.886218,-2.015091],[40.878796,-2.006527],[40.881508,-2.014520],[40.890928,-2.016233],[40.898208,-2.004528],[40.905916,-2.010095],[40.904346,-2.042640],[40.909056,-2.054059],[40.906772,-2.059911],[40.912625,-2.060482],[40.913196,-2.065763],[40.897352,-2.065192],[40.901206,-2.050918],[40.897066,-2.047921],[40.900206,-2.051204],[40.894925,-2.062337],[40.898494,-2.068190],[40.892356,-2.068761],[40.907343,-2.069903],[40.916479,-2.093740],[40.921475,-2.210643],[40.926756,-2.219065],[40.936748,-2.219921],[40.930182,-2.229627],[40.934892,-2.229342],[40.942885,-2.240475],[40.937319,-2.231197],[40.941030,-2.221491],[40.963154,-2.223489],[40.961870,-2.228200],[40.969007,-2.236764],[40.966580,-2.223489],[40.976001,-2.226201],[40.976001,-2.237335],[40.990417,-2.261743],[40.970434,-2.281870],[40.958158,-2.309846],[40.946597,-2.318982],[40.931181,-2.322978],[40.924900,-2.323264],[40.912910,-2.313986],[40.920904,-2.302709],[40.922902,-2.288721],[40.938460,-2.290148],[40.942885,-2.285153],[40.951735,-2.288436],[40.945455,-2.283440],[40.935177,-2.288436],[40.927327,-2.285438],[40.907058,-2.257319],[40.900206,-2.235908],[40.908771,-2.219636],[40.902062,-2.225202],[40.885504,-2.215639],[40.890928,-2.242616],[40.870945,-2.242045],[40.847964,-2.252323],[40.835689,-2.267025],[40.822128,-2.270736],[40.818988,-2.277873],[40.814278,-2.276303],[40.816276,-2.280442],[40.805428,-2.291290],[40.797577,-2.282298],[40.798148,-2.275446],[40.820987,-2.246470],[40.808711,-2.248469],[40.811280,-2.257604],[40.797292,-2.269023],[40.793152,-2.280442],[40.808996,-2.304565],[40.808426,-2.310417],[40.799290,-2.303423],[40.776309,-2.299569],[40.775167,-2.290148],[40.784588,-2.268452],[40.781876,-2.263456],[40.766318,-2.259317],[40.762892,-2.264313],[40.746477,-2.251466],[40.761179,-2.267025],[40.771313,-2.263171],[40.777879,-2.265740],[40.769601,-2.282155],[40.771313,-2.298142],[40.762892,-2.297143],[40.761179,-2.288150],[40.760465,-2.294859],[40.798719,-2.317126],[40.798148,-2.328402],[40.790155,-2.333255],[40.779592,-2.329544],[40.768744,-2.317126],[40.756754,-2.313700],[40.740910,-2.299284],[40.723781,-2.297428],[40.743479,-2.303138],[40.751473,-2.314271],[40.771313,-2.325976],[40.777594,-2.333255],[40.775738,-2.343961],[40.781591,-2.357664],[40.778736,-2.335111],[40.797149,-2.342391],[40.804286,-2.355094],[40.818132,-2.359091],[40.826268,-2.374364],[40.824840,-2.392920],[40.780734,-2.428177],[40.770457,-2.454298],[40.743194,-2.454583],[40.706225,-2.475709],[40.677677,-2.498261],[40.649272,-2.533232],[40.609876,-2.560924],[40.543217,-2.540940],[40.538221,-2.534089],[40.495971,-2.515105],[40.481268,-2.521528],[40.501537,-2.517388],[40.532654,-2.539370],[40.529800,-2.541797],[40.530371,-2.536515],[40.523805,-2.532947],[40.505106,-2.532947],[40.457146,-2.541797],[40.384349,-2.570915],[40.346809,-2.591470],[40.354374,-2.577053],[40.350663,-2.573199],[40.338958,-2.596751],[40.272014,-2.645710],[40.266732,-2.646852],[40.269302,-2.638716],[40.260452,-2.647852],[40.260166,-2.655988],[40.224053,-2.694527],[40.198789,-2.734637],[40.188797,-2.734637],[40.185086,-2.727357],[40.193507,-2.745485],[40.186513,-2.761471],[40.180375,-2.765183],[40.175950,-2.784881],[40.186799,-2.777030],[40.183516,-2.828987],[40.171526,-2.855394],[40.172667,-2.899643],[40.163960,-2.934899],[40.166815,-2.957594],[40.161534,-2.956024],[40.169527,-2.964874],[40.168528,-2.960164],[40.174809,-2.960164],[40.190367,-2.986285],[40.184372,-2.979862],[40.177092,-2.980718],[40.168528,-2.992708],[40.169527,-2.998703],[40.180090,-2.987141],[40.187941,-2.995420],[40.212349,-2.993707],[40.237614,-2.977863],[40.241468,-2.989568],[40.238185,-2.996277],[40.231476,-2.993422],[40.223768,-3.001558],[40.201501,-3.010408],[40.195363,-3.030677],[40.174095,-3.041525],[40.169527,-3.052658],[40.173238,-3.069359],[40.155967,-3.083204],[40.163818,-3.131736],[40.147403,-3.166564],[40.135984,-3.161853],[40.140694,-3.171560],[40.120996,-3.202106],[40.130417,-3.224516],[40.126563,-3.249067],[40.132701,-3.255633],[40.126277,-3.279327],[40.113431,-3.299025],[40.074321,-3.319865],[40.055194,-3.336851],[40.028216,-3.348698],[40.021793,-3.357405],[40.015369,-3.356834],[40.012943,-3.363686],[40.006805,-3.361545],[39.976545,-3.390093],[39.969550,-3.387666],[39.971834,-3.354265],[39.965696,-3.344273],[39.972120,-3.340420],[39.977401,-3.350697],[39.982682,-3.344844],[39.987964,-3.347414],[39.983681,-3.332141],[39.991532,-3.321864],[39.969265,-3.325717],[39.972120,-3.330142],[39.963698,-3.331855],[39.961842,-3.342703],[39.957132,-3.344273],[39.965982,-3.353409],[39.961557,-3.375105],[39.969265,-3.372393],[39.967980,-3.380101],[39.963698,-3.384098],[39.957418,-3.375391],[39.961842,-3.389093],[39.967980,-3.393233],[39.969550,-3.406222],[39.926586,-3.494863],[39.903177,-3.567089],[39.871489,-3.631464],[39.865637,-3.637316],[39.845082,-3.635460],[39.841514,-3.627895],[39.827954,-3.621757],[39.821245,-3.609625],[39.813822,-3.613193],[39.811824,-3.621757],[39.808256,-3.610909],[39.800120,-3.606199],[39.795409,-3.608483],[39.805972,-3.610624],[39.811539,-3.623756],[39.811539,-3.633462],[39.805686,-3.630465],[39.802689,-3.636031],[39.810111,-3.647022],[39.820388,-3.647022],[39.827383,-3.637030],[39.837089,-3.633462],[39.863781,-3.643168],[39.869919,-3.666577],[39.869348,-3.674856],[39.862354,-3.679852],[39.868206,-3.680994],[39.870632,-3.697980],[39.844511,-3.765210],[39.830095,-3.823447],[39.787701,-3.909090],[39.775426,-3.943205],[39.766576,-3.953768],[39.752873,-3.959049],[39.760438,-3.958193],[39.764007,-3.962617],[39.728750,-4.003155],[39.726181,-4.013718],[39.731462,-4.017572],[39.729892,-4.024281],[39.722898,-4.026850],[39.701773,-4.060393],[39.687356,-4.065389],[39.680933,-4.054827],[39.681789,-4.044549],[39.673796,-4.043265],[39.676793,-4.032417],[39.652956,-4.018143],[39.649816,-4.022853],[39.643678,-4.016287],[39.642108,-4.023710],[39.651814,-4.031846],[39.647960,-4.037127],[39.638682,-4.034558],[39.638682,-4.039268],[39.649530,-4.038126],[39.658523,-4.029562],[39.675366,-4.036556],[39.671512,-4.044835],[39.679077,-4.047404],[39.675080,-4.052971],[39.683217,-4.069243],[39.671512,-4.080091],[39.662948,-4.077950],[39.647675,-4.061250],[39.640395,-4.042408],[39.627406,-4.047975],[39.617700,-4.042123],[39.590722,-4.045120],[39.586583,-4.050687],[39.585155,-4.036271],[39.573165,-4.025708],[39.566314,-4.025708],[39.565743,-4.037127],[39.559034,-4.041837],[39.566028,-4.038126],[39.568455,-4.026279],[39.578161,-4.031560],[39.581301,-4.042979],[39.571595,-4.041266],[39.566599,-4.048403],[39.574878,-4.068529],[39.588153,-4.067673],[39.575449,-4.086800],[39.591293,-4.074239],[39.593148,-4.063962],[39.621839,-4.057681],[39.629547,-4.063534],[39.637968,-4.057967],[39.638539,-4.050973],[39.644249,-4.072383],[39.665945,-4.083517],[39.677079,-4.082661],[39.675651,-4.093794],[39.630974,-4.180722],[39.614274,-4.203132],[39.597145,-4.258515],[39.599001,-4.270076],[39.571024,-4.330740],[39.549613,-4.392118],[39.539621,-4.437937],[39.533484,-4.438508],[39.533484,-4.428802],[39.529344,-4.429801],[39.524634,-4.419096],[39.515213,-4.422093],[39.509646,-4.441220],[39.503223,-4.443789],[39.507077,-4.446787],[39.500368,-4.444646],[39.500083,-4.465486],[39.480956,-4.482900],[39.472392,-4.501313],[39.462400,-4.533715],[39.465968,-4.544563],[39.450695,-4.586814],[39.444558,-4.585672],[39.442702,-4.592095],[39.435993,-4.589811],[39.435422,-4.571826],[39.427143,-4.559836],[39.431568,-4.550986],[39.440133,-4.550701],[39.436850,-4.547418],[39.448982,-4.525864],[39.443416,-4.535713],[39.428428,-4.532858],[39.441846,-4.538425],[39.426287,-4.549273],[39.422290,-4.558409],[39.412870,-4.550415],[39.411299,-4.554555],[39.418151,-4.553127],[39.424574,-4.565117],[39.424003,-4.569542],[39.417865,-4.567401],[39.422290,-4.572968],[39.417294,-4.580676],[39.402307,-4.590097],[39.394314,-4.577393],[39.398453,-4.586814],[39.394884,-4.603229],[39.400737,-4.608795],[39.398167,-4.619073],[39.402592,-4.623212],[39.405162,-4.619929],[39.413155,-4.622356],[39.412870,-4.634631],[39.402592,-4.647620],[39.383751,-4.649904],[39.348780,-4.640483],[39.328226,-4.646478],[39.305387,-4.638770],[39.305958,-4.615932],[39.310383,-4.613220],[39.306244,-4.612078],[39.304816,-4.596805],[39.314094,-4.580105],[39.298250,-4.599517],[39.292969,-4.579534],[39.296538,-4.598804],[39.287688,-4.618216],[39.280694,-4.615361],[39.281264,-4.593808],[39.276840,-4.596805],[39.270416,-4.586814],[39.259283,-4.588526],[39.271558,-4.590097],[39.277982,-4.601801],[39.274841,-4.627066],[39.264564,-4.626495],[39.267133,-4.616789],[39.262851,-4.623497],[39.257855,-4.620928],[39.253145,-4.627637],[39.251575,-4.624068],[39.249006,-4.635202],[39.236587,-4.634917],[39.246579,-4.642339],[39.239299,-4.645765],[39.236873,-4.661038],[39.231306,-4.658754],[39.226025,-4.671029],[39.219316,-4.670744],[39.209467,-4.660752],[39.203186,-4.662037],[39.199047,-4.652616],[38.452096,-4.142183],[37.992334,-3.813455],[37.795783,-3.679281],[37.747680,-3.545107],[37.702004,-3.530405],[37.673742,-3.508994],[37.626495,-3.530833],[37.613649,-3.527264],[37.604656,-3.506425],[37.627209,-3.467314],[37.592666,-3.464602],[37.593094,-3.444476],[37.666176,-3.364400],[37.690299,-3.355550],[37.691298,-3.330000],[37.718276,-3.313156],[37.697722,-3.188117],[37.827899,-3.178411],[37.842887,-3.188403],[37.856447,-3.185263],[37.863584,-3.170132],[37.860729,-3.088914],[37.878714,-3.085631],[37.904407,-2.893505],[37.925390,-2.874663],[37.945801,-2.783596],[37.946801,-2.779314],[37.977632,-2.789306],[38.130220,-2.704519],[38.152773,-2.701807],[38.160052,-2.694670],[38.168759,-2.699095],[38.174326,-2.691101],[38.237131,-2.734494],[38.281095,-2.773033],[38.310927,-2.817711],[38.334193,-2.838979],[38.362884,-2.892648],[38.399568,-2.929760],[38.421264,-2.937611],[38.463943,-2.986856],[38.482213,-2.986713],[38.496773,-2.976864],[38.543020,-2.976008],[38.616673,-2.997847],[38.681191,-3.035958],[38.713450,-3.036529],[38.816079,-3.058511],[38.831495,-3.046235],[38.851478,-3.052373],[38.877742,-3.037385],[38.917424,-3.034673],[38.926416,-3.028964],[38.967382,-3.031248],[38.989078,-3.019971],[39.020481,-3.013691],[39.035183,-3.013405],[39.051027,-3.030391],[39.072723,-3.035815],[39.076292,-3.041810],[39.084285,-3.039526],[39.082144,-3.027536],[39.049742,-2.989140],[38.631375,-2.420469],[38.654499,-2.422324],[38.685902,-2.412761],[38.728009,-2.383642],[38.735860,-2.369939],[38.766692,-2.357378],[38.776969,-2.358092],[38.794668,-2.337966],[38.927844,-2.078324],[38.924561,-2.069903],[38.999070,-1.913033],[38.944972,-1.705634],[38.974662,-1.687934],[38.983369,-1.673946],[38.981085,-1.636405],[38.990078,-1.636120],[38.983654,-1.544053],[38.975376,-1.541912],[38.963671,-1.257006],[38.949825,-1.054888],[38.811940,-0.759990],[38.600829,-0.398576],[38.596690,-0.398147],[38.405991,-0.060142],[38.427687,-0.066851],[38.442532,-0.077556],[38.502625,-0.054718],[38.519611,-0.044298],[38.532029,-0.023744],[38.549586,-0.012896],[38.615103,-0.033022],[38.627236,-0.046011],[38.676623,-0.042014],[38.728723,-0.060999],[38.748421,-0.062426],[38.747850,-0.049294],[38.765407,-0.047438]]]]
Knut
On Wed, May 19, 2010 at 2:01 PM, Jason Pickering >> <jason.p.pickering@gmail.com> wrote:
I think this is a good step in the right direction,but should be
considered still, an interim solution. There are limitations (for
instance the specification of the coordinate system) which points to a
need to a more generic object model. There are some better
alternatives (GML for instance) in my opinion.For instance..
<gml:Point gml:id="p21" srsName="urn:ogc:def:crs:EPSG:6.6:4326">
<gml:pos dimension="2">45.67 88.56</gml:pos>
</gml:Point>Is not so much more work for us to store, but makes sure we can begin
to import and export relatively standard data to external systems.Regards,
JasonOn 5/19/10, Knut Staring <knutst@gmail.com> wrote:
On Wed, May 19, 2010 at 11:50 AM, <noreply@launchpad.net> wrote:
------------------------------------------------------------
revno: 1887
committer: Lars <larshelg@larshelg-laptop>
branch nick: trunk
timestamp: Wed 2010-05-19 11:48:29 +0200
message:
Added latitude, longitude, polygoncoordinates to dxfHappy to see this. I have been thinking that we don't really need
latitude and longitude when we have the coordinates, but that we need
a type field instead. The reason is that for GeoJSON generation we
need to support POINT, POLYGON and MULTIPOLYGON, and it make sense to
have these directly in the database. I have been experimenting a bit
with this lately, and it works great, but I was forced to store the
type in the geocode field.That being said, we may also consider having more than one coordinate
field, for different levels of detail, though I'm afraid that can
easily get messy.Knut
modified:
dhis-2/dhis-services/dhis-service-importexport/src/main/java/org/hisp/dhis/importexport/dxf/converter/OrganisationUnitConverter.java
dhis-2/dhis-support/dhis-support-jdbc/src/main/java/org/hisp/dhis/jdbc/batchhandler/OrganisationUnitBatchHandler.java--
lp:dhis2
trunk : Code : DHISYour team DHIS 2 developers is subscribed to branch lp:dhis2.
To unsubscribe from this branch go to
OpenID transaction in progress=== modified file
'dhis-2/dhis-services/dhis-service-importexport/src/main/java/org/hisp/dhis/importexport/dxf/converter/OrganisationUnitConverter.java'
---
dhis-2/dhis-services/dhis-service-importexport/src/main/java/org/hisp/dhis/importexport/dxf/converter/OrganisationUnitConverter.java
2010-04-12 21:23:33 +0000
+++
dhis-2/dhis-services/dhis-service-importexport/src/main/java/org/hisp/dhis/importexport/dxf/converter/OrganisationUnitConverter.java
2010-05-19 09:48:29 +0000
@@ -65,6 +65,9 @@
private static final String FIELD_ACTIVE = "active";
private static final String FIELD_COMMENT = "comment";
private static final String FIELD_GEO_CODE = "geoCode";
+ private static final String FIELD_POLYGON_COORDINATES =
"polygonCoordinates";
+ private static final String FIELD_LATITUDE = "latitude";
+ private static final String FIELD_LONGITUDE = "longitude";
private static final String FIELD_LAST_UPDATED = "lastUpdated";//
-------------------------------------------------------------------------
@@ -123,6 +126,9 @@
writer.writeElement( FIELD_ACTIVE, String.valueOf(
unit.isActive() ) );
writer.writeElement( FIELD_COMMENT, unit.getComment() );
writer.writeElement( FIELD_GEO_CODE, unit.getGeoCode() );
+ writer.writeElement( FIELD_POLYGON_COORDINATES,
unit.getPolygonCoordinates() );
+ writer.writeElement( FIELD_LATITUDE, unit.getLatitude()
);
+ writer.writeElement( FIELD_LONGITUDE, unit.getLongitude()
);
writer.writeElement( FIELD_LAST_UPDATED,
DateUtils.getMediumDateString( unit.getLastUpdated(), EMPTY ) );writer\.closeElement\(\);
@@ -150,6 +156,9 @@
unit.setActive( Boolean.parseBoolean( values.get( FIELD_ACTIVE
) ) );
unit.setComment( values.get( FIELD_COMMENT ) );
unit.setGeoCode( values.get( FIELD_GEO_CODE ) );
+ unit.setPolygonCoordinates( values.get(
FIELD_POLYGON_COORDINATES ) );
+ unit.setLatitude( values.get( FIELD_LATITUDE ) );
+ unit.setLongitude( values.get( FIELD_LONGITUDE ) );
unit.setLastUpdated( DateUtils.getMediumDate( values.get(
FIELD_LAST_UPDATED ) ) );NameMappingUtil\.addOrganisationUnitMapping\( unit\.getId\(\),
unit.getName() );
=== modified file
'dhis-2/dhis-support/dhis-support-jdbc/src/main/java/org/hisp/dhis/jdbc/batchhandler/OrganisationUnitBatchHandler.java'
---
dhis-2/dhis-support/dhis-support-jdbc/src/main/java/org/hisp/dhis/jdbc/batchhandler/OrganisationUnitBatchHandler.java
2010-04-12 21:23:33 +0000
+++
dhis-2/dhis-support/dhis-support-jdbc/src/main/java/org/hisp/dhis/jdbc/batchhandler/OrganisationUnitBatchHandler.java
2010-05-19 09:48:29 +0000
@@ -95,6 +95,7 @@
statementBuilder.setColumn( "active" );
statementBuilder.setColumn( "comment" );
statementBuilder.setColumn( "geocode" );
+ statementBuilder.setColumn( "polygoncoordinates" );
statementBuilder.setColumn( "latitude" );
statementBuilder.setColumn( "longitude" );
statementBuilder.setColumn( "lastUpdated" );
@@ -113,6 +114,7 @@
statementBuilder.setValue( unit.isActive() );
statementBuilder.setValue( unit.getComment() );
statementBuilder.setValue( unit.getGeoCode() );
+ statementBuilder.setValue( unit.getPolygonCoordinates() );
statementBuilder.setValue( unit.getLatitude() );
statementBuilder.setValue( unit.getLongitude() );
statementBuilder.setValue( unit.getLastUpdated() );_______________________________________________
Mailing list: https://launchpad.net/~dhis2-devs
Post to : dhis2-devs@lists.launchpad.net
Unsubscribe : https://launchpad.net/~dhis2-devs
More help : https://help.launchpad.net/ListHelp--
Cheers,
Knut Staring_______________________________________________
Mailing list: https://launchpad.net/~dhis2-devs
Post to : dhis2-devs@lists.launchpad.net
Unsubscribe : https://launchpad.net/~dhis2-devs
More help : https://help.launchpad.net/ListHelp--
--
Jason P. Pickering
email: jason.p.pickering@gmail.com
tel:+260968395190--
Cheers,
Knut Staring_______________________________________________
Mailing list: https://launchpad.net/~dhis2-devs
Post to : dhis2-devs@lists.launchpad.net
Unsubscribe : https://launchpad.net/~dhis2-devs
More help : https://help.launchpad.net/ListHelp
--
Cheers,
Knut Staring
Hi,
When starting to add GIS stuff to DXF it would be great to see the remaining GIS metadata also become part of the DXF to make sure these can be transferred between DHIS instances without having to deal with database dumps and complete db replacements. There are some key GIS things that need to be part of the metdata export such as map, maplayer, maporganisationunitrelation and a few others. Without this it becomes a nightmare to maintain the mapping module in DHIS2 across multiple installations.
Ola
···
On 19 May 2010 15:20, Knut Staring knutst@gmail.com wrote:
I’m fine with using GML or KML as the exchange format and keeping the
JSON snippets in the database. OpenLayers and GeoExt can also slurp up
GML or KML, but I think it would mean bigger files and more processing
(?).
Writing converters shouldn’t be a huge task.
Knut
On Wed, May 19, 2010 at 3:00 PM, Bob Jolliffe bobjolliffe@gmail.com wrote:
Good to see this stuff coming in. I guess it is at least in part
related to transforming external GIS sources to dxf?
Two points:
- We need to make sure that we track these changes/additions in the
dxf schema. Otherwise it will start to become useless.
- I think how we store the data internally and how we express it as
xml should be treated as different (if intimately related) problems.
An element like:
…
[[[39.376186,-4.715707],[39.379326,-4.719846],[39.373474,-4.717134],[39.376186,-4.715707]]],[[[39.406875,-4.683162],[39.400737,-4.690442],[39.394884,-4.687873],[39.406875,-4.683162]]],[[[39.269560,-4.652902],[39.286260,-4.663179],[39.29
…
…
is both unsightly and terribly bad practice. This xml would be not
much more use than a database sql dump. We have already made that
mistake with serializing all the table relations as xml. It would be
a shame to repeat it again here where we have a fresh opportunity.
I would strongly support Jason’s suggestion that we not try to
reinvent a GIS markup - which we will probably do badly - but rather
that we simply embed those elements from GML (or KML or whichever -
you guys are the experts) which we need. eg:
…
gml:Polygon,</gml:Polygon>
…
How we choose to represent those in the database is different. if it
is totally impractical to use a standard gis markup (and I hope its
not) then at the very least we should ensure that we use home-grown
xml to represent the entities rather than embedded json. How else
would an xml parser be able to make any sense of this.
I guess the implication of what I am saying is that
writer.writeElement( FIELD_POLYGON_COORDINATES,
unit.getPolygonCoordinates() ); would need to be expanded in order to
not just dump the database content into the xml element. Or wrapped
as
writer.writeElement( FIELD_POLYGON_COORDINATES,
unit.getPolygonCoordinatesAsXML() )
Regards
Bob
On 19 May 2010 13:14, Knut Staring knutst@gmail.com wrote:
I see your point, Jason, but I think the most efficient would be to
continue to store the coordinates as GeoJSON (to minimize processing
for maps inside the system), and just generate the GML when exporting
to external formats.
For this, we should always use 4326 as projection. If in the future we
want to deviate from that, we should definitely use Geoserver (which
is a good idea anyway, e.g. to act as a Web Map Server to external
applications), but this is not urgent.
Here is how I am currently representing things in the database, which
makes it really easy to generate GeoJSON on the fly:
Point [ 36.95, -0.93 ]
MultiPolygon
[[[[39.376186,-4.715707],[39.379326,-4.719846],[39.373474,-4.717134],[39.376186,-4.715707]]],[[[39.406875,-4.683162],[39.400737,-4.690442],[39.394884,-4.687873],[39.406875,-4.683162]]],[[[39.269560,-4.652902],[39.286260,-4.663179],[39.294539,-4.662037],[39.283263,-4.671458],[39.276840,-4.670744],[39.267847,-4.659325],[39.269560,-4.652902]]],[[[39.360484,-4.652902],[39.365909,-4.657897],[39.389889,-4.661751],[39.400451,-4.657612],[39.406875,-4.674598],[39.403163,-4.677881],[39.405733,-4.671743],[39.400737,-4.674312],[39.396597,-4.669317],[39.366765,-4.671743],[39.348209,-4.666747],[39.360484,-4.652902]]],[[[39.295967,-4.607368],[39.298821,-4.611793],[39.292969,-4.618787],[39.295967,-4.607368]]],[[[39.302675,-4.598804],[39.303532,-4.607939],[39.299250,-4.609081],[39.296823,-4.603800],[39.302675,-4.598804]]],[[[39.597431,-4.049831],[39.603426,-4.052686],[39.589295,-4.058681],[39.589580,-4.053685],[39.596574,-4.052971],[39.589580,-4.051544],[39.597431,-4.049831]]],[[[39.975688,-3.333711],[39.979257,-3.336566],[39.972405,-3.336566],[39.975688,-3.333711]]],[[[40.784303,-2.302138],[40.800718,-2.304850],[40.806855,-2.314842],[40.784303,-2.302138]]],[[[40.877654,-2.245186],[40.897923,-2.255463],[40.916479,-2.296572],[40.866235,-2.302852],[40.817133,-2.337395],[40.812850,-2.303994],[40.817846,-2.281299],[40.837116,-2.268452],[40.847393,-2.254892],[40.877654,-2.245186]]],[[[40.980426,-2.221777],[40.985992,-2.229056],[40.991559,-2.227629],[40.992416,-2.232910],[40.982852,-2.229913],[40.980426,-2.221777]]],[[[40.892641,-2.218494],[40.897637,-2.227914],[40.893783,-2.236193],[40.888502,-2.229627],[40.892641,-2.218494]]],[[[41.089906,-2.041783],[41.123164,-2.046208],[41.135725,-2.055486],[41.144004,-2.071473],[41.166271,-2.081036],[41.170982,-2.092884],[41.158992,-2.097594],[41.167984,-2.096595],[41.173266,-2.106016],[41.146002,-2.128711],[41.131015,-2.132422],[41.125163,-2.127426],[41.135725,-2.116864],[41.118168,-2.103161],[41.122022,-2.112153],[41.127875,-2.114009],[41.119025,-2.126570],[41.114029,-2.123430],[41.115456,-2.136276],[41.111317,-2.140416],[41.092618,-2.143699],[41.079058,-2.139559],[41.078487,-2.132422],[41.058504,-2.141557],[41.045372,-2.142128],[41.062072,-2.158543],[41.056220,-2.166822],[41.042374,-2.161541],[41.043231,-2.145126],[41.035095,-2.147124],[41.039519,-2.127855],[41.025674,-2.149265],[41.011828,-2.149551],[41.007689,-2.154261],[40.999267,-2.147410],[41.005405,-2.160113],[41.000124,-2.165395],[40.996841,-2.157116],[40.992130,-2.158258],[40.994271,-2.167679],[40.999838,-2.182666],[41.006832,-2.181239],[41.009544,-2.185378],[41.008973,-2.197368],[41.016253,-2.202650],[41.009259,-2.209929],[40.999553,-2.209358],[40.988704,-2.199081],[40.987420,-2.179098],[40.979855,-2.172389],[40.978713,-2.185949],[40.976286,-2.180382],[40.973146,-2.186520],[40.967865,-2.185093],[40.974859,-2.177670],[40.967294,-2.172960],[40.960442,-2.150407],[40.964296,-2.139845],[40.971005,-2.138417],[40.972432,-2.142414],[40.967294,-2.130995],[40.971861,-2.111011],[40.987420,-2.104588],[40.999553,-2.092313],[41.007689,-2.094596],[41.042089,-2.081036],[41.060930,-2.064050],[41.065926,-2.065478],[41.064356,-2.055486],[41.075918,-2.052917],[41.089906,-2.041783]]],[[[41.137295,-2.040641],[41.150142,-2.051204],[41.128160,-2.043496],[41.137295,-2.040641]]],[[[41.251201,-2.010381],[41.255483,-2.012664],[41.246491,-2.026225],[41.244920,-2.019516],[41.251201,-2.010381]]],[[[41.192393,-2.002387],[41.195105,-2.012093],[41.187111,-2.031220],[41.140436,-2.020943],[41.140721,-2.016233],[41.147858,-2.013521],[41.146002,-2.010381],[41.160419,-2.012379],[41.171553,-2.008525],[41.173266,-2.014377],[41.176834,-2.007669],[41.182115,-2.009239],[41.179261,-2.006812],[41.192393,-2.002387]]],[[[41.201528,-2.000389],[41.215659,-2.015091],[41.211520,-2.027367],[41.196817,-2.024084],[41.200386,-2.013235],[41.197388,-2.001245],[41.201528,-2.000389]]],[[[41.134298,-1.995964],[41.134583,-2.002387],[41.131015,-2.000103],[41.134298,-1.995964]]],[[[41.219798,-1.988542],[41.221797,-1.995679],[41.213803,-1.996249],[41.213518,-1.990397],[41.219798,-1.988542]]],[[[41.275181,-1.982404],[41.279035,-1.995393],[41.270471,-1.991825],[41.275181,-1.982404]]],[[[41.196532,-1.981833],[41.201813,-1.985401],[41.197959,-1.992681],[41.196532,-1.981833]]],[[[40.856814,-1.979264],[40.857956,-1.982689],[40.852104,-1.983974],[40.856814,-1.979264]]],[[[40.853531,-1.975410],[40.855958,-1.977408],[40.846251,-1.980976],[40.853531,-1.975410]]],[[[41.265903,-1.963705],[41.273183,-1.976266],[41.268187,-1.987400],[41.259622,-1.980120],[41.261764,-1.982975],[41.256768,-1.987685],[41.262049,-1.984259],[41.265760,-1.988256],[41.256197,-1.993537],[41.266759,-1.990968],[41.274325,-1.997677],[41.282318,-1.994251],[41.304300,-1.968415],[41.307583,-1.971841],[41.257910,-2.033504],[41.236784,-2.047064],[41.267616,-2.009239],[41.268758,-2.002673],[41.251772,-1.996535],[41.247061,-1.988684],[41.247347,-1.973982],[41.265903,-1.963705]]],[[[41.209093,-1.958424],[41.207951,-1.971270],[41.204811,-1.965703],[41.209093,-1.958424]]],[[[41.511556,-1.751310],[41.497853,-1.770437],[41.491573,-1.771008],[41.494570,-1.761302],[41.511556,-1.751310]]],[[[38.765407,-0.047438],[38.857045,-0.068992],[38.882738,-0.071989],[38.899724,-0.066851],[38.924989,-0.101108],[38.973663,-0.093543],[39.013915,-0.063711],[39.064444,-0.056574],[39.083429,-0.063140],[39.136670,-0.127372],[39.160079,-0.139219],[39.177065,-0.126801],[39.165503,-0.110672],[39.236159,-0.114954],[39.236873,-0.142502],[39.260996,-0.147641],[39.275840,-0.143073],[39.281693,-0.130655],[39.277982,-0.116952],[39.311240,-0.114811],[39.384607,-0.152637],[39.396597,-0.166054],[39.434994,-0.171907],[39.468823,-0.196029],[39.525633,-0.246987],[39.533198,-0.262403],[39.576876,-0.294234],[39.584156,-0.307651],[39.603711,-0.325493],[39.586440,-0.342479],[39.602427,-0.355468],[39.620554,-0.436544],[39.638825,-0.463379],[39.641537,-0.502061],[39.660378,-0.520760],[39.670941,-0.547167],[39.678792,-0.552305],[39.702772,-0.537746],[39.713905,-0.551306],[39.716189,-0.563296],[39.726466,-0.563867],[39.708624,-0.590987],[39.718901,-0.600123],[39.747164,-0.601264],[39.771572,-0.615110],[39.786559,-0.644372],[39.808684,-0.639947],[39.830095,-0.679628],[39.854646,-0.751283],[39.855502,-0.771409],[39.884335,-0.847917],[39.890188,-0.905869],[39.916452,-0.958397],[39.900179,-0.967246],[39.905318,-1.013208],[39.925301,-1.025627],[39.959844,-1.097710],[39.962699,-1.112412],[39.983253,-1.131681],[39.992246,-1.158088],[40.012800,-1.190632],[40.000810,-1.197912],[40.015940,-1.225746],[40.026646,-1.260289],[40.036495,-1.260146],[40.030643,-1.319383],[40.059904,-1.419585],[40.049056,-1.424010],[40.063615,-1.500090],[40.075320,-1.498092],[40.085597,-1.509368],[40.110862,-1.569318],[40.137982,-1.599008],[40.144262,-1.656531],[40.141122,-1.702636],[40.152256,-1.717624],[40.152970,-1.726616],[40.141408,-1.757162],[40.141408,-1.782141],[40.171668,-1.870497],[40.169955,-1.906039],[40.175665,-1.925594],[40.169955,-1.947576],[40.183087,-1.981547],[40.178377,-1.998105],[40.187798,-2.009667],[40.197219,-2.036216],[40.200502,-2.028366],[40.245607,-2.004957],[40.433308,-1.920027],[40.478842,-1.892050],[40.498254,-1.885199],[40.512528,-1.903184],[40.917906,-1.711914],[40.946168,-1.701780],[40.985421,-1.699353],[40.991274,-1.687506],[41.172695,-1.670377],[41.172695,-1.684365],[41.571506,-1.646968],[41.550381,-1.674088],[41.518265,-1.702065],[41.496569,-1.735180],[41.495712,-1.745172],[41.459028,-1.780143],[41.467307,-1.779287],[41.472874,-1.772293],[41.471875,-1.779858],[41.476014,-1.771864],[41.478726,-1.774576],[41.486291,-1.766868],[41.489004,-1.777859],[41.480439,-1.798699],[41.466023,-1.800127],[41.465166,-1.791562],[41.453176,-1.802696],[41.456316,-1.787708],[41.436761,-1.806264],[41.447038,-1.812402],[41.429339,-1.808691],[41.436761,-1.820681],[41.428482,-1.823536],[41.412067,-1.840950],[41.425628,-1.840664],[41.424343,-1.849086],[41.430481,-1.838238],[41.438759,-1.841521],[41.387374,-1.891194],[41.411211,-1.854795],[41.404359,-1.858792],[41.390942,-1.872638],[41.392084,-1.879347],[41.386803,-1.876492],[41.377667,-1.885199],[41.381521,-1.891194],[41.375669,-1.898188],[41.376240,-1.888767],[41.369817,-1.894620],[41.362680,-1.913176],[41.353545,-1.922311],[41.350404,-1.924309],[41.346550,-1.917600],[41.340984,-1.920741],[41.339842,-1.924880],[41.346550,-1.928734],[41.322856,-1.953713],[41.317289,-1.952429],[41.316861,-1.962420],[41.312579,-1.965418],[41.313149,-1.958709],[41.304300,-1.959851],[41.297876,-1.972127],[41.280748,-1.987114],[41.270756,-1.964847],[41.260479,-1.962849],[41.261478,-1.954570],[41.257910,-1.966274],[41.242637,-1.963991],[41.236499,-1.969272],[41.234358,-1.961279],[41.230076,-1.972127],[41.224366,-1.945149],[41.235642,-1.940153],[41.226222,-1.940439],[41.227078,-1.934586],[41.223224,-1.939582],[41.219370,-1.914888],[41.219798,-1.942580],[41.215373,-1.952857],[41.205382,-1.945435],[41.204097,-1.934586],[41.202670,-1.941581],[41.196532,-1.939582],[41.198959,-1.932588],[41.195961,-1.933730],[41.194248,-1.927021],[41.191251,-1.937298],[41.194248,-1.934872],[41.194534,-1.939297],[41.179546,-1.932588],[41.167413,-1.948718],[41.172980,-1.947290],[41.178975,-1.935443],[41.200100,-1.947290],[41.200957,-1.950716],[41.190965,-1.950145],[41.188253,-1.956568],[41.192393,-1.952429],[41.203241,-1.953999],[41.197674,-1.957139],[41.195676,-1.968701],[41.188967,-1.966845],[41.196817,-1.971270],[41.193249,-1.987400],[41.183257,-1.978978],[41.171838,-1.979835],[41.183257,-1.980976],[41.182401,-1.986543],[41.191822,-1.996249],[41.172124,-2.004243],[41.162703,-1.999247],[41.159563,-2.002102],[41.157850,-1.995108],[41.152854,-1.998248],[41.144575,-1.990397],[41.143433,-1.998248],[41.132014,-1.992681],[41.125734,-1.997962],[41.129302,-1.988256],[41.125734,-1.992396],[41.125163,-1.980120],[41.117597,-1.990968],[41.113173,-1.985972],[41.112031,-1.991825],[41.105179,-1.993252],[41.103752,-2.002102],[41.096187,-1.990397],[41.099612,-2.005670],[41.096187,-2.001245],[41.083483,-2.013806],[41.076774,-2.007954],[41.075918,-1.997391],[41.078202,-2.018231],[41.044801,-2.032933],[41.034238,-2.053773],[41.029242,-2.050633],[41.012399,-2.055914],[40.989846,-2.041498],[40.978998,-2.019801],[40.982138,-1.999532],[40.991559,-1.979835],[40.985707,-1.948147],[41.000695,-1.934872],[41.006261,-1.919599],[41.017395,-1.909036],[41.009830,-1.908180],[41.007974,-1.912605],[41.003264,-1.908180],[40.990417,-1.930161],[40.973431,-1.939011],[40.971290,-1.955426],[40.975430,-1.968701],[40.969863,-1.979264],[40.975144,-1.989255],[40.959871,-2.017089],[40.961299,-2.026796],[40.980711,-2.052060],[40.980711,-2.066191],[40.965438,-2.078752],[40.947025,-2.084890],[40.933465,-2.077896],[40.939031,-2.059340],[40.918763,-2.033504],[40.920904,-1.998819],[40.906202,-1.992681],[40.892641,-1.995393],[40.878796,-1.992110],[40.862952,-1.973411],[40.863523,-1.977408],[40.828980,-1.970128],[40.810138,-1.962849],[40.807569,-1.957425],[40.807141,-1.962135],[40.823413,-1.973126],[40.845966,-1.980691],[40.868233,-1.997962],[40.891499,-2.008240],[40.890928,-2.014377],[40.886218,-2.015091],[40.878796,-2.006527],[40.881508,-2.014520],[40.890928,-2.016233],[40.898208,-2.004528],[40.905916,-2.010095],[40.904346,-2.042640],[40.909056,-2.054059],[40.906772,-2.059911],[40.912625,-2.060482],[40.913196,-2.065763],[40.897352,-2.065192],[40.901206,-2.050918],[40.897066,-2.047921],[40.900206,-2.051204],[40.894925,-2.062337],[40.898494,-2.068190],[40.892356,-2.068761],[40.907343,-2.069903],[40.916479,-2.093740],[40.921475,-2.210643],[40.926756,-2.219065],[40.936748,-2.219921],[40.930182,-2.229627],[40.934892,-2.229342],[40.942885,-2.240475],[40.937319,-2.231197],[40.941030,-2.221491],[40.963154,-2.223489],[40.961870,-2.228200],[40.969007,-2.236764],[40.966580,-2.223489],[40.976001,-2.226201],[40.976001,-2.237335],[40.990417,-2.261743],[40.970434,-2.281870],[40.958158,-2.309846],[40.946597,-2.318982],[40.931181,-2.322978],[40.924900,-2.323264],[40.912910,-2.313986],[40.920904,-2.302709],[40.922902,-2.288721],[40.938460,-2.290148],[40.942885,-2.285153],[40.951735,-2.288436],[40.945455,-2.283440],[40.935177,-2.288436],[40.927327,-2.285438],[40.907058,-2.257319],[40.900206,-2.235908],[40.908771,-2.219636],[40.902062,-2.225202],[40.885504,-2.215639],[40.890928,-2.242616],[40.870945,-2.242045],[40.847964,-2.252323],[40.835689,-2.267025],[40.822128,-2.270736],[40.818988,-2.277873],[40.814278,-2.276303],[40.816276,-2.280442],[40.805428,-2.291290],[40.797577,-2.282298],[40.798148,-2.275446],[40.820987,-2.246470],[40.808711,-2.248469],[40.811280,-2.257604],[40.797292,-2.269023],[40.793152,-2.280442],[40.808996,-2.304565],[40.808426,-2.310417],[40.799290,-2.303423],[40.776309,-2.299569],[40.775167,-2.290148],[40.784588,-2.268452],[40.781876,-2.263456],[40.766318,-2.259317],[40.762892,-2.264313],[40.746477,-2.251466],[40.761179,-2.267025],[40.771313,-2.263171],[40.777879,-2.265740],[40.769601,-2.282155],[40.771313,-2.298142],[40.762892,-2.297143],[40.761179,-2.288150],[40.760465,-2.294859],[40.798719,-2.317126],[40.798148,-2.328402],[40.790155,-2.333255],[40.779592,-2.329544],[40.768744,-2.317126],[40.756754,-2.313700],[40.740910,-2.299284],[40.723781,-2.297428],[40.743479,-2.303138],[40.751473,-2.314271],[40.771313,-2.325976],[40.777594,-2.333255],[40.775738,-2.343961],[40.781591,-2.357664],[40.778736,-2.335111],[40.797149,-2.342391],[40.804286,-2.355094],[40.818132,-2.359091],[40.826268,-2.374364],[40.824840,-2.392920],[40.780734,-2.428177],[40.770457,-2.454298],[40.743194,-2.454583],[40.706225,-2.475709],[40.677677,-2.498261],[40.649272,-2.533232],[40.609876,-2.560924],[40.543217,-2.540940],[40.538221,-2.534089],[40.495971,-2.515105],[40.481268,-2.521528],[40.501537,-2.517388],[40.532654,-2.539370],[40.529800,-2.541797],[40.530371,-2.536515],[40.523805,-2.532947],[40.505106,-2.532947],[40.457146,-2.541797],[40.384349,-2.570915],[40.346809,-2.591470],[40.354374,-2.577053],[40.350663,-2.573199],[40.338958,-2.596751],[40.272014,-2.645710],[40.266732,-2.646852],[40.269302,-2.638716],[40.260452,-2.647852],[40.260166,-2.655988],[40.224053,-2.694527],[40.198789,-2.734637],[40.188797,-2.734637],[40.185086,-2.727357],[40.193507,-2.745485],[40.186513,-2.761471],[40.180375,-2.765183],[40.175950,-2.784881],[40.186799,-2.777030],[40.183516,-2.828987],[40.171526,-2.855394],[40.172667,-2.899643],[40.163960,-2.934899],[40.166815,-2.957594],[40.161534,-2.956024],[40.169527,-2.964874],[40.168528,-2.960164],[40.174809,-2.960164],[40.190367,-2.986285],[40.184372,-2.979862],[40.177092,-2.980718],[40.168528,-2.992708],[40.169527,-2.998703],[40.180090,-2.987141],[40.187941,-2.995420],[40.212349,-2.993707],[40.237614,-2.977863],[40.241468,-2.989568],[40.238185,-2.996277],[40.231476,-2.993422],[40.223768,-3.001558],[40.201501,-3.010408],[40.195363,-3.030677],[40.174095,-3.041525],[40.169527,-3.052658],[40.173238,-3.069359],[40.155967,-3.083204],[40.163818,-3.131736],[40.147403,-3.166564],[40.135984,-3.161853],[40.140694,-3.171560],[40.120996,-3.202106],[40.130417,-3.224516],[40.126563,-3.249067],[40.132701,-3.255633],[40.126277,-3.279327],[40.113431,-3.299025],[40.074321,-3.319865],[40.055194,-3.336851],[40.028216,-3.348698],[40.021793,-3.357405],[40.015369,-3.356834],[40.012943,-3.363686],[40.006805,-3.361545],[39.976545,-3.390093],[39.969550,-3.387666],[39.971834,-3.354265],[39.965696,-3.344273],[39.972120,-3.340420],[39.977401,-3.350697],[39.982682,-3.344844],[39.987964,-3.347414],[39.983681,-3.332141],[39.991532,-3.321864],[39.969265,-3.325717],[39.972120,-3.330142],[39.963698,-3.331855],[39.961842,-3.342703],[39.957132,-3.344273],[39.965982,-3.353409],[39.961557,-3.375105],[39.969265,-3.372393],[39.967980,-3.380101],[39.963698,-3.384098],[39.957418,-3.375391],[39.961842,-3.389093],[39.967980,-3.393233],[39.969550,-3.406222],[39.926586,-3.494863],[39.903177,-3.567089],[39.871489,-3.631464],[39.865637,-3.637316],[39.845082,-3.635460],[39.841514,-3.627895],[39.827954,-3.621757],[39.821245,-3.609625],[39.813822,-3.613193],[39.811824,-3.621757],[39.808256,-3.610909],[39.800120,-3.606199],[39.795409,-3.608483],[39.805972,-3.610624],[39.811539,-3.623756],[39.811539,-3.633462],[39.805686,-3.630465],[39.802689,-3.636031],[39.810111,-3.647022],[39.820388,-3.647022],[39.827383,-3.637030],[39.837089,-3.633462],[39.863781,-3.643168],[39.869919,-3.666577],[39.869348,-3.674856],[39.862354,-3.679852],[39.868206,-3.680994],[39.870632,-3.697980],[39.844511,-3.765210],[39.830095,-3.823447],[39.787701,-3.909090],[39.775426,-3.943205],[39.766576,-3.953768],[39.752873,-3.959049],[39.760438,-3.958193],[39.764007,-3.962617],[39.728750,-4.003155],[39.726181,-4.013718],[39.731462,-4.017572],[39.729892,-4.024281],[39.722898,-4.026850],[39.701773,-4.060393],[39.687356,-4.065389],[39.680933,-4.054827],[39.681789,-4.044549],[39.673796,-4.043265],[39.676793,-4.032417],[39.652956,-4.018143],[39.649816,-4.022853],[39.643678,-4.016287],[39.642108,-4.023710],[39.651814,-4.031846],[39.647960,-4.037127],[39.638682,-4.034558],[39.638682,-4.039268],[39.649530,-4.038126],[39.658523,-4.029562],[39.675366,-4.036556],[39.671512,-4.044835],[39.679077,-4.047404],[39.675080,-4.052971],[39.683217,-4.069243],[39.671512,-4.080091],[39.662948,-4.077950],[39.647675,-4.061250],[39.640395,-4.042408],[39.627406,-4.047975],[39.617700,-4.042123],[39.590722,-4.045120],[39.586583,-4.050687],[39.585155,-4.036271],[39.573165,-4.025708],[39.566314,-4.025708],[39.565743,-4.037127],[39.559034,-4.041837],[39.566028,-4.038126],[39.568455,-4.026279],[39.578161,-4.031560],[39.581301,-4.042979],[39.571595,-4.041266],[39.566599,-4.048403],[39.574878,-4.068529],[39.588153,-4.067673],[39.575449,-4.086800],[39.591293,-4.074239],[39.593148,-4.063962],[39.621839,-4.057681],[39.629547,-4.063534],[39.637968,-4.057967],[39.638539,-4.050973],[39.644249,-4.072383],[39.665945,-4.083517],[39.677079,-4.082661],[39.675651,-4.093794],[39.630974,-4.180722],[39.614274,-4.203132],[39.597145,-4.258515],[39.599001,-4.270076],[39.571024,-4.330740],[39.549613,-4.392118],[39.539621,-4.437937],[39.533484,-4.438508],[39.533484,-4.428802],[39.529344,-4.429801],[39.524634,-4.419096],[39.515213,-4.422093],[39.509646,-4.441220],[39.503223,-4.443789],[39.507077,-4.446787],[39.500368,-4.444646],[39.500083,-4.465486],[39.480956,-4.482900],[39.472392,-4.501313],[39.462400,-4.533715],[39.465968,-4.544563],[39.450695,-4.586814],[39.444558,-4.585672],[39.442702,-4.592095],[39.435993,-4.589811],[39.435422,-4.571826],[39.427143,-4.559836],[39.431568,-4.550986],[39.440133,-4.550701],[39.436850,-4.547418],[39.448982,-4.525864],[39.443416,-4.535713],[39.428428,-4.532858],[39.441846,-4.538425],[39.426287,-4.549273],[39.422290,-4.558409],[39.412870,-4.550415],[39.411299,-4.554555],[39.418151,-4.553127],[39.424574,-4.565117],[39.424003,-4.569542],[39.417865,-4.567401],[39.422290,-4.572968],[39.417294,-4.580676],[39.402307,-4.590097],[39.394314,-4.577393],[39.398453,-4.586814],[39.394884,-4.603229],[39.400737,-4.608795],[39.398167,-4.619073],[39.402592,-4.623212],[39.405162,-4.619929],[39.413155,-4.622356],[39.412870,-4.634631],[39.402592,-4.647620],[39.383751,-4.649904],[39.348780,-4.640483],[39.328226,-4.646478],[39.305387,-4.638770],[39.305958,-4.615932],[39.310383,-4.613220],[39.306244,-4.612078],[39.304816,-4.596805],[39.314094,-4.580105],[39.298250,-4.599517],[39.292969,-4.579534],[39.296538,-4.598804],[39.287688,-4.618216],[39.280694,-4.615361],[39.281264,-4.593808],[39.276840,-4.596805],[39.270416,-4.586814],[39.259283,-4.588526],[39.271558,-4.590097],[39.277982,-4.601801],[39.274841,-4.627066],[39.264564,-4.626495],[39.267133,-4.616789],[39.262851,-4.623497],[39.257855,-4.620928],[39.253145,-4.627637],[39.251575,-4.624068],[39.249006,-4.635202],[39.236587,-4.634917],[39.246579,-4.642339],[39.239299,-4.645765],[39.236873,-4.661038],[39.231306,-4.658754],[39.226025,-4.671029],[39.219316,-4.670744],[39.209467,-4.660752],[39.203186,-4.662037],[39.199047,-4.652616],[38.452096,-4.142183],[37.992334,-3.813455],[37.795783,-3.679281],[37.747680,-3.545107],[37.702004,-3.530405],[37.673742,-3.508994],[37.626495,-3.530833],[37.613649,-3.527264],[37.604656,-3.506425],[37.627209,-3.467314],[37.592666,-3.464602],[37.593094,-3.444476],[37.666176,-3.364400],[37.690299,-3.355550],[37.691298,-3.330000],[37.718276,-3.313156],[37.697722,-3.188117],[37.827899,-3.178411],[37.842887,-3.188403],[37.856447,-3.185263],[37.863584,-3.170132],[37.860729,-3.088914],[37.878714,-3.085631],[37.904407,-2.893505],[37.925390,-2.874663],[37.945801,-2.783596],[37.946801,-2.779314],[37.977632,-2.789306],[38.130220,-2.704519],[38.152773,-2.701807],[38.160052,-2.694670],[38.168759,-2.699095],[38.174326,-2.691101],[38.237131,-2.734494],[38.281095,-2.773033],[38.310927,-2.817711],[38.334193,-2.838979],[38.362884,-2.892648],[38.399568,-2.929760],[38.421264,-2.937611],[38.463943,-2.986856],[38.482213,-2.986713],[38.496773,-2.976864],[38.543020,-2.976008],[38.616673,-2.997847],[38.681191,-3.035958],[38.713450,-3.036529],[38.816079,-3.058511],[38.831495,-3.046235],[38.851478,-3.052373],[38.877742,-3.037385],[38.917424,-3.034673],[38.926416,-3.028964],[38.967382,-3.031248],[38.989078,-3.019971],[39.020481,-3.013691],[39.035183,-3.013405],[39.051027,-3.030391],[39.072723,-3.035815],[39.076292,-3.041810],[39.084285,-3.039526],[39.082144,-3.027536],[39.049742,-2.989140],[38.631375,-2.420469],[38.654499,-2.422324],[38.685902,-2.412761],[38.728009,-2.383642],[38.735860,-2.369939],[38.766692,-2.357378],[38.776969,-2.358092],[38.794668,-2.337966],[38.927844,-2.078324],[38.924561,-2.069903],[38.999070,-1.913033],[38.944972,-1.705634],[38.974662,-1.687934],[38.983369,-1.673946],[38.981085,-1.636405],[38.990078,-1.636120],[38.983654,-1.544053],[38.975376,-1.541912],[38.963671,-1.257006],[38.949825,-1.054888],[38.811940,-0.759990],[38.600829,-0.398576],[38.596690,-0.398147],[38.405991,-0.060142],[38.427687,-0.066851],[38.442532,-0.077556],[38.502625,-0.054718],[38.519611,-0.044298],[38.532029,-0.023744],[38.549586,-0.012896],[38.615103,-0.033022],[38.627236,-0.046011],[38.676623,-0.042014],[38.728723,-0.060999],[38.748421,-0.062426],[38.747850,-0.049294],[38.765407,-0.047438]]]]
Knut
On Wed, May 19, 2010 at 2:01 PM, Jason Pickering > > >> jason.p.pickering@gmail.com wrote:
I think this is a good step in the right direction,but should be
considered still, an interim solution. There are limitations (for
instance the specification of the coordinate system) which points to a
need to a more generic object model. There are some better
alternatives (GML for instance) in my opinion.
For instance…
<gml:Point gml:id=“p21” srsName=“urn:ogc:def:crs:EPSG:6.6:4326”>
<gml:pos dimension=“2”>45.67 88.56</gml:pos>
</gml:Point>
Is not so much more work for us to store, but makes sure we can begin
to import and export relatively standard data to external systems.
Regards,
Jason
On 5/19/10, Knut Staring knutst@gmail.com wrote:
On Wed, May 19, 2010 at 11:50 AM, noreply@launchpad.net wrote:
revno: 1887
committer: Lars larshelg@larshelg-laptop
branch nick: trunk
timestamp: Wed 2010-05-19 11:48:29 +0200
message:
Added latitude, longitude, polygoncoordinates to dxf
Happy to see this. I have been thinking that we don’t really need
latitude and longitude when we have the coordinates, but that we need
a type field instead. The reason is that for GeoJSON generation we
need to support POINT, POLYGON and MULTIPOLYGON, and it make sense to
have these directly in the database. I have been experimenting a bit
with this lately, and it works great, but I was forced to store the
type in the geocode field.
That being said, we may also consider having more than one coordinate
field, for different levels of detail, though I’m afraid that can
easily get messy.
Knut
modified:
dhis-2/dhis-services/dhis-service-importexport/src/main/java/org/hisp/dhis/importexport/dxf/converter/OrganisationUnitConverter.java
dhis-2/dhis-support/dhis-support-jdbc/src/main/java/org/hisp/dhis/jdbc/batchhandler/OrganisationUnitBatchHandler.java
–
lp:dhis2
Your team DHIS 2 developers is subscribed to branch lp:dhis2.
To unsubscribe from this branch go to
https://code.launchpad.net/~dhis2-devs-core/dhis2/trunk/+edit-subscription
=== modified file
‘dhis-2/dhis-services/dhis-service-importexport/src/main/java/org/hisp/dhis/importexport/dxf/converter/OrganisationUnitConverter.java’
dhis-2/dhis-services/dhis-service-importexport/src/main/java/org/hisp/dhis/importexport/dxf/converter/OrganisationUnitConverter.java
2010-04-12 21:23:33 +0000
+++
dhis-2/dhis-services/dhis-service-importexport/src/main/java/org/hisp/dhis/importexport/dxf/converter/OrganisationUnitConverter.java
2010-05-19 09:48:29 +0000
@@ -65,6 +65,9 @@
private static final String FIELD_ACTIVE = "active";
private static final String FIELD_COMMENT = "comment";
private static final String FIELD_GEO_CODE = "geoCode";
- private static final String FIELD_POLYGON_COORDINATES =
“polygonCoordinates”;
- private static final String FIELD_LATITUDE = “latitude”;
- private static final String FIELD_LONGITUDE = “longitude”;
private static final String FIELD_LAST_UPDATED = "lastUpdated";
//
@@ -123,6 +126,9 @@
writer.writeElement( FIELD_ACTIVE, String.valueOf(
unit.isActive() ) );
writer.writeElement( FIELD_COMMENT, unit.getComment() );
writer.writeElement( FIELD_GEO_CODE, unit.getGeoCode() );
writer.writeElement( FIELD_POLYGON_COORDINATES,
unit.getPolygonCoordinates() );
writer.writeElement( FIELD_LATITUDE, unit.getLatitude()
);
writer.writeElement( FIELD_LONGITUDE, unit.getLongitude()
);
writer.writeElement( FIELD_LAST_UPDATED,
DateUtils.getMediumDateString( unit.getLastUpdated(), EMPTY ) );
writer.closeElement();
@@ -150,6 +156,9 @@
unit.setActive( Boolean.parseBoolean( values.get( FIELD_ACTIVE
) ) );
unit.setComment( values.get( FIELD_COMMENT ) );
unit.setGeoCode( values.get( FIELD_GEO_CODE ) );
unit.setPolygonCoordinates( values.get(
FIELD_POLYGON_COORDINATES ) );
unit.setLatitude( values.get( FIELD_LATITUDE ) );
unit.setLongitude( values.get( FIELD_LONGITUDE ) );
unit.setLastUpdated( DateUtils.getMediumDate( values.get(
FIELD_LAST_UPDATED ) ) );
NameMappingUtil.addOrganisationUnitMapping( unit.getId(),
unit.getName() );
=== modified file
‘dhis-2/dhis-support/dhis-support-jdbc/src/main/java/org/hisp/dhis/jdbc/batchhandler/OrganisationUnitBatchHandler.java’
dhis-2/dhis-support/dhis-support-jdbc/src/main/java/org/hisp/dhis/jdbc/batchhandler/OrganisationUnitBatchHandler.java
2010-04-12 21:23:33 +0000
+++
dhis-2/dhis-support/dhis-support-jdbc/src/main/java/org/hisp/dhis/jdbc/batchhandler/OrganisationUnitBatchHandler.java
2010-05-19 09:48:29 +0000
@@ -95,6 +95,7 @@
statementBuilder.setColumn( "active" );
statementBuilder.setColumn( "comment" );
statementBuilder.setColumn( "geocode" );
statementBuilder.setColumn( "polygoncoordinates" );
statementBuilder.setColumn( "latitude" );
statementBuilder.setColumn( "longitude" );
statementBuilder.setColumn( "lastUpdated" );
@@ -113,6 +114,7 @@
statementBuilder.setValue( unit.isActive() );
statementBuilder.setValue( unit.getComment() );
statementBuilder.setValue( unit.getGeoCode() );
statementBuilder.setValue( unit.getPolygonCoordinates() );
statementBuilder.setValue( unit.getLatitude() );
statementBuilder.setValue( unit.getLongitude() );
statementBuilder.setValue( unit.getLastUpdated() );
Mailing list: https://launchpad.net/~dhis2-devs
Post to : dhis2-devs@lists.launchpad.net
Unsubscribe : https://launchpad.net/~dhis2-devs
More help : https://help.launchpad.net/ListHelp
–
Cheers,
Knut Staring
Mailing list: https://launchpad.net/~dhis2-devs
Post to : dhis2-devs@lists.launchpad.net
Unsubscribe : https://launchpad.net/~dhis2-devs
More help : https://help.launchpad.net/ListHelp
–
–
Jason P. Pickering
email: jason.p.pickering@gmail.com
tel:+260968395190
–
Cheers,
Knut Staring
Mailing list: https://launchpad.net/~dhis2-devs
Post to : dhis2-devs@lists.launchpad.net
Unsubscribe : https://launchpad.net/~dhis2-devs
More help : https://help.launchpad.net/ListHelp
–
Cheers,
Knut Staring
Mailing list: https://launchpad.net/~dhis2-devs
Post to : dhis2-devs@lists.launchpad.net
Unsubscribe : https://launchpad.net/~dhis2-devs
More help : https://help.launchpad.net/ListHelp
Thanks for valuable input. Using GML in one way or the other was part of the plan as it seems the most versatile format among those produced by Geoserver.
Before deciding I really need to see some more examples of Shapefiles. The ones for SL are a bit weird as Geoserver produces invalid XML when exporting the facility layer to GML (one reason is that the name column is called “name of fa” and that is attempted translated into an xml element).
Does anyone have a couple of “standard” shapefiles? I guess the WHO ones are the closet we get to that. Knut, could you provide some more examples of that (without me having to sign and fax a bunch of forms like last time:-) ?
Lars
Just took a very quick look at the schema for gmlSimpleFeaturesProfile
(attached).
It is a limited subset of gml which allows (amongst others) the
following simple constructs
<!--<Polygon xmlns="http://www.opengis.net/gml"
<interior>
<LinearRing>
<posList>
10 10
20 20
25 32
12 45
22 45
</posList>
</LinearRing>
</interior>
</Polygon>-->
<!--<Point xmlns="http://www.opengis.net/gml">
<pos>10 10</pos>
</Point>-->
We'll see what Knut provides back and see whether these are
sufficient, but these do seem to to map against what we have. There
are of course additional optional attributes and elements but if we
don't model them we don't need to produce them. Not sure if I go for
all the inner ring stuff but then again what I know about GIS I could
write on the back of a cigarette box. Others will know better.
Regards
Bob
gmlsf.xsd (46 KB)
···
2010/5/19 Lars Helge Øverland <larshelge@gmail.com>:
Thanks for valuable input. Using GML in one way or the other was part of the
plan as it seems the most versatile format among those produced by
Geoserver.
Before deciding I really need to see some more examples of Shapefiles. The
ones for SL are a bit weird as Geoserver produces invalid XML when exporting
the facility layer to GML (one reason is that the name column is called
"name of fa" and that is attempted translated into an xml element).
Does anyone have a couple of "standard" shapefiles? I guess the WHO ones are
the closet we get to that. Knut, could you provide some more examples of
that (without me having to sign and fax a bunch of forms like last time:-) ?
Lars
_______________________________________________
Mailing list: https://launchpad.net/~dhis2-devs
Post to : dhis2-devs@lists.launchpad.net
Unsubscribe : https://launchpad.net/~dhis2-devs
More help : https://help.launchpad.net/ListHelp
The most challenging will be the multipolygons. Here is an example:
http://trac.openlayers.org/browser/trunk/openlayers/examples/gml/multipolygon.xml?rev=2978
···
2010/5/19 Bob Jolliffe <bobjolliffe@gmail.com>:
Just took a very quick look at the schema for gmlSimpleFeaturesProfile
(attached).It is a limited subset of gml which allows (amongst others) the
following simple constructs<!--<Polygon xmlns="http://www.opengis.net/gml"
<interior>
<LinearRing>
<posList>
10 10
20 20
25 32
12 45
22 45
</posList>
</LinearRing>
</interior>
</Polygon>--><!--<Point xmlns="http://www.opengis.net/gml">
<pos>10 10</pos>
</Point>-->We'll see what Knut provides back and see whether these are
sufficient, but these do seem to to map against what we have. There
are of course additional optional attributes and elements but if we
don't model them we don't need to produce them. Not sure if I go for
all the inner ring stuff but then again what I know about GIS I could
write on the back of a cigarette box. Others will know better.Regards
Bob2010/5/19 Lars Helge Øverland <larshelge@gmail.com>:
Thanks for valuable input. Using GML in one way or the other was part of the
plan as it seems the most versatile format among those produced by
Geoserver.
Before deciding I really need to see some more examples of Shapefiles. The
ones for SL are a bit weird as Geoserver produces invalid XML when exporting
the facility layer to GML (one reason is that the name column is called
"name of fa" and that is attempted translated into an xml element).
Does anyone have a couple of "standard" shapefiles? I guess the WHO ones are
the closet we get to that. Knut, could you provide some more examples of
that (without me having to sign and fax a bunch of forms like last time:-) ?
Lars
_______________________________________________
Mailing list: https://launchpad.net/~dhis2-devs
Post to : dhis2-devs@lists.launchpad.net
Unsubscribe : https://launchpad.net/~dhis2-devs
More help : https://help.launchpad.net/ListHelp_______________________________________________
Mailing list: https://launchpad.net/~dhis2-devs
Post to : dhis2-devs@lists.launchpad.net
Unsubscribe : https://launchpad.net/~dhis2-devs
More help : https://help.launchpad.net/ListHelp
--
Cheers,
Knut Staring
Without going into the inner guts of GML, which can be terribly
complex, let me first elaborate a bit on the use case. In an certain
country I have recently been in, a seperate GIS system will be setup
for supporting the master MoH plan. They will need to calculate for
instance, accessibility of health facilities to the population. While
it may be possible for a given external GIS client (Qgis, ArcGIS,
DivaGiS, etc, etc) to consume GeoJSON, the question then becomes is
the the "right" thing to do. We would prefer not to have two
repositories, of for instance health facilities, and then have to
worry about how to sync them.
I have understood from the beginning of the DHIS2 GIS client, that it
was based on simplicity and speed. I think it has been a great
success, and achieved much more than I really thought possible in such
a short time. I do not think we should complicate things too much and
lose sight of the original intentions of the DHIS2 GIS client.
However, I would like to see that DHIS2 can either 1) serve as a
repository of GIS data, in which case it needs to be able to support
things like GML or projection definitions to serve to external clients
that may need this OR 2) consume data in standard formats from another
repository. Both would be great of course, but we do not want to
rewrite Geoserver. I think there is a blueprint out there that would
allow (when implemented) DHIS to consume data from a WFS, and then
transform this data into its own internal representation (In this
case, GeoJSON). It is also theoretically possible to use the
Geoserver, with an attribute or view, to present to Geoserver, which
could handle the heavy WFS/WMS lifting if required.
I guess I am sort of favoring implementing some sort of GML support,
as this would pretty much easily allow other clients to take a DXF
file and transform it into something that they could use directly. If
the internal representation of the data is needed in GeoJSON for
performance and simplicity reasons, I think this might be OK for now.
However, I think what is represented in the DXF (or SDMX-HD) file,
which may be used by either DHIS2 systems or other systems, then
representing the point/polygon in GML would be a more standards based
approach. One possible way would be to store the data in native GML
format, and then transform it into GeoJSON (sort of like a data mart)
for presentation to the mapping client.
Just some ideas...
Regards,
Jason
···
2010/5/19 Bob Jolliffe <bobjolliffe@gmail.com>:
Just took a very quick look at the schema for gmlSimpleFeaturesProfile
(attached).It is a limited subset of gml which allows (amongst others) the
following simple constructs<!--<Polygon xmlns="http://www.opengis.net/gml"
<interior>
<LinearRing>
<posList>
10 10
20 20
25 32
12 45
22 45
</posList>
</LinearRing>
</interior>
</Polygon>--><!--<Point xmlns="http://www.opengis.net/gml">
<pos>10 10</pos>
</Point>-->We'll see what Knut provides back and see whether these are
sufficient, but these do seem to to map against what we have. There
are of course additional optional attributes and elements but if we
don't model them we don't need to produce them. Not sure if I go for
all the inner ring stuff but then again what I know about GIS I could
write on the back of a cigarette box. Others will know better.Regards
Bob2010/5/19 Lars Helge Øverland <larshelge@gmail.com>:
Thanks for valuable input. Using GML in one way or the other was part of the
plan as it seems the most versatile format among those produced by
Geoserver.
Before deciding I really need to see some more examples of Shapefiles. The
ones for SL are a bit weird as Geoserver produces invalid XML when exporting
the facility layer to GML (one reason is that the name column is called
"name of fa" and that is attempted translated into an xml element).
Does anyone have a couple of "standard" shapefiles? I guess the WHO ones are
the closet we get to that. Knut, could you provide some more examples of
that (without me having to sign and fax a bunch of forms like last time:-) ?
Lars
_______________________________________________
Mailing list: https://launchpad.net/~dhis2-devs
Post to : dhis2-devs@lists.launchpad.net
Unsubscribe : https://launchpad.net/~dhis2-devs
More help : https://help.launchpad.net/ListHelp_______________________________________________
Mailing list: https://launchpad.net/~dhis2-devs
Post to : dhis2-devs@lists.launchpad.net
Unsubscribe : https://launchpad.net/~dhis2-devs
More help : https://help.launchpad.net/ListHelp
--
--
Jason P. Pickering
email: jason.p.pickering@gmail.com
tel:+260968395190
I have understood from the beginning of the DHIS2 GIS client, that it
was based on simplicity and speed. I think it has been a great
success, and achieved much more than I really thought possible in such
a short time. I do not think we should complicate things too much and
lose sight of the original intentions of the DHIS2 GIS client.However, I would like to see that DHIS2 can either 1) serve as a
repository of GIS data, in which case it needs to be able to support
things like GML or projection definitions to serve to external clients
that may need this OR 2) consume data in standard formats from another
repository. Both would be great of course, but we do not want to
rewrite Geoserver.
Indeed. We may at some point wish to package Geoserver, but that would
add both to the size on disk and in RAM, so should be optional. And I
don't think we need it yet.
I think there is a blueprint out there that would
allow (when implemented) DHIS to consume data from a WFS, and then
transform this data into its own internal representation (In this
case, GeoJSON). It is also theoretically possible to use the
Geoserver, with an attribute or view, to present to Geoserver, which
could handle the heavy WFS/WMS lifting if required.I guess I am sort of favoring implementing some sort of GML support,
as this would pretty much easily allow other clients to take a DXF
file and transform it into something that they could use directly.
This is a very good point - we want DHIS 2 to be a national repository
of facilities and data, and this certainly also includes their
placement (i.e. lat/lon), but probably also administrative boundaries.
And we want it to be easy to distribute and share this, i.e. it should
be in DXF. Using GML for this makes a lot of sense, and adding XSLT
could give us the popular KML as an option:
http://members.home.nl/cybarber/geomatters/GML2KML.xslt
If
the internal representation of the data is needed in GeoJSON for
performance and simplicity reasons, I think this might be OK for now.
However, I think what is represented in the DXF (or SDMX-HD) file,
which may be used by either DHIS2 systems or other systems, then
representing the point/polygon in GML would be a more standards based
approach. One possible way would be to store the data in native GML
format, and then transform it into GeoJSON (sort of like a data mart)
for presentation to the mapping client.
I don't think we want to do this transformation on the fly. It is an
empirical question whether it would be as fast to serve GML to
OpenLayers as it is currently to serve GeoJSON. I guess it would be
possible to store both representations in different fields, but that
seems fraught with difficulty as well. My hunch is to keep the GeoJSON
representation in the db and generate GML for export, and likewise be
able to absorb GML import - I could be mistaken. Of course, if we
don't worry about the administrative boundaries things become a hell
of a lot simpler - but I think we have to.
k
···
On Wed, May 19, 2010 at 6:18 PM, Jason Pickering <jason.p.pickering@gmail.com> wrote:
Just some ideas...
Regards,
Jason2010/5/19 Bob Jolliffe <bobjolliffe@gmail.com>:
Just took a very quick look at the schema for gmlSimpleFeaturesProfile
(attached).It is a limited subset of gml which allows (amongst others) the
following simple constructs<!--<Polygon xmlns="http://www.opengis.net/gml"
<interior>
<LinearRing>
<posList>
10 10
20 20
25 32
12 45
22 45
</posList>
</LinearRing>
</interior>
</Polygon>--><!--<Point xmlns="http://www.opengis.net/gml">
<pos>10 10</pos>
</Point>-->We'll see what Knut provides back and see whether these are
sufficient, but these do seem to to map against what we have. There
are of course additional optional attributes and elements but if we
don't model them we don't need to produce them. Not sure if I go for
all the inner ring stuff but then again what I know about GIS I could
write on the back of a cigarette box. Others will know better.Regards
Bob2010/5/19 Lars Helge Øverland <larshelge@gmail.com>:
Thanks for valuable input. Using GML in one way or the other was part of the
plan as it seems the most versatile format among those produced by
Geoserver.
Before deciding I really need to see some more examples of Shapefiles. The
ones for SL are a bit weird as Geoserver produces invalid XML when exporting
the facility layer to GML (one reason is that the name column is called
"name of fa" and that is attempted translated into an xml element).
Does anyone have a couple of "standard" shapefiles? I guess the WHO ones are
the closet we get to that. Knut, could you provide some more examples of
that (without me having to sign and fax a bunch of forms like last time:-) ?
Lars
_______________________________________________
Mailing list: https://launchpad.net/~dhis2-devs
Post to : dhis2-devs@lists.launchpad.net
Unsubscribe : https://launchpad.net/~dhis2-devs
More help : https://help.launchpad.net/ListHelp_______________________________________________
Mailing list: https://launchpad.net/~dhis2-devs
Post to : dhis2-devs@lists.launchpad.net
Unsubscribe : https://launchpad.net/~dhis2-devs
More help : https://help.launchpad.net/ListHelp--
--
Jason P. Pickering
email: jason.p.pickering@gmail.com
tel:+260968395190_______________________________________________
Mailing list: https://launchpad.net/~dhis2-devs
Post to : dhis2-devs@lists.launchpad.net
Unsubscribe : https://launchpad.net/~dhis2-devs
More help : https://help.launchpad.net/ListHelp
--
Cheers,
Knut Staring
I have understood from the beginning of the DHIS2 GIS client, that it
was based on simplicity and speed. I think it has been a great
success, and achieved much more than I really thought possible in such
a short time. I do not think we should complicate things too much and
lose sight of the original intentions of the DHIS2 GIS client.However, I would like to see that DHIS2 can either 1) serve as a
repository of GIS data, in which case it needs to be able to support
things like GML or projection definitions to serve to external clients
that may need this OR 2) consume data in standard formats from another
repository. Both would be great of course, but we do not want to
rewrite Geoserver.Indeed. We may at some point wish to package Geoserver, but that would
add both to the size on disk and in RAM, so should be optional. And I
don't think we need it yet.I think there is a blueprint out there that would
allow (when implemented) DHIS to consume data from a WFS, and then
transform this data into its own internal representation (In this
case, GeoJSON).
It could already do this. someone just needs to write the transformation.
It is also theoretically possible to use the
Geoserver, with an attribute or view, to present to Geoserver, which
could handle the heavy WFS/WMS lifting if required.I guess I am sort of favoring implementing some sort of GML support,
as this would pretty much easily allow other clients to take a DXF
file and transform it into something that they could use directly.This is a very good point - we want DHIS 2 to be a national repository
of facilities and data, and this certainly also includes their
placement (i.e. lat/lon), but probably also administrative boundaries.
And we want it to be easy to distribute and share this, i.e. it should
be in DXF. Using GML for this makes a lot of sense, and adding XSLT
could give us the popular KML as an option:
http://members.home.nl/cybarber/geomatters/GML2KML.xsltIf
the internal representation of the data is needed in GeoJSON for
performance and simplicity reasons, I think this might be OK for now.
However, I think what is represented in the DXF (or SDMX-HD) file,
which may be used by either DHIS2 systems or other systems, then
representing the point/polygon in GML would be a more standards based
approach. One possible way would be to store the data in native GML
format, and then transform it into GeoJSON (sort of like a data mart)
for presentation to the mapping client.
I don't know where the critical bottlenecks are. But probably storage
in the database should be determined by whatever is most efficient for
the database. GeoJSON looks sort of minimal and so it might be just
fine the way we do it. I guess the question is whether the model is
rich enough for us - do we need at least some of those other weird and
wonderful attributes I see in GML? If so we might need to rethink a
bit what gets stored. But if not then its maybe not worth losing
sleep over. You can transform and import stuff but its not magic - in
the end you can only store what you model. Similarly with output. We
could certainly output gml but it would be very minimal
bare-conformance gml. To understand the scope of the problem, Lars is
right - we've got to look at as many real use cases as we can.
Lars what are those files you talked of importing last week?
Regards
Bob
···
On 19 May 2010 17:47, Knut Staring <knutst@gmail.com> wrote:
On Wed, May 19, 2010 at 6:18 PM, Jason Pickering > <jason.p.pickering@gmail.com> wrote:
I don't think we want to do this transformation on the fly. It is an
empirical question whether it would be as fast to serve GML to
OpenLayers as it is currently to serve GeoJSON. I guess it would be
possible to store both representations in different fields, but that
seems fraught with difficulty as well. My hunch is to keep the GeoJSON
representation in the db and generate GML for export, and likewise be
able to absorb GML import - I could be mistaken. Of course, if we
don't worry about the administrative boundaries things become a hell
of a lot simpler - but I think we have to.k
Just some ideas...
Regards,
Jason2010/5/19 Bob Jolliffe <bobjolliffe@gmail.com>:
Just took a very quick look at the schema for gmlSimpleFeaturesProfile
(attached).It is a limited subset of gml which allows (amongst others) the
following simple constructs<!--<Polygon xmlns="http://www.opengis.net/gml"
<interior>
<LinearRing>
<posList>
10 10
20 20
25 32
12 45
22 45
</posList>
</LinearRing>
</interior>
</Polygon>--><!--<Point xmlns="http://www.opengis.net/gml">
<pos>10 10</pos>
</Point>-->We'll see what Knut provides back and see whether these are
sufficient, but these do seem to to map against what we have. There
are of course additional optional attributes and elements but if we
don't model them we don't need to produce them. Not sure if I go for
all the inner ring stuff but then again what I know about GIS I could
write on the back of a cigarette box. Others will know better.Regards
Bob2010/5/19 Lars Helge Øverland <larshelge@gmail.com>:
Thanks for valuable input. Using GML in one way or the other was part of the
plan as it seems the most versatile format among those produced by
Geoserver.
Before deciding I really need to see some more examples of Shapefiles. The
ones for SL are a bit weird as Geoserver produces invalid XML when exporting
the facility layer to GML (one reason is that the name column is called
"name of fa" and that is attempted translated into an xml element).
Does anyone have a couple of "standard" shapefiles? I guess the WHO ones are
the closet we get to that. Knut, could you provide some more examples of
that (without me having to sign and fax a bunch of forms like last time:-) ?
Lars
_______________________________________________
Mailing list: https://launchpad.net/~dhis2-devs
Post to : dhis2-devs@lists.launchpad.net
Unsubscribe : https://launchpad.net/~dhis2-devs
More help : https://help.launchpad.net/ListHelp_______________________________________________
Mailing list: https://launchpad.net/~dhis2-devs
Post to : dhis2-devs@lists.launchpad.net
Unsubscribe : https://launchpad.net/~dhis2-devs
More help : https://help.launchpad.net/ListHelp--
--
Jason P. Pickering
email: jason.p.pickering@gmail.com
tel:+260968395190_______________________________________________
Mailing list: https://launchpad.net/~dhis2-devs
Post to : dhis2-devs@lists.launchpad.net
Unsubscribe : https://launchpad.net/~dhis2-devs
More help : https://help.launchpad.net/ListHelp--
Cheers,
Knut Staring
Loads of examples of shapefiles can be downloaded from these sites:
http://www.diva-gis.org/Data
http://gadm.org/country
I am investigating how we best can set up a pipeline for GeoJSON
production, which would entail the following steps:
1) Simplification
2) Transformation to GeoJSON
3) Splitting of layers into features
4) Populating the orgunittable (also with the hierarchy)
Unfortunately, it seems like a commercial tool like ArcMap or FME
(which I have here) would be the easiest way to automate this
pipeline.
But it could also be possible to ask people to simplify their
shapefiles using Mapshaper.org and then be able to upload to DHIS,
where we automate the last three steps.
Knut
···
2010/5/19 Lars Helge Øverland <larshelge@gmail.com>:
Thanks for valuable input. Using GML in one way or the other was part of the
plan as it seems the most versatile format among those produced by
Geoserver.
Before deciding I really need to see some more examples of Shapefiles. The
ones for SL are a bit weird as Geoserver produces invalid XML when exporting
the facility layer to GML (one reason is that the name column is called
"name of fa" and that is attempted translated into an xml element).
Does anyone have a couple of "standard" shapefiles? I guess the WHO ones are
the closet we get to that. Knut, could you provide some more examples of
that (without me having to sign and fax a bunch of forms like last time:-) ?
Lars
--
Cheers,
Knut Staring