我即将使用ArcRI Server和Image Server等ESRI产品开发Web制图应用程序.
我找不到Java Web ADF和Javascript Framework之间的良好比较.它们当然是不同的,因为一个是完整的环境而另一个只是客户端,但它更简洁,启动的步骤很少.
另一个问题是Java Web ADF与我们当前的应用程序服务器(JBoss 4.2.2)不兼容,并且需要旧的4.0.2版本.
那里的人有经验可以帮助我吗?
非常感谢.
我正在尝试使用Python自动执行ArcGIS Desktop中的各种任务(通常使用ArcMap),并且我一直需要一种方法来将形状文件添加到当前地图.(然后做一些事情,但这是另一个故事).
到目前为止,我能做的最好的事情是使用以下方法将一个图层文件添加到当前地图("addLayer"是一个图层文件对象):
def AddLayerFromLayerFile(addLayer):
import arcpy
mxd = arcpy.mapping.MapDocument("CURRENT")
df = arcpy.mapping.ListDataFrames(mxd, "Layers")[0]
arcpy.mapping.AddLayer(df, addLayer, "AUTO_ARRANGE")
arcpy.RefreshActiveView()
arcpy.RefreshTOC()
del mxd, df, addLayer
Run Code Online (Sandbox Code Playgroud)
但是,我的原始数据总是形状文件,所以我需要能够打开它们.(等效:将形状文件转换为图层文件,无需打开它,但我不想这样做).
我已经有一段时间了,并取得了一些成功,但是当涉及到重写文件时,我没有.
我正在使用的shapefile是一个地形和都市区域的多边形shapefile,但我对大都市区不感兴趣所以我正在使用R中的shp来尝试从我的地图中删除它们.
要下载正确的文件,请确保在"Metropolitan/Micropolitan Statistical Area(2010)"下选择"一个国家/地区中的所有州"
这是我到目前为止所拥有的:
library(maptools)
met=readShapeSpatial("tl_2010_us_cbsa10.shp")
met=met@data
Run Code Online (Sandbox Code Playgroud)
子集之前:
NAMELSAD10 LSAD10
Anchorage, AK Metro Area - M1
Clarksdale, MS Micro Area - M2
Richmond, VA Metro Area - M1
Big Spring, TX Micro Area - M2
Dallas-Fort Worth-Arlington, TX Metro Area - M1
Rio Grande City-Roma, TX Micro Area - M2
Run Code Online (Sandbox Code Playgroud)
然后:
submet=subset(met, LSAD10 == "M1")
Run Code Online (Sandbox Code Playgroud)
子集后:
NAMELSAD10 LSAD10
Anchorage, AK Metro Area - M1
Richmond, VA Metro Area - M1
Dallas-Fort Worth-Arlington, TX Metro Area - M1 …Run Code Online (Sandbox Code Playgroud) 使用JS ArcGis API时,是否可以在lat中创建一个点,并且像这样长
var testPoint = new Point(-98, 38);
Run Code Online (Sandbox Code Playgroud)
或这个
var testPoint = new Point(-98, 38, new SpatialReference({ wkid: 4326 }));
Run Code Online (Sandbox Code Playgroud)
并将其转换为不同的SR,以便其x和y自动更改?例如,wkid 102000/3857?
背景:(也许你可以找到一个解决方法)
我正在使用heatmap.js在ArcGis地图上绘制heatmapLayers.我找到了一些示例,这个API提取数据的方式是使用data以下格式的变量:
var data = [
{
attributes: {},
geometry: {
spatialReference: { wkid: ****},
type: "point",
x: -40,
y: 50
}
},
{another point....}
];
Run Code Online (Sandbox Code Playgroud)
API本身对data变量进行一些解析,然后使用此方法
screenGeometry = esri.geometry.toScreenGeometry(this._map.extent, this._map.width, this._map.height, parsedData.data[xParsed][yParsed].dataPoint);
Run Code Online (Sandbox Code Playgroud)
parsedData.data[xParsed][yParsed].dataPoint在最终绘制热图之前转换解析的point().
主要的问题是无论我传递到什么wkid(之前的代码中的****),它都将它解释为wkid:102000,这就是我之前想要自己进行坐标转换的原因.
我想esri.geometry.toScreenGeometry实际进行转换应该是任务,但正如我所说,它忽略了wkid.
先谢谢,
我有一个gps单位,以相当随机的间隔记录坐标(有时每隔12秒有时每隔12秒).还有另一种仪器可以每秒测量颗粒物质.我正在寻找一种方法,根据现有的坐标和运动速度,在每秒的非记录时间戳内插入坐标,这样我就可以将gps数据与颗粒物质数据集合并.为了使事情变得更容易,我可以假设两个连续坐标之间的路线是直线并且以恒定速度行进.所以我需要做的就是在两个坐标之间分配两个连续坐标之间的差值除以秒中的时间差.以下面的数据集为例,我可以在09:32:01分配X和Y到325695 +(325695-325695)/ 12和672878 +(672857-672878)/ 12.所以R中的任何函数都允许类似的计算.由于它似乎是GIS领域中非常常见的操作,也许在ArcGIS中为此设计了一个特定的工具?
date time X Y
04/06/2014 09:32:00 325695 672878
04/06/2014 09:32:12 325695 672857
04/06/2014 09:32:24 325694 672845
04/06/2014 09:32:36 325690 672825
04/06/2014 09:32:48 325685 672803
04/06/2014 09:33:00 325685 672783
Run Code Online (Sandbox Code Playgroud)
欢迎任何建议和想法.
谢谢
我正在寻找输入以在创建目录时打印消息.我在混合操作系统环境中,但在我的情况下使用Win 7,python 2.7,ArcGIS 10.2.
下面的代码就功能而言工作正常,如果目录确实存在,屏幕上会出现消息,但是当os.makedirs实际创建非existant目录并且我想要代码时,我无法将消息返回到屏幕要做到这一点.
我使用过谷歌和Stackoverflow,遇到了许多处理os.makdir的例子,但没有发现任何可以解决我的问题,这个问题与检查Dir是否存在类似但不相同
td = arcpy.env.workspace
dn1 = "Test" dirmk = td +sep+ dn1
try:
os.makedirs(dirmk) except OSError:
if os.path.exists(dirmk):
print '\n' + dn1 + " dir already exists so keep on hustlin"
else:
print '\n' + "Creating " + dn1
Run Code Online (Sandbox Code Playgroud) 我有一个代码使用第三方工具迭代一组点.
for (int i = 0; i < pcoll.PointCount; i++) { /* ... */ }
Run Code Online (Sandbox Code Playgroud)
通过dotTrace进行性能分析时,我注意到PointCount每次迭代都会访问-proerty(参见上图)
.
我预计编译器会优化此属性的值,但显然不会发生这种情况.也许这实际上是基于COM的第三方库中的问题,或者在收集信息时也在dotTrace self中.
我不确定这个主题是否不适合Gis.StackExchange.然而,也许有人知道在哪种情况下不会发生优化或者如何发生.
我正在寻找可以与 Hadoop 集成的地理空间库。基本上我需要执行一些功能,如聚合、提取点的值、溶解等,这些功能是 ArcGIS 附带的。我正在寻找我可以用 Hadoop 做的类似的事情,使用 MR 或 HBase 或 HIVE 任何合适的。
请向我提供您的建议。
提前致谢。
我尝试了以下过程来为 arcgis 设置 conda 环境。环境设置正确,系统提示我输入“activate esri101”来激活环境...
$ activate esri101
sh.exe": activate: command not found
Run Code Online (Sandbox Code Playgroud)
在从新手到专家的评分中,我的得分为十分之三。我尝试按照此处指定的方式设置路径,但无济于事。我不知道从这里到底该去哪里。
编辑:我今天再次重试,似乎有效
我有多边形几何图形,并使用 a 以 3D 形式将它们可视化ExtrudeSymbol3DLayer,如 SDK文档和示例中所述:
var symbol = {
type: "polygon-3d", // autocasts as new PolygonSymbol3D()
symbolLayers: [{
type: "extrude", // autocasts as new ExtrudeSymbol3DLayer()
size: 5, // 5 meters in height
material: { color: "red" }
}]
};
Run Code Online (Sandbox Code Playgroud)
有什么办法可以将这些 3D 挤压件堆叠在一起吗?例如,如果我有纽约市的几何图形,我想用一种颜色从底部拉伸到大约 5m,用一种颜色拉伸 5m 到 10m,等等。有点像制作堆积条形图,但是以更多地理方式。任何意见将不胜感激!
arcgis ×10
esri ×3
gis ×3
python ×3
arcpy ×2
javascript ×2
r ×2
c# ×1
hadoop ×1
heatmap ×1
java ×1
os.path ×1
performance ×1
postgis ×1
python-2.7 ×1
qgis ×1
shapefile ×1
subset ×1
virtualenv ×1