/* * GeoTools - The Open Source Java GIS Toolkit * http://geotools.org * (C) Copyright IBM Corporation, 2005-2007. All rights reserved. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; * version 2.1 of the License. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * */ package org.geotools.data.db2; import java.util.HashSet; import java.util.Set; /** * @author Christian Mueller * * DB2 speficfic WKB Constants, contributed by David Adler * * * * @source $URL$ */ public class DB2WKBConstants { // well-known binary geometry types // the original values used by DB2 didn't match the values // in the 2006 OGC spec for WKB when z and/or m is present // The names with "OCG" are the spec values // We support both to provide compatibility with existing // releases of DB2 but it may change in DB2 post-V9.7 // protected final static int wkbPoint2D = 1; protected final static int wkbOGCPointZM = 3001; protected final static int wkbPointZM = 2000001; protected final static int wkbOGCPointZ = 1001; protected final static int wkbPointZ = 3000001; protected final static int wkbOGCPointM = 2001; protected final static int wkbPointM = 4000001; protected final static int wkbLineString2D = 2; protected final static int wkbOGCLineStringZM = 3002; protected final static int wkbLineStringZM = 2000002; protected final static int wkbOGCLineStringZ = 1002; protected final static int wkbLineStringZ = 3000002; protected final static int wkbOGCLineStringM = 2002; protected final static int wkbLineStringM = 4000002; protected final static int wkbPolygon2D = 3; protected final static int wkbOGCPolygonZM = 3003; protected final static int wkbPolygonZM = 2000005; protected final static int wkbOGCPolygonZ = 1003; protected final static int wkbPolygonZ = 3000005; protected final static int wkbOGCPolygonM = 2003; protected final static int wkbPolygonM = 4000005; protected final static int wkbMultiPoint2D = 4; protected final static int wkbOGCMultiPointZM = 3004; protected final static int wkbMultiPointZM = 2000007; protected final static int wkbOGCMultiPointZ = 1004; protected final static int wkbMultiPointZ = 3000007; protected final static int wkbOGCMultiPointM = 2004; protected final static int wkbMultiPointM = 4000007; protected final static int wkbMultiLineString2D = 5; protected final static int wkbOGCMultiLineStringZM = 3005; protected final static int wkbMultiLineStringZM = 2000009; protected final static int wkbOGCMultiLineStringZ = 1005; protected final static int wkbMultiLineStringZ = 3000009; protected final static int wkbOGCMultiLineStringM = 2005; protected final static int wkbMultiLineStringM = 4000009; protected final static int wkbMultiPolygon2D = 6; protected final static int wkbOGCMultiPolygonZM = 3006; protected final static int wkbMultiPolygonZM = 2000011; protected final static int wkbOGCMultiPolygonZ = 1006; protected final static int wkbMultiPolygonZ = 3000011; protected final static int wkbOGCMultiPolygonM = 2006; protected final static int wkbMultiPolygonM = 4000011; protected final static int wkbGeomCollection2D = 7; protected final static int wkbOGCGeomCollectionZM = 3007; protected final static int wkbGeomCollectionZM = 2000012; protected final static int wkbOGCGeomCollectionZ = 1007; protected final static int wkbGeomCollectionZ = 3000012; protected final static int wkbOGCGeomCollectionM = 2007; protected final static int wkbGeomCollectionM = 4000012; protected static Set<Integer> zTypes; protected static Set<Integer> zmTypes; static { zTypes=new HashSet<Integer>(); zTypes.add(wkbPointZ); zTypes.add(wkbOGCPointZ); zTypes.add(wkbLineStringZ); zTypes.add(wkbOGCLineStringZ); zTypes.add(wkbPolygonZ); zTypes.add(wkbOGCPolygonZ); zTypes.add(wkbMultiPointZ); zTypes.add(wkbOGCMultiPointZ); zTypes.add(wkbMultiLineStringZ); zTypes.add(wkbOGCMultiLineStringZ); zTypes.add(wkbMultiPolygonZ); zTypes.add(wkbOGCMultiPolygonZ); zTypes.add(wkbGeomCollectionZ); zTypes.add(wkbOGCGeomCollectionZ); zmTypes=new HashSet<Integer>(); zmTypes.add(wkbPointZM); zmTypes.add(wkbOGCPointZM); zmTypes.add(wkbLineStringZM); zmTypes.add(wkbOGCLineStringZM); zmTypes.add(wkbPolygonZM); zmTypes.add(wkbOGCPolygonZM); zmTypes.add(wkbMultiPointZM); zmTypes.add(wkbOGCMultiPointZM); zmTypes.add(wkbMultiLineStringZM); zmTypes.add(wkbOGCMultiLineStringZM); zmTypes.add(wkbMultiPolygonZM); zmTypes.add(wkbOGCMultiPolygonZM); zmTypes.add(wkbGeomCollectionZM); zmTypes.add(wkbOGCGeomCollectionZM); } }