帖子
|
我找到了一个解决方案通过创建一个自定义LocationDatasource和使一个方法来管理我收到onSensorChanged:覆盖有趣onSensorChanged(事件:SensorEvent) {val type = event.sensor.type如果(type = = Sensor.TYPE_ACCELEROMETER){重力= lowPassFilter (event.values.clone(),重力)}如果(type = = Sensor.TYPE_MAGNETIC_FIELD){地磁= lowPassFilter (event.values.clone(),地磁)}如果(type = = Sensor.TYPE_ROTATION_VECTOR) {val currentRotation =事件。value val rotationMatrix = FloatArray(9) SensorManager. valuegetRotationMatrixFromVector(rotationMatrix, currentRotation)} if(重力!= null &&地磁!= null) {val R = FloatArray(9) val outR = FloatArray(9) val I = FloatArray(9) val success = SensorManager。getRotationMatrix(R, I, gravity,地磁)if (success) {val orientation = FloatArray(3) SensorManager。remapCoordinateSystem(R, SensorManager。AXIS_X, SensorManager。AXIS_Z, outR)传感器管理器。getOrientation(outR, orientation) val azimut = orientation[0] val azimutInDegree = (Math.toDegrees(azimut. todouble ()))% 360 updateHeading(azimutInDegree)}}}我希望这个解决方案可以帮助有相同问题的人。
...查看更多
|
0
|
0
|
22
|
帖子
|
你好社区,我正在开发一个使用ArcGISARView的Android应用程序,以获得设备的位置,我使用ArLocationDataSource,以这种方式配置:var criteria = criteria () criteria。powerRequirement =条件。POWER_HIGH标准。精确度=标准。ACCURACY_FINE标准。isSpeedRequired = true条件。isaltituderrequired =错误的标准。isBearingRequired = true标准。isCostAllowed = true val locationDataSource = ArLocationDataSource(this, criteria, 1000, 1.0F) arSceneView。定位工作正确,但在我的场景中,我展示了一个ESRI工具包的指南针,我以这种方式初始化:指南针=指南针(这个)指南针!! isAutoHide = false compass !!.addToGeoView( arSceneView . sceneView ) I have a strange behaviour by the compass, because not point on the north but I have a rotation of 20/30 degree respect to the real position of north, but not of the map, only of the compass, because the camera points to the real position in the world. Someone have any idea of why I have this strange behaviour?
...查看更多
|
1
|
1
|
72
|
帖子
|
嗨社区,我遇到了一个问题,当我试图在地图上导入一个IFC文件。在这个文件中有IfcProduct的大部分分类为IfcFlowFitting,类型为IfcDistributionElementType。在同一个IFC文档中,有两个IfcProduct是IfcFlowFitting,但被分类为IfcPipeFittingType。根据IFC文档,IfcPipeFittingType是类IfcDistributionElementType的专门化,可以在这里查看:BuildingSmart文档- IfcDistributionElementType ArcGis Pro行为奇怪地忽略了所有分类为IfcDistributionElementType的IfcFlowFitting,在地图上几何结果不可见。在下图中,可以看到IFC文件中的内容:但在第二张图中,可以看到ArcGIS Pro显示的内容:正如你所看到的,ArcGIS Pro只显示分类为IfcPipeFittingType的两个IfcFlowFitting,但其余的都没有导入场景中。有人能帮我解决这个问题吗?在导入IFC文件时是否没有考虑到这一点?谢谢!
...查看更多
11-11-202209:12我
|
0
|
0
|
76
|
帖子
|
嗨,我正在使用ArcGIS Pro 2.9,当我导入IFC文件时,我有一个奇怪的行为。我在IFC中导出了相同的项目,在第一次导出中,我使用了WGS84 UTM 32 Nord坐标系,在第二次导出中,我使用了RDN2008意大利区作为我的坐标系。该项目从相同的测量点开始,但在第一个文件中,我观察到了WGS84 UTM 32 Nord的点,在第二个文件中,我在RDN2008意大利区观察到了相同的点。参考点在WGS84 UTM 32 Nord 789471.0512163E 4646281.7997445N m参考点在RDN2008意大利区7040625.3072000 E 4635397.4217000 N m当我在现场我的两个文件IFC我有一种旋转之间的两个文件,但起点是相同的。在我的场景中的基图有WGS84 UTM 32 Nord坐标系,我有我之前描述过的陌生人行为。有人知道为什么我有这样的轮换吗?在这篇文章的附件中,可以找到我在这篇文章中使用的两个IFC文件。
...查看更多
11-09-2022于我
|
0
|
0
|
129
|
帖子
|
你好,我试图在ArcGis Pro中导入一个IFC文件,但是文件中元素的位置和比例不正确。我在Revit中做了模型,我已经将测量点设置为特定的纬度(41.9126558°)和经度(12.4876328°),项目点在0,0,0上,这两个点恰好是一个在另一个上面。我已经导出了文件,在IFCSITE中,我有十进制坐标的预期转换:#6= IFCCARTESIANPOINT((0.,0.,0.));# 146 = IFCAXIS2PLACEMENT3D (# 6, $, $);# 146 # 147 = IFCLOCALPLACEMENT(美元);# 148 = IFCSITE(“3 iv10if8j4ixxry AtdWGp美元”,# 41岁的“违约”,美元,美元,# 147,美元,美元,.ELEMENT。(41岁,54岁,45岁,560879),(478079年12日,29日,15日),0。,$,$);IFCSITE在3D世界中的位置为0,0,0位置。现在,在ArcGis Pro中导入Ifc文件时,建筑物的位置是经纬度0,为什么?我把建筑的比例弄错了。在ArcGis Pro中,我的地图具有WGS 84这样的坐标系,Ifc文件具有相同的坐标系,但结果是:建筑位于非洲,规模巨大,而不是在罗马中心附近。 Thanks in advance.
...查看更多
11-02-202205:14我
|
0
|
1
|
74
|
帖子
|
嗨,尼古拉斯,谢谢你!我在加载方法中做了一些更改,现在我有了这个:var geoDb = Geodatabase(fullPath) geoDb。addDoneLoadingListener {try {if(geoDb。loadStatus == loadStatus . loaded){val fLayers = geodb . geodatabasefeatutables .map {featureTable -> FeatureLayer(featureTable)} arsceneview . sceneview .scene. operationallayer . addall (fLayers)}} catch (e: Exception){日志。d(TAG, "Error")}} geoDb.loadAsync()但在地图上我没有看到任何东西。geodatabase是由一个FeatureService生成的,它在地图上显示一些多边形,如果我从远程加载,我看到所有的多边形,但从geodatabase加载不显示任何东西。为了从远程服务生成我的Geodatabase,我使用这段代码:val generateGeoBdJob = geoDbSyncTask。generateGeodatabase(generatedParams, geoDBPath)如果(generateGeoBdJob addStatusChangedListener{。status == Job.Status.SUCCEEDED){日志。d(TAG, "Local Data successfully created for $serviceName on internal storage") //response. d(TAG, "Local Data successfully created for $serviceName on internal storage")add("成功为$serviceName在内部存储上创建本地数据")val result = generateGeoBdJob。结果if(结果!= null) {val geoDBPath =结果。日志路径。d("TAG", "当前路径的Geo数据库:$geoDBPath") // TODO:显示一个消息给用户}}else if(generateGeoBdJob。status == Job.Status.FAILED) {val message: String = "未创建$serviceName的本地数据。"日志。d(TAG, message)} //从列表中删除这个作业geoDbJobList.remove(generateGeoBdJob) //检查这个作业是否在列表中是最后一个,并隐藏加载器if(geoDbJobList.isEmpty()) {stopLoading()}} generateGeoBdJob.start()你在生成GeoDB时看到任何错误吗? Thank you for your support.
...查看更多
10-18-202202:34我
|
0
|
0
|
64
|