POST
|
I run ArcMap 9.1. I have some .dwg files without projections that I would overlay on aerial photos. From everything I've read, it seems that the georeferencing toolbar is the best way to accomplish this, but whenever I load the .dwg files into ArcMap, they are not recognized by the toolbar. The toolbar does work because I have used for other types of image files. Can anyone help me out with this one? Thanks. Austin Austin, In 9.1, the georeferencing toolbar didn't support CAD files yet (unless scanned images). Instead you need to identify two pairs of coordinates in the CAD's coordinate system and in the target coordinate system. You can put them into a CADname.wld file: x1_source, y1_source, x1_target, y1_target x2_source, y2_source, x2_target, y2_target If you open the CAD layer's property page (in ArcMap), you can add some transformation information there instead. There's information on this in the help. Here's the web link: http://webhelp.esri.com/arcgisdesktop/9.1/body.cfm?tocVisable=1&ID=222&TopicName=Applying a coordinate transformation to a CAD layer or via your installed help, ArcMap, Creating Maps, Applying a coordinate transformation... Melita
... View more
06-16-2010
12:23 PM
|
0
|
0
|
496
|
POST
|
Hello and thank you in advance. I am still, unfortunately, a little confused on the projection for posting data in Google Earth: I understand that GE and MS apps use a spheroid only model, which is the projection ESRI calls: Geographic Coordinate System, (spheroid-based) "GCS_WGS 1984 Major Auxiliary Sphere" or Projected Coordinate System (World) "WGS_1984_Web_Mercator" Whereas ESRI uses a spheroid or ellipsoid model, which is the projection ESRI calls: Geographic Coordinate System (World) "GCS_WGS_1984" or Projected Coordinate System (World) "WGS_1984_Web_Mercator (Auxiliary Sphere)" The instructions in Technical Article ID: 34749 say when using 9.3 SP1 to use the: Predefined Projected Coordinate System (World) "WGS_1984_Web_Mercator" HERE IS MY PROBLEM: When projecting from NAD83 to Projected WGS_1984_Web_Mercator in the toolbox, there is a message that this is an undefined projection, and I can only do it with a double: NAD_1983_To_WGS_1984_5 AND WGS_1984_Major _Auxiliary_Sphere_To_WGS_1984 The same is true (obviously) if I try to project from NAD83 to Geographic GCS_WGS_1984_Major_Auxiliary_Sphere Isn't this exactly the same as just going from NAD_1983_To_GCS_WGS_1984, which is the ESRI model, not the Google Earth or MS (Bing) model, right? In the end, projecting to GCS_WGS_1984 is equivalent to projecting to PCS_WGS_1984_Web_Mercator which is equivalent to projecting to GCS_WGS_1984_Major_Auxiliary_Sphere The only difference is that the denominator of the flattenting ratio for the PCS_WGS_1984_Web_Mercator is infinity instead of 298.257224. No matter what, the locations lie directly on top of one another and NOT where I can see them (my well points) on the Google Earth image. So, how do folks line up their very locatlized point locations on a Google Earth visualization for their projects/clients? In addition, using the double transform to get to Projected Coordinate System (World) "WGS_1984_Web_Mercator" yields the same projected or local bounding coordinates as Projected Coordinate System (World) "WGS_1984_Web_Mercator (Auxiliary Sphere)" HOWEVER, Google Earth will not import the file "WGS_1984_Web_Mercator (Auxiliary Sphere)" (says zero features) Why does this happen? HELP!! Nicki Cook Ni Nicki, You're caught in between our transitioning to "WGS_1984_Web_Mercator (Auxiliary Sphere)". Both it and "WGS_1984_Web_Mercator" will have exactly the same coordinate values for the same location on the Earth. They're just different ways of emulating the coordinate system used by Bing and Google maps when they cache their data. If you access the coordinates as latitude-longitude values, they are WGS84. But what's cached is in a Mercator projection where the math supports a sphere only. For the sphere's radius, they use the semimajor axis (equatorial radius) of WGS84: 6378137.0 meters. So why are there two versions? When we originally made a definition for "Web Mercator", we had only one implementation of Mercator. It contains equations to use with a sphere or a spheroid/ellipsoid. The only way to trigger the sphere equations that are needed is to use a geographic coordinate system (GCS) based on a sphere. We built a custom WGS 1984 Major Auxiliary Sphere for it and defined "WGS_1984_Web_Mercator". Later, we added a new implementation of Mercator that supports a parameter (Auxiliary Sphere Type), which describes how to calculate a sphere's radius from a normal spheroid/ellipsoid-based GCS and use it with the projection. The projection's name is Mercator_Auxiliary_Sphere. Both versions do the same thing, force spherical math. The earlier version, using the custom GCS causes problems because you have to do a geographic (datum) transformation to it, so it's awkward. The 'new' version uses the standard WGS84 definition, so it simplifies the workflow. The version you're using hasn't been updated to support caching your data with the newer "WGS_1984_Web_Mercator (Auxiliary Sphere)". Melita
... View more
06-14-2010
05:24 PM
|
0
|
0
|
1270
|
POST
|
Hi Chris, this isn't really an ArcObjects question, well at least my answer isn't. You can symbolize your layer in ArcMap based on quantities and a proportial symbol. So if you had a count field in your line feature class defined as a numeric field, you could use that as a quantity. Then you can set your min and max width and all that good stuff. Given Alexander's answer, I found IProportionalSymbolRenderer in the SDK help. It's in the Carto library. Melita
... View more
06-11-2010
01:02 PM
|
0
|
0
|
533
|
POST
|
bzborow1;18473 wrote: Hi Guys, I'm building a search service to query unprojected attribute data, project it, and deliver the extent back to the client. The method I'm using works unpredictably. For are larger land parcels it re-projects perfectly find, but for really small land parcels, quarter sections, it won't reproject using the getEnvelope() method. Can anyone offer some advice on how I might fix this problem? QUOTE] I am speculating that it could a problem with the resolution/domain values of the target spatialreference (less likely: the tolerance). Perhaps the resolution value is too large and the envelopes are collapsing. Another possibility is that the envelope, after projecting it, is distorted enough that it's collapsing. I think that would be more likely with 'long' sides--they should be densified to reflect what's happening when the data's projected, aren't. Melita
... View more
06-11-2010
11:16 AM
|
0
|
0
|
315
|
POST
|
Thanks very much, Jim! I'm not desperate enough to switch browsers, but that's certainly a possibility. Melita
... View more
06-10-2010
11:23 AM
|
0
|
0
|
809
|
POST
|
We are upgrading SDE from 9.3.1 to 9.3.1(sp1). We downloaded the SDE complete suite but missing the PE.pdb in particular. We could find it in the previous version (e.g. pe-sdk-bin-9.3.1-b1632-windows.zip) for both x32 and x64 platforms. The pdb is important for our development. Thank you so much and we're looking for this file urgently. Eric Eric, Will you contact me at mkennedy at esri dot com? The standard SDKs don't include the pdb (nor debug build) files. There were only two fixes for the projection engine for 9.3.1 SP1. One was for Java: if you tried to retrieve the horizion for several projections, it would crash. The other change was to improve performance when confirming whether two versions British National Grid are the same (we changed the scale factor in 9.2). Melita
... View more
06-02-2010
03:03 PM
|
0
|
0
|
319
|
POST
|
Hi All, I have been trying using IBasicGeoprocessor interface's Intersect method, to create point layer at the point of intersection between the 2 layers.(one is line layer & other is polygon layer) But even after setting outputFeatureClass's shapeType property to esriGeometryPoint, type of output layer is Polygon. Could you please help me in resolving this issue. Thanking you in advance. Regards, Viji When I read the description of IBasicGeoprocessor's Intersect method, it says: [INDENT]Intersect clips the features of a line or polygon layer with features of an overlay polygon layer. The output feature class will have the attributes of both input and overlay layers. [/INDENT] It's never going to return a point feature class. As IBasicGeoprocessor says, you should use the Geoprocessing framework and tools. The Analysis toolbox has an Intersect tool that should do what you want. I haven't used it, so I don't have any sample code. There's a sample in the SDK that may help you get started: http://resources.esri.com/help/9.3/ArcGISDesktop/dotnet/43d8cc77-5193-4ca8-9878-6027782e2bbb.htm Melita
... View more
05-21-2010
01:51 PM
|
0
|
0
|
368
|
POST
|
I have a table with geocoded Lat/Long Values that I want to add as point features to my map. However when I add the table and add X/Y data (Tools-Add X/Y data) the data is added to the map but the projection doesn't match up. I did compare the coordinate systems and they appear to be the same whoever the extent doesn't match up. My Shapefile with the Lat/Long Points has similar values in projected coordinates compared to the decimal degrees which leads me to believe it doesn't project? Here is an example. My Zip Code layer in decimal degrees: West: -117.597982 East: -116.080157 North: 33.511553 South: 32.530161 In projected or local coordinates: Left: 6150765.000000 Right: 6613436.500000 Top: 2129760.000000 Bottom: 1775304.125000 NAD_1983_StatePlane_California_VI_FIPS_0406_Feet And my XY layer that doesn't match: Decimal: West: -136.179977 East: -136.179964 North: 25.945595 South: 25.945576 In projected or local coordinates: Left: -117.388904 Right: -116.371055 Top: 34.517990 Bottom: 32.543795 NAD_1983_StatePlane_California_VI_FIPS_0406 also I tried about everything. If somebody could help me with this it would be GREATLY appreciated. Thank you for posting the reported data extents! The XY layer should be using a geographic coordinate system like NAD 1983, not California VI. You need to tag it with its current coordinate system. ArcMap can project it on the fly to match your other data. If you want to convert it permanently to State Plane, right click the layer in the table of contents and select Data, Export Data. In the export dialog, set it to use the data frame's coordinate system. Melita
... View more
05-19-2010
05:19 PM
|
0
|
0
|
3813
|
POST
|
Hello, I am writing an application in C# using the ArcGIS Engine SDK to provide ground elevation information at specified locations. I'm using a RasterCatalog to store DTED elevation data. To retrieve the elevation height at a desired location, I create a Surface out of the Dataset in the RasterCatalog that contains the location and then call the get_Z method, passing in the location coordinates. From a little research I've learned that DTED elevation height information is in reference to the EGM96 geoid model of the earth. (This model is similar to the one used for the WGS84 geoid model so I consider them interchangeable.) This process works well but there are times when I am more interested in the the elevation above the WGS84 ellipsoid rather than above the geoid. I've been told by ESRI representatives that vertical datum conversions are already built into the ArcGIS Engine 9.3.1 SDK in the Projection Engine but I have not been able to locate it. Has anyone else been able to perform this conversion on a point to point basis? Thanks, cm Hi, The Projection Engine SDK (C or Java) is included with the ArcSDE SDK. The functionality is there to convert values using an EGM96 file. I've attached a C program that can convert EGM96/WGS84 geoid heights to WGS84 ellipsoid heights. Even though it says version 10 in the beginning, it works at 9.3.1. The particular vertical transformation is 10084 ("WGS_1984_To_EGM_1996_Geoid_1"). There are FORTRAN programs to access a geoid file here: http://earth-info.nga.mil/GandG/wgs84/gravitymod/egm96/egm96.html In the past, some people have converted geoid grid file into a raster and then queried the raster for the conversion value. Melita
... View more
04-29-2010
12:21 PM
|
0
|
0
|
1294
|
POST
|
Same here: ArcGIS does not project correctly between ETRS-LAEA and WGS84 ArcGIS Desktop (ArcView) 9.3.1 SP1, on Windows Vista To verify the problem: go to http://www.eea.europa.eu/data-and-maps/data/urban-atlas and download the file it010l_catania.zip. This covers the town of Catania in Sicily, Italy, at aprox. 15.1E / 37.5N The data comes in an Lambert Azimuthal Equal Area projection on ETRS89. I project this into WGS84, using the ArcGIS project tool. The process succeeds without error or warnings. However, the result lies at about 4.2E / 14.4S. This is definitely wrong. I also project the dataset into WGS84, using QuantumGIS. The result lies at about 15.1E / 37.5N. This is correct. I submitted this as a support case to our local distributor, ESRI UK. Will post solution. Hello, Thank you very much for providing a link to some data. The minute I looked at the .prj file I was able to figure out what was happening. The .prj file is using these projection parameters: latitude_of_center longitude_of_center ESRI software expects latitude_of_origin central_meridian The "center" parameters aren't recognized as corresponding to latitude of origin and central meridian, so internally these two parameters have values of 0,0. That's why the longitude values are around 4E and the latitude values are around 14S. I've attached a .prj file (renamed .txt so it can be uploaded) with the ESRI version of ETRS-LAEA. Please redefine the data with that coordinate system, and I think you will find it working much better. Another issue is that we use different names in the ETRS 1989 definition which triggers "these are not the same". I hope this is useful, Melita
... View more
04-23-2010
02:05 PM
|
0
|
0
|
2861
|
POST
|
Hello, We are using the old C API to access earlier versions of ArcSDE, and I am running into an error I don't understand. I don't know if this is the correct place to post on this topic, but it is the closest sub-forum I can find. If this is the wrong place, please redirect me. In my program, I am creating a new point geometry using SE_shape_generate_point(). The coordinate reference is for a WGS 84 lat/lon system, and I used SE_coordref_set_xy_by_envelope() to set the extents as follows: MinX=-180.000000, MaxX=180.000000 MinY=-90.000000, MaxY=90.000000 When I try to create a point (180.00, 90.00), SE_shape_generate_point() returns -139 (The specified coordinate point exceeds the valid coordinate range). Before getting this error, I was able to create many points, including another point at the boundary of the valid range (-180.00, 90.00). Does anyone know why I am getting this error? Thanks, Bob Hi Bob, Internally, the coordinates are being converted to positive integers. It's possible one of the values is rounding to just over 180 or 90 and triggering the error. You should probably nudge the extents out a little, say -181,-91 to 181,91 to allow for cases like this. For all releases post-9.1 with layers that are using high precision, setting the coordref envelope like this is forcing a very small xy resolution (large xyunit) value. With +/-180, the xy resolution is 0.00000000000004 or 25000000000000 (roughly the number of decimal places). Melita
... View more
04-22-2010
12:46 PM
|
0
|
0
|
562
|
POST
|
Hello, I am facing some difficulties with the projection trasform from ETRS89 / ETRS-LAEA to UTM33WGS84. There is anybody which has the same problem, or someone who can help me,please? thank you Anna Hi Anna, What kind of difficulties are you having? Is the data vector or raster (if raster, what format?)? What ArcGIS version are you using? Some LAEA data uses a sphere rather than an ellipsoid/spheroid which if the metadata isn't correct can cause problems when the data is reprojected. Melita
... View more
04-20-2010
05:42 PM
|
0
|
0
|
2861
|
POST
|
When I try to reproject my .tif file from "WGS_1984_UTM_Zone_17N" to "NAD_1983_Albers" the resulting .tif projection is in "USA_Contiguous_Albers_Equal_Area_Conic_USGS_version" which is not "NAD_1983_Albers". Does anyone know how to get a .tif to the NAD_1983_Albers projection? I bet this is the same projected coordinate system, but the original name has been changed. Some raster formats don't support all the capabilities that a shapefile (for instance) does when it comes to coordinate system. I'd expect this type of name to be more likely from an ESRI Grid than a tiff. Melita
... View more
04-20-2010
05:39 PM
|
0
|
0
|
924
|
POST
|
Hello Melita, Thanks a lot for your reply. Thanks to it, I find out in the documentation the following code that allows to set the "'Geographic Coordinate System" directly within ArcGIS (and not from ArcCatalog as you have proposed). Now, my problem is to find out how to set also the "Projected Coordinate System" (for example: esriSRProjCS_CH1903_LV03) If anyone has an idea? Thank you in advance for your help Kind regards Charles. Hi Charles, You just need to exchange IGeographicCoordinateSystem and CreateGeographicCoordinateSystem for IProjectedCoordinateSystem and CreateProjectedCoordinateSystem. Please see below. Melita
Sub Layer_GeographicCoordSyst()
Dim pMxDoc As IMxDocument, pMap As IMap
Set pMxDoc = ThisDocument
Set pMap = pMxDoc.FocusMap
Dim pLayer As IFeatureLayer, pFeatureClass As IFeatureClass
Dim pGeoDataset As IGeoDataset, pGeoDatasetEdit As IGeoDatasetSchemaEdit
Set pLayer = pMap.Layer(0)
Set pFeatureClass = pLayer.FeatureClass
Set pGeoDataset = pFeatureClass
Set pGeoDatasetEdit = pGeoDataset
If pGeoDatasetEdit.CanAlterSpatialReference = True Then
Dim pSpatRefFact As ISpatialReferenceFactory2
Set pSpatRefFact = New SpatialReferenceEnvironment
Dim pProjCoordSys As IProjectedCoordinateSystem
Set pProjCoordSys = pSpatRefFact.CreateProjectedCoordinateSystem(esriSRProjCS_CH1903_LV03)
' Debug.Print pLayer.Name, pProjCoordSys.Name
pGeoDatasetEdit.AlterSpatialReference pProjCoordSys
End If
pMxDoc.ActiveView.PartialRefresh esriViewGeography, pLayer, Nothing
End Sub
... View more
04-19-2010
01:49 PM
|
0
|
0
|
938
|
POST
|
Hello, Here is my question: I would like to set the Coordinate system using a sub VBA - (ArcObjects) (Please not with ArcToolBox !) when the Coordinate System of the Layer is "undefined" Of course, the Coordinate System is imposed according to my choice. Thank you for your help... Kind regards, Charles. I originally cribbed this code from a post made by Kirk Kuykendall many years ago. I have not tried to run it so you may need to make some changes to it. Melita ' changes spatialref of data in arcmap. coverages not working; see kirk's code
' below this sub.
public sub redefinedatasets()
'On Error GoTo errorhandler:
Dim pMxDoc As IMxDocument
Dim pDataLayer As IDataLayer2
Dim pName As IName
Dim pGxObjectInternalName As IGxObjectInternalName
Dim pGxObject As IGxObject
Dim pmap As IMap
Set pMxDoc = pApp.Document
Set pmap = pMxDoc.FocusMap
Set pDataLayer = pMxDoc.SelectedLayer
If pDataLayer Is Nothing Then
MsgBox "Please Select a Layer First", vbExclamation, "Select A layer first"
Exit Sub
End If
Set pName = pDataLayer.DataSourceName
Set pGxObjectInternalName = New GxDataset
Set pGxObjectInternalName.InternalObjectName = pName
Set pGxObject = pGxObjectInternalName
'I also have another problem where the dataset goes outside the spatial envelope
'any suggestions on how to expand the envelope to account for the new projection
'would be appreciated.
Dim pSpatRefDialog As ISpatialReferenceDialog
Dim pSpatRef As ISpatialReference
Dim pRasterDataset As IRasterDataset
Dim pDataset As IDataset
Dim pGeoDatasetSchemaEdit As IGeoDatasetSchemaEdit
Dim pGXdataset As IGxDataset
'call the spatial reference dialog
Set pSpatRefDialog = New SpatialReferenceDialog
Set pSpatRef = pSpatRefDialog.DoModalCreate(False, False, False, 0)
Set pGXdataset = pGxObject
If pGXdataset.Type = esriDTRasterDataset Then
Set pRasterDataset = pGXdataset.Dataset
Set pGeoDatasetSchemaEdit = pRasterDataset
'this is for featureclasses
ElseIf pGXdataset.Type <> esriDTRasterDataset Then
Set pDataset = pGXdataset.Dataset
'COVERAGE DIES RIGHT HERE!!!
'ERROR TYPE MISMATCH
'WORKS FINE FOR SHPS AND GDBS
Set pGeoDatasetSchemaEdit = pDataset
End If
'this prevents the cancel error
If pSpatRef Is Nothing Then
Exit Sub
End If
If pGeoDatasetSchemaEdit.CanAlterSpatialReference = True Then
pGeoDatasetSchemaEdit.AlterSpatialReference pSpatRef
Else
MsgBox "Cannot Edit the Spatial Reference." & _
"Perhaps you have a lock somewhere else on the dataset", vbExclamation, "Probably Locked"
End If
'zoom to layer
Dim pactiveview As IActiveView
Set pactiveview = pmap
Dim player As ILayer
Set player = pMxDoc.SelectedLayer
pactiveview.Extent = player.AreaOfInterest
pactiveview.Refresh
'cleanup
Set pMxDoc = Nothing
Set pDataLayer = Nothing
Set pName = Nothing
Set pGxObjectInternalName = Nothing
Set pGxObject = Nothing
Set player = Nothing
Set pactiveview = Nothing
Exit Sub
'errorhandler:
msgbox err.description
exit sub
end sub
Option Explicit
Sub SetPrj()
Dim pSRF As ISpatialReferenceFactory2
Set pSRF = New SpatialReferenceEnvironment
Dim pSR As ISpatialReference
Set pSR = pSRF.CreateProjectedCoordinateSystem(esriSRProjCS_WGS1972UTM_30S)
Dim pGxApp As IGxApplication
Set pGxApp = Application
If TypeOf pGxApp.SelectedObject Is IGxDataset Then
Dim pGxDataset As IGxDataset
Set pGxDataset = pGxApp.SelectedObject
If TypeOf pGxDataset.DatasetName Is ICoverageName Then
Dim pGDSE As IGeoDatasetSchemaEdit
Set pGDSE = pGxDataset.Dataset
If pGDSE.CanAlterSpatialReference Then
pGDSE.AlterSpatialReference pSR
Else
Debug.Print "cannot alter spatial reference of coverage"
End If
End If
End If
End Sub
... View more
04-15-2010
04:05 PM
|
0
|
0
|
938
|
Title | Kudos | Posted |
---|---|---|
1 | 12-02-2024 10:36 PM | |
1 | 07-03-2019 08:56 AM | |
1 | 07-08-2013 01:27 PM | |
2 | 08-11-2023 10:21 AM | |
1 | 07-11-2011 09:31 AM |