Tag Info

Hot answers tagged

5

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 ...


4

These coordinates are just WGS84 degrees, but written as degree-minutes-seconds without any delimiter. With an excel sheet, it should be easy to separate them and put them into a decimal degrees format, with a trailing minus for the southern hemisphere. As an example, S074233 E0341051 should be converted to - (ยด07`+`42`/60+`33`/3600) = -7.70916667 ...


4

I thought at first the arcpy.Polyline.getLength() method would work, as you can specify a measurement type and units but it did not because it is GCS. As you can see here, we are still in Decimal Degrees: >>> with arcpy.da.SearchCursor("line_wgs", 'SHAPE@') as rows: ... for row in rows: ... print row[0].getLength('PLANAR', 'METERS') ... ...


3

Set lon_0 to the middle of your study area. k can be set to 0.9996 (as UTM has). lat_0, x_0 and y_0 have no effect on the quality of the projection. They are usually set to the equator and/or the inverse of the lower left point so that all coordinates are positive.


3

The official definition for EPSG:3857 is +proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0 +k=1.0 +units=m +nadgrids=@null +wktext +no_defs As you see, it is calculated on a sphere (a=b). Your formula is a bit contradictory: You define a lat-long coordinate system on the WGS84 ellispoid, then you add +init=epsg:3857 which should ...


3

5232 is for a coordinate operation, not a projected coordinate reference system. Try looking for 5235, SLD99 Sri Lanka Grid 1999 or possibly 5234, Kandawala Sri Lanka Grid. Both were added in ArcGIS 10.1.0. If you're using the coordinate system "browser," they're in projected coordinate systems, National Grids, Asia. A coordinate operation includes: ...


2

If you build a local transverse mercator CRS where lon_0 and lat_0 is in the center of your scene, you will have true distances within 5 kilometers: +proj=tmerc +lon_0=7 +lat_0=51 +k=1 +x_0=0 +y_0=0 +datum=WGS84 +units=m +towgs84=0,0,0,0,0,0,0 +no_defs It should work in the ARCGIS world just the same.


2

The warning saying 'Northing and Easting must be in decimal form' doesn't have anything to do with the Proj4 params. You're getting that error as you are either: not putting anything in the test North/East fields, or putting non-numeric values in (i.e a coordinate in degrees, minutes, seconds) and then clicking calculate. You don't have to test. Just ...


2

There are two issues when editing with different coordinate systems in ArcGIS. The first issue is the one that you probably have in mind: if your coordinate systems do not use the same datum, ArcGIS might reproject your data on the fly without transforming the geographic coordiantes from one datum to the other datum. You can check in the properties of your ...


2

There seems to be some inconsitency about the datum shift parameters for EPSG:5221. Using gdalsrsinfo epsg:5221, GDAL 1.11.2 reports: +proj=krovak +lat_0=49.5 +lon_0=42.5 +alpha=30.28813972222222 +k=0.9999 +x_0=0 +y_0=0 +ellps=bessel +towgs84=589,76,480,0,0,0,0 +pm=ferro +units=m +no_defs Whereas the current QGIS 2.8.2 has this definition: +proj=krovak ...


2

Your data is in a projected coordinate system, and the units you're getting from STY and STX are returning values in the units of that coordinate system (probably feet). Unfortunately MSSQL Server doesn't support projecting your data on the fly like PostGIS does. So what you'll have to do - if possible - is to load a copy of your data projected to WGS84 ...


2

Riffing on @mkennedy's comment above, here's a small script to parse and create a spatial reference if the datum is NAD83. import arcpy inputString = r'PROJCS["GCS North American 1983 UTM Zone 10S (Calculated)",GEOGCS[ETCETCETC]' editString = inputString.replace(" ", "_").upper() if "NORTH_AMERICAN_1983" in editString and "UTM_ZONE" in editString: ...


1

I've come up with a solution that's maybe not the prettiest but it works. Below is code that will parse out the needed information from a feature class field after the Calculate UTM Zone tool is run, and then use it to create the spatial reference object. >>> cursor = arcpy.da.SearchCursor ("test", "utm_zone") >>> for utmStr, in cursor: ...


1

The spatial reference that your error message is referring to is the missing coordinate system that we worked on on your other question. I would recommend trying to figure out the coordinate system first instead of moving the data manually and then trying to apply a coordinate system (spatial reference). (My reasoning being that the more manipulation you ...


1

Ok, I've figured it out. It is possible to apply an affine transform onto some existing CRS using FITTED_CS. Below is an example of rotation of 60 degrees counterclockwise and movement: FITTED_CS["BPAF", PARAM_MT["Affine", PARAMETER["num_row", 3], PARAMETER["num_col", 3], PARAMETER["elt_0_0", -0.5], PARAMETER["elt_0_1", ...


1

You can define a local rotated coordinate sytem as I explained here: Using customized Coordinate System for Archaeological site data Center point and rotation have to be defined in degrees. Your idea of wrapping one projection with another is not defined in PROJ.4. You can try it out, but don't expect it to work.


1

If you have access to ArcMap 10.2.1+, you can use Add Geometry Attributes, which allows you to specify a coordinate system. spatref = arcpy.SpatialReference(4326) #WGS 84 arcpy.AddGeometryAttributes_management(FC, "POINT_X_Y_Z_M", "FEET_US", "ACRES", spatref) It's a script, not a tool, which means that you can inspect the code behind it to see what it ...


1

you just need to run a cursor on it and use the projectAs() geometry method. import arcpy fc = r'C:\path_to\your_data\points.shp' wgs = arcpy.SpatialReference(4326) with arcpy.da.UpdateCursor(fc, ['SHAPE@', 'lat_field', 'long_field']) as rows: for row in rows: pnt_wgs = row[0].projectAs(wgs) row[1:] = [pnt_wgs.centroid.Y, ...


1

I try to do this in my Multi Ring Buffer Plugin, but there is probably a more elegant solution. This is done after getting a selected layer and applying the selected layers CRS, through the AuthID, to a newly created layer. If the AuthID is not recognised, QGIS prompts for a valid one. # Check the current CRS of active layer buffer_crs_object = ...


1

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 ...


1

This is simple technique you should use com.esri.core.geometry.Point class for converting your GPS lat and lng into ArcGIS map point. For Example: private Point ConvertMyLocationPoint(final double x, final double y) { Point wgspoint = new Point(x, y); Point mapPoint = (Point) GeometryEngine.project(wgspoint, SpatialReference.create(4326), ...


1

@MichaelMiles-Stimson suggested OGR2OGR, which is packed with QGIS. One option is to use it through command line, with the following command: ogr2ogr -t_srs epsg:32633 new.shp old.shp You might prefer to call this command directly from python. Elevine's answer elsewhere shows how: 1) download ...


1

Maybe you should re-save again your data (right click on the layer,save as).. this time make sure you change the crs which has distance unit (e.g wgs 84 world mercator - meter units). This new layer should have new distance unit. You can check again whether you already use the right crs through metadata (you can also use qgis browser)



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