Hot answers tagged

34

Sorry, the answer is no. You have to roll out your own field mapper and only software that uses your mapper will understand it. You could use other formats that do not have this limitation though (e.g. filegdb, spatialite, etc). UPDATE: Some word of advice about the workarounds from personal experience. When people choose shapefiles (and insist on them) ...


16

Answer can be found from the official specification http://www.esri.com/library/whitepapers/pdfs/shapefile.pdf. All the non-Null shapes in a shapefile are required to be of the same shape type. The values for shape type are as follows: Value Shape Type 0 Null Shape 1 ...


12

A few ideas come to mind for building your geospatial programming credentials: Create a legacy of solutions and answers on GISse and Stack Overflow. You will notice that many people on GISse creatively and wisely use this forum to further their freelance work. Create a web page or blog to show potential employers what you know. Some of my favorites, and ...


11

There is a standard way to deal with this, although your clients might not be completely happy with it: you export two files, a shapefile and a data file in a format their software can read. The shapefile has only a unique identifier, [Id], for attributes. The data file has several attributes: [Id] to match the shape, [Field] to provide the field name, ...


9

It looks like there was a fork that was intended to be reintegrated, but this never happened. In response to the deteriorating quality of some GeoTools code base, Martin Desruisseaux embarked on a major cleanup effort. In July 2008, Martin created a new, initially empty, source code repository and proceeded to copy the GeoTools classes to ...


9

A shapefile does not support mixed geometry. A shapefile either consists of points, polylines or polygons, but not more than one. See this article for more: Shapefiles


8

I think the way that we create mapping applications is changing fast and the key to success in this industry is being ahead of that curve. For example 10+ years ago when we wanted a blog we get a shared hosting solution, download a blogging platform like Wordpress or Movable Type install it on the server, buy a domain name, install a theme, bang our head ...


8

"EPSG:3488, EPSG:NAD83(NSRS2007) / California Albers" is an equal-area projection. It is based on the Albers Conic, which is defined for the northern hemisphere. Because Sweden is within its range of definition, it is equal-area in Sweden. This means that (up to floating point rounding error) it will give absolutely correct areas. Neither the Mollweide ...


7

You could use the "proper" ellipsoidal Mercator (EPSG:3395). That projection is truly conformal, as opposed to the "Web Mercator" (EPSG:3857), which uses a spherical approximation. This comes at a computational cost, however (about a factor of 5 for the forward and reverse projection, according to the table on slide 10 of Noel Zinn's presentation). Also, ...


7

A Coordinate Reference System contains two different elements The datum: It defines how the CRS is related to the earth (position of the origin, the scale and the orientation of coordinate axis) e.g. ED50, ETRS89. The datum can be a geodetic datum, a vertical datum or a engineering / local datum. The coordinate system: describes how the coordinates ...


6

For Java, I'd recommend JTS Topology Suite. There is both a "Nearest Point" and "Closest Point" routine (I'm not sure if it is the same, or was renamed between versions) that does what you want. The result from the above is LINESTRING (205 305, 250 300), so the first point of the result is your closest point coordinates, and the length property of the ...


6

CoordinateReferenceSystem is the base Interface from which all other GeoTools SRS are derived from - it is the base class of Geocentric and Geographic projections (and others with vertical and temporal coordinates). It comes from the ISO19111 specification by way of the OGC GeoAPI project. CoordinateSystem is also an interface that comes from ISO19111 and ...


5

hallo first, in the post in stackoverflow the discussion is about getting a GPS point and say if it is a building or a road. AFAIK, GPS does not have that precision. I never expect a GPS point to be more precise than 10 meters. of course it often is a little better than that but it can also be much more wrong. In Routing GPS units the software often snap ...


5

The units of measurement is based on the underlying spatial reference. So, for example, if it is EPSG:4326 it is decimal degrees or if it EPSG:2037 it is meters.


5

