This is an automated email from the git hooks/post-receive script. New commit to branch develop in repository observe. See http://git.codelutin.com/observe.git commit b2740651068b527d34a09e6423d53139bf37a3b0 Author: Sylvain Bavencoff <bavencoff@codelutin.com> Date: Thu Apr 16 08:56:52 2015 +0200 add shape file and options map in config --- .../main/java/fr/ird/observe/ObserveConfig.java | 71 +++------- .../java/fr/ird/observe/ObserveConfigOption.java | 106 +++++++++++++++ .../fr/ird/observe/ObserveResourceManager.java | 9 +- .../main/java/fr/ird/observe/ObserveRunner.java | 9 +- .../ird/observe/ui/actions/ShowConfigAction.java | 29 +++- .../resources/shapeFiles/zee/World_EEZ_v8_2014.dbf | Bin 0 -> 177553 bytes .../resources/shapeFiles/zee/World_EEZ_v8_2014.prj | 1 + .../resources/shapeFiles/zee/World_EEZ_v8_2014.sbn | Bin 0 -> 2852 bytes .../resources/shapeFiles/zee/World_EEZ_v8_2014.sbx | Bin 0 -> 372 bytes .../resources/shapeFiles/zee/World_EEZ_v8_2014.shp | Bin 0 -> 5091908 bytes .../shapeFiles/zee/World_EEZ_v8_2014.shp.xml | 147 +++++++++++++++++++++ .../resources/shapeFiles/zee/World_EEZ_v8_2014.shx | Bin 0 -> 2092 bytes 12 files changed, 313 insertions(+), 59 deletions(-) diff --git a/observe-swing/src/main/java/fr/ird/observe/ObserveConfig.java b/observe-swing/src/main/java/fr/ird/observe/ObserveConfig.java index a7102b8..b8909dc 100644 --- a/observe-swing/src/main/java/fr/ird/observe/ObserveConfig.java +++ b/observe-swing/src/main/java/fr/ird/observe/ObserveConfig.java @@ -22,6 +22,7 @@ package fr.ird.observe; import com.google.common.collect.ImmutableSet; +import com.google.common.collect.Lists; import com.google.common.collect.Sets; import fr.ird.observe.db.DataSourceFactory; import fr.ird.observe.db.constants.CommonDataSourceConfigParam; @@ -39,6 +40,7 @@ import org.nuiton.util.version.Version; import org.nuiton.util.version.Versions; import javax.swing.JOptionPane; +import java.awt.Color; import java.beans.PropertyChangeListener; import java.io.File; import java.io.IOException; @@ -50,57 +52,7 @@ import java.util.Locale; import java.util.Properties; import java.util.Set; -import static fr.ird.observe.ObserveConfigOption.AUTO_POPUP_NUMBER_EDITOR; -import static fr.ird.observe.ObserveConfigOption.BACKUP_DIRECTORY; -import static fr.ird.observe.ObserveConfigOption.BAIT_OBSERVATION; -import static fr.ird.observe.ObserveConfigOption.BIRDS_OBSERVATION; -import static fr.ird.observe.ObserveConfigOption.CHANGE_SYNCHRO_SRC; -import static fr.ird.observe.ObserveConfigOption.CONFIG_FILE; -import static fr.ird.observe.ObserveConfigOption.DB_DIRECTORY; -import static fr.ird.observe.ObserveConfigOption.DB_LOCALE; -import static fr.ird.observe.ObserveConfigOption.DEFAULT_CREATION_MODE; -import static fr.ird.observe.ObserveConfigOption.DEFAULT_DB_MODE; -import static fr.ird.observe.ObserveConfigOption.DEFAULT_GPS_MAX_DELAY; -import static fr.ird.observe.ObserveConfigOption.DEFAULT_GPS_MAX_SPEED; -import static fr.ird.observe.ObserveConfigOption.DETAILLED_ACTIVITIES_OBSERVATION; -import static fr.ird.observe.ObserveConfigOption.DEV_MODE; -import static fr.ird.observe.ObserveConfigOption.FULL_SCREEN; -import static fr.ird.observe.ObserveConfigOption.H2_CAN_MIGRATE; -import static fr.ird.observe.ObserveConfigOption.H2_LOGIN; -import static fr.ird.observe.ObserveConfigOption.H2_PASSWORD; -import static fr.ird.observe.ObserveConfigOption.H2_SERVER_PORT; -import static fr.ird.observe.ObserveConfigOption.I18N_DIRECTORY; -import static fr.ird.observe.ObserveConfigOption.INITIAL_DB_DUMP; -import static fr.ird.observe.ObserveConfigOption.LOAD_LOCAL_STORAGE; -import static fr.ird.observe.ObserveConfigOption.LOCALE; -import static fr.ird.observe.ObserveConfigOption.MAMMALS_OBSERVATION; -import static fr.ird.observe.ObserveConfigOption.NON_TARGET_OBSERVATION; -import static fr.ird.observe.ObserveConfigOption.OBJECTS_OBSERVATION; -import static fr.ird.observe.ObserveConfigOption.OBSTUNA_CAN_MIGRATE; -import static fr.ird.observe.ObserveConfigOption.OBSTUNA_LOGIN; -import static fr.ird.observe.ObserveConfigOption.OBSTUNA_PASSWORD; -import static fr.ird.observe.ObserveConfigOption.OBSTUNA_URL; -import static fr.ird.observe.ObserveConfigOption.OBSTUNA_USE_SSL_CERT; -import static fr.ird.observe.ObserveConfigOption.REPORT_DIRECTORY; -import static fr.ird.observe.ObserveConfigOption.RESOURCES_DIRECTORY; -import static fr.ird.observe.ObserveConfigOption.SAMPLES_OBSERVATION; -import static fr.ird.observe.ObserveConfigOption.SHOW_DATE_TIME_EDITOR_SLIDER; -import static fr.ird.observe.ObserveConfigOption.SHOW_MIGRATION_PROGRESSION; -import static fr.ird.observe.ObserveConfigOption.SHOW_MIGRATION_SQL; -import static fr.ird.observe.ObserveConfigOption.SHOW_NUMBER_EDITOR_BUTTON; -import static fr.ird.observe.ObserveConfigOption.SHOW_SQL; -import static fr.ird.observe.ObserveConfigOption.SPECIES_LIST_LONGLINE_CATCH_ID; -import static fr.ird.observe.ObserveConfigOption.SPECIES_LIST_LONGLINE_DEPREDATOR_ID; -import static fr.ird.observe.ObserveConfigOption.SPECIES_LIST_LONGLINE_ENCOUNTER_ID; -import static fr.ird.observe.ObserveConfigOption.SPECIES_LIST_SEINE_NON_TARGET_CATCH_ID; -import static fr.ird.observe.ObserveConfigOption.SPECIES_LIST_SEINE_OBJECT_OBSERVED_SPECIES_ID; -import static fr.ird.observe.ObserveConfigOption.SPECIES_LIST_SEINE_OBJECT_SCHOOL_ESTIMATE_ID; -import static fr.ird.observe.ObserveConfigOption.SPECIES_LIST_SEINE_SCHOOL_ESTIMATE_ID; -import static fr.ird.observe.ObserveConfigOption.SPECIES_LIST_SEINE_TARGET_CATCH_ID; -import static fr.ird.observe.ObserveConfigOption.STORE_REMOTE_STORAGE; -import static fr.ird.observe.ObserveConfigOption.TARGET_DISCARDS_OBSERVATION; -import static fr.ird.observe.ObserveConfigOption.TMP_DIRECTORY; -import static fr.ird.observe.ObserveConfigOption.values; +import static fr.ird.observe.ObserveConfigOption.*; import static fr.ird.observe.ObserveResourceManager.Resource; import static org.nuiton.i18n.I18n.t; @@ -866,6 +818,23 @@ public class ObserveConfig extends ApplicationConfig implements IObserveConfig { setOption(SPECIES_LIST_LONGLINE_DEPREDATOR_ID, speciesListLonglineDepredatorId); } + public Color getMapBackgroundColor() { + Color result = getOptionAsColor(MAP_BACKGROUND_COLOR.key); + return result; + } + + public List<File> getMapLayerFiles() { + List<File> layers = Lists.newLinkedList(); + + for (ObserveConfigOption layerOption : ObserveConfigOption.MAP_LAYERS) { + File layerFile = getOptionAsFile(layerOption.key); + if (layerFile != null && layerFile.exists()) { + layers.add(layerFile); + } + } + return layers; + } + public String[] getUnsavables() { if (unsavables == null) { List<String> tmp = new ArrayList<String>(); diff --git a/observe-swing/src/main/java/fr/ird/observe/ObserveConfigOption.java b/observe-swing/src/main/java/fr/ird/observe/ObserveConfigOption.java index 2fa3e54..d797d8c 100644 --- a/observe-swing/src/main/java/fr/ird/observe/ObserveConfigOption.java +++ b/observe-swing/src/main/java/fr/ird/observe/ObserveConfigOption.java @@ -21,12 +21,15 @@ */ package fr.ird.observe; +import com.google.common.collect.ImmutableList; import fr.ird.observe.db.constants.CreationMode; import fr.ird.observe.db.constants.DbMode; import org.nuiton.config.ApplicationConfig; import org.nuiton.config.ConfigOptionDef; +import java.awt.Color; import java.io.File; +import java.util.List; import java.util.Locale; import static org.nuiton.i18n.I18n.n; @@ -612,8 +615,111 @@ public enum ObserveConfigOption implements ConfigOptionDef { String.class, false, false + ), + + /** le chemin vers le fond de carte */ + MAP_BACKGROUND_COLOR( + "map.background.color", + n("observe.config.map.background.description"), + new Color(87, 200, 255).toString(), + Color.class, + false, + false + ), + /** shape file 1 */ + MAP_LAYER_1( + "map.layer1.path", + n("observe.config.map.layer1.description"), + "${user.home}/.observe/shapeFiles/zee/World_EEZ_v8_2014.shp", + File.class, + false, + false + ), + /** shape file 2 */ + MAP_LAYER_2( + "map.layer2.path", + n("observe.config.map.layer2.description"), + null, + File.class, + false, + false + ), + /** shape file 3 */ + MAP_LAYER_3( + "map.layer3.path", + n("observe.config.map.layer3.description"), + null, + File.class, + false, + false + ), + /** shape file 4 */ + MAP_LAYER_4( + "map.layer4.path", + n("observe.config.map.layer4.description"), + null, + File.class, + false, + false + ), + /** shape file 5 */ + MAP_LAYER_5( + "map.layer5.path", + n("observe.config.map.layer5.description"), + null, + File.class, + false, + false + ), + /** shape file 6 */ + MAP_LAYER_6( + "map.layer6.path", + n("observe.config.map.layer6.description"), + null, + File.class, + false, + false + ), + /** shape file 7 */ + MAP_LAYER_7( + "map.layer7.path", + n("observe.config.map.layer7.description"), + null, + File.class, + false, + false + ), + /** shape file 8 */ + MAP_LAYER_8( + "map.layer8.path", + n("observe.config.map.layer8.description"), + null, + File.class, + false, + false + ), + /** shape file 9 */ + MAP_LAYER_9( + "map.layer9.path", + n("observe.config.map.layer9.description"), + null, + File.class, + false, + false + ), + /** shape file 10 */ + MAP_LAYER_10( + "map.layer10.path", + n("observe.config.map.layer10.description"), + null, + File.class, + false, + false ); + protected static List<ObserveConfigOption> MAP_LAYERS = ImmutableList.of(MAP_LAYER_1, MAP_LAYER_2, MAP_LAYER_3, + MAP_LAYER_4, MAP_LAYER_5, MAP_LAYER_6, MAP_LAYER_7, MAP_LAYER_8, MAP_LAYER_9, MAP_LAYER_10); + /** * Clef qui represente l'option (c'est celle enregistrée dans le fichier de * configuration). diff --git a/observe-swing/src/main/java/fr/ird/observe/ObserveResourceManager.java b/observe-swing/src/main/java/fr/ird/observe/ObserveResourceManager.java index a38fb58..b6f8403 100644 --- a/observe-swing/src/main/java/fr/ird/observe/ObserveResourceManager.java +++ b/observe-swing/src/main/java/fr/ird/observe/ObserveResourceManager.java @@ -58,6 +58,12 @@ public class ObserveResourceManager { public static final String OBSERVE_REPORTS_PROPERTIES = "/observe-reports.properties"; + public static final String OBSERVE_MAP_BACKGROUND = + "/shapefiles/backgroundes/background.shp"; + + public static final String OBSERVE_MAP_LAYERS = + "/shapeFiles"; + /** Logger */ static private Log log = LogFactory.getLog(ObserveResourceManager.class); @@ -65,7 +71,8 @@ public class ObserveResourceManager { ui(OBSERVE_UI_PROPERTIES), application(OBSERVE_APPLICATION_PROPERTIES), - report(OBSERVE_REPORTS_PROPERTIES); + report(OBSERVE_REPORTS_PROPERTIES), + mapLayers(OBSERVE_MAP_LAYERS); private final String location; diff --git a/observe-swing/src/main/java/fr/ird/observe/ObserveRunner.java b/observe-swing/src/main/java/fr/ird/observe/ObserveRunner.java index 0001918..432f4a2 100644 --- a/observe-swing/src/main/java/fr/ird/observe/ObserveRunner.java +++ b/observe-swing/src/main/java/fr/ird/observe/ObserveRunner.java @@ -213,7 +213,7 @@ public abstract class ObserveRunner extends ApplicationRunner { if (log.isInfoEnabled()) { log.info(t("observe.runner.i18n.loaded", - config.getLocale().getDisplayLanguage())); + config.getLocale().getDisplayLanguage())); } // 4 - preparation de la configuration des ui @@ -458,6 +458,13 @@ public abstract class ObserveRunner extends ApplicationRunner { // 8 - validation report directory resourceManager.createDirectory(config, VALIDATION_REPORT_DIRECTORY); + + // 9 - resources shapeFiles + +// String message = t("observe.runner.copy.default.report.file", eezShapeFile); +// +// resourceManager.copyDirectory(Resource.mapLayers, config, RESOURCES_DIRECTORY, massage); + } protected void detectLocalDataBase(ObserveConfig config) throws IOException { diff --git a/observe-swing/src/main/java/fr/ird/observe/ui/actions/ShowConfigAction.java b/observe-swing/src/main/java/fr/ird/observe/ui/actions/ShowConfigAction.java index a19ff09..a2fe180 100644 --- a/observe-swing/src/main/java/fr/ird/observe/ui/actions/ShowConfigAction.java +++ b/observe-swing/src/main/java/fr/ird/observe/ui/actions/ShowConfigAction.java @@ -220,7 +220,7 @@ public class ShowConfigAction extends AbstractAction { protected void addH2Options(ObserveConfigUIBuilder helper) { helper.addCategory(n("observe.config.category.h2"), - n("observe.config.category.h2.description")); + n("observe.config.category.h2.description")); helper.addOption(ObserveConfigOption.H2_LOGIN); helper.addOption(ObserveConfigOption.H2_PASSWORD); @@ -261,7 +261,7 @@ public class ShowConfigAction extends AbstractAction { protected void addGpsOptions(ObserveConfigUIBuilder helper) { helper.addCategory(n("observe.config.category.gps"), - n("observe.config.category.gps.description")); + n("observe.config.category.gps.description")); helper.addOption(ObserveConfigOption.DEFAULT_GPS_MAX_DELAY); helper.addOption(ObserveConfigOption.DEFAULT_GPS_MAX_SPEED); @@ -282,11 +282,10 @@ public class ShowConfigAction extends AbstractAction { helper.addCategory( n("observe.config.category.observation"), - n("observe.config.category.observation.description")); - - helper.addOption(ObserveConfigOption.DETAILLED_ACTIVITIES_OBSERVATION, - ObserveUICallback.ui); + n("observe.config.category.observation.description"), + ObserveUICallback.ui.name()); + helper.addOption(ObserveConfigOption.DETAILLED_ACTIVITIES_OBSERVATION); helper.addOption(ObserveConfigOption.NON_TARGET_OBSERVATION); helper.addOption(ObserveConfigOption.BAIT_OBSERVATION); helper.addOption(ObserveConfigOption.MAMMALS_OBSERVATION); @@ -325,6 +324,24 @@ public class ShowConfigAction extends AbstractAction { } + protected void addMapOptions(ObserveConfigUIBuilder helper) { + + helper.addCategory( + n("observe.config.category.map"), + n("observe.config.category.map.description"), + ObserveUICallback.ui.name()); + + helper.addOption(ObserveConfigOption.DETAILLED_ACTIVITIES_OBSERVATION); + helper.addOption(ObserveConfigOption.NON_TARGET_OBSERVATION); + helper.addOption(ObserveConfigOption.BAIT_OBSERVATION); + helper.addOption(ObserveConfigOption.MAMMALS_OBSERVATION); + helper.addOption(ObserveConfigOption.SAMPLES_OBSERVATION); + helper.addOption(ObserveConfigOption.OBJECTS_OBSERVATION); + helper.addOption(ObserveConfigOption.BIRDS_OBSERVATION); + helper.addOption(ObserveConfigOption.TARGET_DISCARDS_OBSERVATION); + + } + protected void addOthersOptions(ObserveConfigUIBuilder helper) { helper.addCategory(n("observe.config.category.other"), diff --git a/observe-swing/src/main/resources/shapeFiles/zee/World_EEZ_v8_2014.dbf b/observe-swing/src/main/resources/shapeFiles/zee/World_EEZ_v8_2014.dbf new file mode 100644 index 0000000..e5397a1 Binary files /dev/null and b/observe-swing/src/main/resources/shapeFiles/zee/World_EEZ_v8_2014.dbf differ diff --git a/observe-swing/src/main/resources/shapeFiles/zee/World_EEZ_v8_2014.prj b/observe-swing/src/main/resources/shapeFiles/zee/World_EEZ_v8_2014.prj new file mode 100644 index 0000000..f45cbad --- /dev/null +++ b/observe-swing/src/main/resources/shapeFiles/zee/World_EEZ_v8_2014.prj @@ -0,0 +1 @@ +GEOGCS["GCS_WGS_1984",DATUM["D_WGS_1984",SPHEROID["WGS_1984",6378137.0,298.257223563]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]] \ No newline at end of file diff --git a/observe-swing/src/main/resources/shapeFiles/zee/World_EEZ_v8_2014.sbn b/observe-swing/src/main/resources/shapeFiles/zee/World_EEZ_v8_2014.sbn new file mode 100644 index 0000000..9b84b5b Binary files /dev/null and b/observe-swing/src/main/resources/shapeFiles/zee/World_EEZ_v8_2014.sbn differ diff --git a/observe-swing/src/main/resources/shapeFiles/zee/World_EEZ_v8_2014.sbx b/observe-swing/src/main/resources/shapeFiles/zee/World_EEZ_v8_2014.sbx new file mode 100644 index 0000000..e891817 Binary files /dev/null and b/observe-swing/src/main/resources/shapeFiles/zee/World_EEZ_v8_2014.sbx differ diff --git a/observe-swing/src/main/resources/shapeFiles/zee/World_EEZ_v8_2014.shp b/observe-swing/src/main/resources/shapeFiles/zee/World_EEZ_v8_2014.shp new file mode 100644 index 0000000..429acd0 Binary files /dev/null and b/observe-swing/src/main/resources/shapeFiles/zee/World_EEZ_v8_2014.shp differ diff --git a/observe-swing/src/main/resources/shapeFiles/zee/World_EEZ_v8_2014.shp.xml b/observe-swing/src/main/resources/shapeFiles/zee/World_EEZ_v8_2014.shp.xml new file mode 100644 index 0000000..187f15b --- /dev/null +++ b/observe-swing/src/main/resources/shapeFiles/zee/World_EEZ_v8_2014.shp.xml @@ -0,0 +1,147 @@ +<metadata xml:lang="nl"><Esri><CreaDate>20131014</CreaDate><CreaTime>13354700</CreaTime><SyncOnce>FALSE</SyncOnce><SyncDate>20140227</SyncDate><SyncTime>14430500</SyncTime><ModDate>20140227</ModDate><ModTime>14430500</ModTime><DataProperties><lineage><Process ToolSource="c:\program files (x86)\arcgis\desktop10.1\ArcToolbox\Toolboxes\Data Management Tools.tbx\CalculateField" Date="20120906" Time="120028" Name="" export="">CalculateField World_Maritime_Boundaries_v7 LastChange [Remarks] VB [...] +The data set of the Exclusive Economic Zones can be used in many applications. In biogeography for example, it is possible to create for instance species distribution lists per country.</idPurp><idAbs><DIV STYLE="text-align:Left;"><DIV><DIV><P STYLE="margin:0 0 0 0;"><SPAN>Two global GIS-covers in ESRI shape format were produced: one contains polylines representing the maritime boundaries;the second holds polygons representing the EEZs. When all the boundary [...] +HBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/2wBDAQkJCQwLDBgNDRgyIRwhMjIyMjIy +MjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjL/wAARCACFAMgDASIA +AhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQA +AAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3 +ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWm +p6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEA +AwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSEx +BhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElK +U1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3 +uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD3+iii +gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooqoNQQ7j5 +Uu1ZDGWAHUHHTOamU4x+J2At0VSOpRKxVkYFeoLoCPr81NbVoOEU4kYhVUsrcn2BJ9T+Bqfaw3uO +zL9FYl9qiwR/JcCeVjhYlkCDOM9QCR+uawY9a1K4gkkGmxFQCA5V32H1LEdODwcfXPFZrEcyvCLY +WOz+1W//AD3i/wC+xR9rtv8An4i/77FedXGteIbm6aJZUVedpj/dowJ4O48jgHqe2fejSr3VJZFF +xqUwJQsj5aRGGcdFxtPU/MeeOO9Uqk7XaX9fILHopu7YdbiIf8DFH2u2/wCfiL/vsVy2nQyzQPLe +XEt8r5KrFdHa645wBwT143dq2rWHTNUtxcW080sRJB23Mo57gjd+hojUc/hsFi/9rtv+fiL/AL7F +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</Data></Thumbnail></Binary><mdContact xmlns=""><rpIndName>Nathalie De Hauwere</rpIndName><rpOrgName>Flanders Marine Institute, VLIZ</rpOrgName><rpPosName>Scientific Assistant, GIS</rpPosName><role><RoleCd value="007"/></role><rpCntInfo xmlns=""><cntAddress addressType=""><eMailAdd>info@marineregions.org</eMailAdd></cntAddress></rpCntInfo><displayName>Nathalie De Hauwere</displayName></mdContact><mdMaint xmlns="" [...] + + +- Singapore - Malaysia + +- New boundary between Colombia and Nicaragua + +- Malta (Continental Shelf) + +- Guyana - Suriname + + +- Norway: create seperate polygon for the Fisheries Protection Zone around + +- Boundary Morocco - Mauritania + +- Maritime Dispute Chile-Peru + +- Split Guadeloupe and Martinique + +- Split US Virgin Islands and Puerto Rico + +- ISO Codes + +- Error in the western boundary of the Wallis & Futuna EEZ + +- Boundary Kenya - Somalia + +- Boundary UK - France, Celtic Sea + +- Boundary China/North Korea is disputed + +- Change terminology: 'disputed' in 'median line - disputed' + +- Boundary Tuvalu-Kiribati: agreed boundary: + +- Boundary New Caledonia (with Australia/Norfolk Island): continental shelf instead of EEZ + +- Congo (Kinshasa) has claimed 200 NM / territorial sea / baselines / and continental shelf + +- Include metadata in downloadfiles + +- Update boundary Palmyra Atoll, based on http://www.nauticalcharts.noaa.gov/csdl/mbound.htm + +- Vanuatu EEZ boundary + +- Trinidad & Tobago + Barbados + Venezuela</statement></dataLineage></dqInfo><eainfo><detailed Name="World_EEZ_v8_2014" xmlns=""><enttyp><enttypl Sync="TRUE">World_EEZ_v8_2014</enttypl><enttypt Sync="TRUE">Feature Class</enttypt><enttypc Sync="TRUE">249</enttypc></enttyp><attr xmlns=""><attrlabl Sync="TRUE">FID</attrlabl><attalias Sync="TRUE">FID</attalias><attrtype Sync="TRUE">OID</attrtype><attwidth Sync="TRUE">4</attwidth><atprecis Sync="TRUE">0</atprecis><attscale Sync="TRUE">0</ [...] diff --git a/observe-swing/src/main/resources/shapeFiles/zee/World_EEZ_v8_2014.shx b/observe-swing/src/main/resources/shapeFiles/zee/World_EEZ_v8_2014.shx new file mode 100644 index 0000000..c8f1c74 Binary files /dev/null and b/observe-swing/src/main/resources/shapeFiles/zee/World_EEZ_v8_2014.shx differ -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@list.forge.codelutin.com>.