download gt-mongodb,like gt-mongodb-9.2.jar and put the file at: apache-tomcat-6.0.30\webapps\geoserver\WEB-INF\lib . download mongo for java ,like mongo-2.9.1.jar . add it to classpath ,such as C:\apache-tomcat-6.0.30\lib\mongo-2.9.1.jar . and restart your computer and start your tomcat. you will see the mongodb at geoserver->stores.


5

You can start with geotools tutorials, which is helpful for beginners. It provides an introduction to GIS workshop making use of examples from GeoTools and other Java libraries.


4

The answer depends on how the question is interpreted. One interpretation is, "Given that a GPS point is known (or assumed) to lie either on a building or on a road, what are the odds that it lies on the road?" To find this, compute a grid representing a 2D Gaussian function whose standard deviation equals the expected error in the GPS position. Use a ...


4

You can also look at http://svn.osgeo.org/geotools/trunk/modules/library/xml/src/test/java/org/geotools/GMLTest.java to see how the tests do it. The key section seems to be: GML encode2 = new GML(Version.GML2); encode2.setBaseURL(baseURL); encode2.setNamespace("location", "location.xsd"); encode2.encode(out2, collection); out.close(); ...


4

Maven can only handle libraries that are deployed on a maven repository, and Opencarto is not deployed anywhere, so you cannot get it with maven. To use it, you may use one of these methods: you download an opencarto jar from there and include it in your eclipse project (you also need jts, xstream and xpp3_min) you checkout the snapshot version of ...


4

Is this what you're after? http://weblogs.java.net/blog/cajo/archive/2010/10/16/adding-google-maps-your-java-application You can also use Bing maps with Java, also worth looking at GeoTools NASA Worldwind OpenMap There's also a useful list of OpenSource Java GIS software here: http://java-source.net/open-source/geospatial


4

I've created a while ago a method to draw points on a layer from geotagged flickr pictures. It shows basically how to create a FeatureLayer with custom points public Layer getFlickrLayer(){ SimpleFeatureTypeBuilder b = new SimpleFeatureTypeBuilder(); b.setName( "pictures" ); b.setCRS( DefaultGeographicCRS.WGS84 ); //picture location ...


4

If you are comfortable with Python, you could use ElementTree to parse the XML and pyshp to create the shapefile. Here is something you can start with: from xml.etree import ElementTree import shapefile import os xml_file = 'input.xml' shape_file = 'output.shp' projection = ...


4

It appears you were/are on the right track as the 'Z' is used for a timezone indicator, here is the source I found that best answers your question "Z" is kind of a unique case for DateTimes. The literal "Z" is actually part of the ISO 8601 datetime standard for UTC times. When "Z" (Zulu) is tacked on the end of a time, it indicates that that time is UTC, ...


4

GeoTools provides a GeoJSON module which will read in GeoJSON files and convert them to GeoTools Feature Collections - the geometry elements of these collections is stored as a JTS object. So all you need is Geometry geom = (Geometry) feature.getDefaultGeometry();


4

A couple of options: Convert the PostGIS layer to a shapefile in QGIS (save-as), then use the Vector|Conversion|Rasterize tool; Use the gdal_rasterize command directly. For the second option: gdal_rasterize -a VAL -ts [x] [y] PG:'host=localhost dbname=DB user=USER' -sql "SELECT the_geom, VAL FROM table" out.tif Where: VAL = the value to assign ...


4

I suggest to use an oblique mercator projection as I explained in Using customized Coordinate System for Archaeological site data You have to define the origin in lon and lat WGS84 degrees, and the rotation against true north.


4

In your code, you miss to define a feature type: In GeoTools (and not only), you will first need to define the structure of your data, ie the Feature type (~ schema). For this you have to use SimpleFeatureTypeBuilder that will help to build the feature type, afterwhat you will be able to construct properly the SimpleFeatureBuilder based on the featuretype ...


4

You need to import the GeoJSON plugn <dependency> <groupId>org.geotools</groupId> <artifactId>gt-geojson</artifactId> <version>${geotools.version}</version> </dependency> and then call it like this (a full example is here): public String geoData() { final GeometryBuilder builder = new ...



Only top voted, non community-wiki answers of a minimum length are eligible