我正在构建一个 KML 文件以用作 Google Earth 中的地图层以及其他处理 KML/KMZ 文件的文件。
我想要做的是:显示一些位图图像,这样每个图像都被拉伸以适应指定的四边形,例如,指定的四边形的第一个顶点将是位图的左上角,下一个顶点将是右上角所在的位置,依此类推。有没有(相对)简单的方法来做到这一点?如果无法以任何简单的方式扭曲/拉伸图像,只需将其显示在指定位置,缩放和旋转是可以接受的。
更新:澄清:给定一组形成四边形的四个地理空间坐标,我想获取一个矩形位图(通过指定的 URL 或包含在 KMZ 文件中)并将其放置在地图上,使其四个角与上述四边形的四个角对齐。如果无法扭曲图像以适合任何四边形,那么仅指定位置、旋转和大小就足够了。希望这更清楚一点。
任何帮助将非常感激。
谢谢!
你知道在哪里可以找到具有简单大陆轮廓的kml文件吗?我一直在寻找它,我设法找到的是KML,它有更多的6MB.它包含太多细节.我需要一些非常简单的东西 只有7大洲.而已.
谢谢
我正在使用ge插件制作一些谷歌地球网络应用程序.然而,并非每个人都安装它,但你还是无法获得移动设备的插件.我已经进行了js检查,看看用户是否有ge插件.我想做的是提供继续和下载插件或切换到页面的谷歌地图版本的选项.
关于如何最好地做到这一点的任何想法?
javascript google-maps google-earth google-earth-plugin dom-events
所以,我过去已经制作了一些样本KML/KMZ文件,主要是手工制作,并且由于这项工作发现了一些与Google Earth 不一致的内容.在大多数情况下,我认为我能够很好地处理特定版本的GE需要做的事情.最近,我尝试在KML/KMZ示例文件中添加一些自动化,以根据给定的点和其他元数据CSV为某些客户端自定义它们.
我想与具有使用自定义图标或内容从Java创建KMZ文件的经验的人联系.这是我坚持的皱纹:
我手工创建了一堆样式和自定义图标,以更好地显示客户端数据.最近,我创建了一个Java应用程序,通过自动化KML/KMZ生成,我可以节省大量时间.这些样式直接从示例复制到我的Java代码中(在合法的位置有转义).Java代码最初构建了KML,然后我用我的示例中的icons文件夹打包了KML,压缩并保存为KMZ.一切正常.
然后我在很大程度上基于这个例子添加了一个代码块,并将我的所有图标作为资源添加到jar中.然后我将文件构建为.zip并验证KML和Icon文件(在适当的文件夹中)是否在zip中.他们是.所有人都对世界感到满意.
然后我将输出文件名更改为.kmz而不是.zip,并尝试在Google中运行输出.我的自定义图标都没有加载.KML工作得很好,点和多边形都有适当的样式颜色,但是中间有X的盒子,好像它不能访问图标一样.
如果我将输出KMZ重命名为zip,解压缩并在其中运行KML,一切都按预期工作.如果我重新剪辑并重命名为KMZ,它又会被打破.
这是真正的乐趣.如果我将KML从KMZ中取出,使用来自我工作区的资源中的icons文件夹重新打包,保存为KMZ并加载到google earth中,它可以正常工作.
我觉得这样告诉我,我的java.util.zip代码以某种方式破坏了图像,以至于GE不知道如何处理它们.但是我完全混淆了为什么它们在打包时工作正常,但是当从同一位置重新包装时再次破坏.
有人有主意吗?不要发布代码,请提前道歉.如果我们可以稍微缩小问题空间,我会发布我能做的.
这是我现在可以转录的代码:
//Create new file output based on file-name of previously made KML file (fileOut)
//nameToken exists to pop KML extension off the back end of fileOut.getName()
File fileOut2 = new File(fileOut.getParent(), nameToken2[0] + ".kmz");
FileOutputStream foutstream = new FileOutputStream(fileOut2);
ZipOutputStream zout = new ZipOutputStream(foutstream);
byte[] buffer = new byte[1024];
String[] resourceFiles = {null,"/icons/b-lv.png",...}; //many files listed here
for(int i = 0; i < resourceFiles.length; i++){ …Run Code Online (Sandbox Code Playgroud) <?xml version="1.0" encoding="UTF-8"?> <kml xmlns="http://www.opengis.net/kml/2.2" xmlns:gx="http://www.google.com/kml/ext/2.2" xmlns:kml="http://www.opengis.net/kml/2.2" xmlns:atom="http://www.w3.org/2005/Atom">
<Document> <Placemark> <Name>Test Name</Name> <Description><b>Project Information</b><br><ul><li>Project Name: Test Name</li><li>Project Number: Test Number</li><li>Project Location: Test Location</li><li>System: Test System</li></ul><br><b>Project Team</b><br><br><ul><li>Regional Manager: Mem 1</li><li>Project Manager: Mem 2</li></ul><br>YouTube Video URL: <a href="http://youtu.be/U9EYP9GIe2k"><br>Picassa Album URL: <a href="www.picassa.com"><br></Description> <Point> <Coordinates>30,-125</Coordinates>,0 </Point> </Placemark> </Document> </kml>
Run Code Online (Sandbox Code Playgroud)
这就是我的自定义Excel宏生成的内容(我是编程的新手,所以如果你注意到一些大事,那就放轻松吧).当我尝试使用Google Earth打开KML文件时,收到以下消息:打开文件" 文件路径 "失败:第2行第454行解析错误:标记不匹配.这与/ Description标签相关...这个标签有什么问题?我匹配它的相应描述标签.
我想将电线杆和电缆从我们的数据库导出到 Google 地球的 KML 文件中。
对于每个节点,我们都有一个杆阵列,电缆始终连接到阵列中的下一个杆。
导出简单路径似乎很容易。但这些路径只是显示一条路径,它们并没有显示每个路径点(电线杆)。
我正在写一篇关于冰川变化的论文。我对 Landsat 8 图像进行了监督分类,我想计算每个类别中有多少像素。顺便我想做一个图表。
但我卡住了,我的代码出错了。我尝试使用带有指定参数的 ui.Chart.image.byClass() 方法,但不起作用。
我的代码:
var img = ee.Image('LANDSAT/LC8_L1T_TOA/LC81940282016238LGN00') ;
// Add pseudocolor image
Map.addLayer(img, {bands: ['B6', 'B5', 'B4'] }, 'Pseudocolor image' ) ;
// Training points for classification - Point geometries
var points = [class1,class2,class3, class4, class5] ;
var trainingPoints = ee.FeatureCollection(points) ;
var training = img.sampleRegions(trainingPoints, ['class'] ,30) ;
var trained = ee.Classifier.minimumDistance().train(training, 'class' ) ;
var classified = img.classify(trained) ;
var palette = ['red','red', '#696969' , '#90EE90' , '#008000' ] ;
Map.addLayer(classified, {min: 0 …Run Code Online (Sandbox Code Playgroud) 我的KML文件如下所示:
<?xml version="1.0" encoding="utf-8"?>
<kml xmlns="http://www.opengis.net/kml/2.2">
<Document>
<Style id="s1">
<LineStyle>
<color>7f0000ff</color>
<width>4</width>
</LineStyle>
<PolyStyle>
<color>7f0000ff</color>
<colorMode>normal</colorMode>
<fill>1</fill>
<outline>1</outline>
</PolyStyle>
</Style>
<name>All isolation countries</name>
<description>All isolation countries</description>
<Placemark>
<styleUrl>#s1</styleUrl>
<name>Indonesia</name>
<Polygon>
<extrude>1</extrude>
<altitudeMode>relativeToGround</altitudeMode>
<outerBoundaryIs>
<LinearRing>
<coordinates>102.4918975830078,1.259721994400024,0 102.3088989257813,1.420554995536804,0 102.1374969482422,1.448055028915405,0 102.0785980224609,1.485000014305115,0 101.9944000244141,1.600000023841858,0 102.0065994262695,1.619166970252991,0 102.4349975585938,1.527500033378601,0 102.4779968261719,1.502221941947937,0 102.4954986572266,1.436308026313782,0 102.504997253418,1.273888945579529,0 102.4918975830078,1.259721994400024,0</coordinates>
</LinearRing>
</outerBoundaryIs>
<innerBoundaryIs>
<LinearRing>
<coordinates>102.4918975830078,1.259721994400024,0 102.3088989257813,1.420554995536804,0 102.1374969482422,1.448055028915405,0 102.0785980224609,1.485000014305115,0 101.9944000244141,1.600000023841858,0 102.0065994262695,1.619166970252991,0 102.4349975585938,1.527500033378601,0 102.4779968261719,1.502221941947937,0 102.4954986572266,1.436308026313782,0 102.504997253418,1.273888945579529,0 102.4918975830078,1.259721994400024,0</coordinates>
</LinearRing>
</innerBoundaryIs>
</Polygon>
</Placemark>
<Placemark>
<styleUrl>#s1</styleUrl>
<name>Ecuador</name>
<Polygon>
<extrude>1</extrude>
<altitudeMode>relativeToGround</altitudeMode>
<outerBoundaryIs>
<LinearRing>
<coordinates>-90.61167907714844,-0.3755556046962738,0 -90.77166748046875,-0.344166785478592,0 -90.87222290039063,-0.2652778923511506,0 -90.79332733154297,-0.149444505572319,0 -90.77362060546876,-0.1550000011920929,0 -90.58556365966797,-0.2455555945634842,0 -90.55029296875,-0.3091666996479035,0 -90.61167907714844,-0.3755556046962738,0</coordinates> …Run Code Online (Sandbox Code Playgroud) 我正在寻找一个允许我发送2个Lat,Longs的功能.1 Lat,long是我的基础,第二个是我想确定它是N,S,E还是West.或者我必须去NW,N,NE,EN,E,ES,SE,S,SW,WS,W,WN?无论哪种方式都有人在C#中有这样的东西吗?
c# google-maps google-earth latitude-longitude computational-geometry
我已下载谷歌地球,我正在尝试在Fedora 19上安装它.我收到了错误
google-earth-stable-7.1.2.2041-0.x86_64与包filesystem-3.2-13.fc19.x86_64中的文件冲突
我必须在谷歌地球上显示飞行路径并且(我仍然得到确切的飞行计划路径)想要以抛物线方式(标记侧)显示.从起飞到着陆点.基本上我正在寻找数学公式,用高度计算latlng点来显示抛物线路径.
我看到如何使用高度参数进行抛物线视图.但是,如果从两个坐标(开始;结束)获得积分,就不那么容易了.
谢谢 !
我在我的应用程序中嵌入了维基百科页面,我希望显示与Google地球相同的简化摘要.(它给出了前几段和完整内容的链接,没有任何严肃的布局.)
我知道printable = true选项,但这不是我想要的.
我需要将坐标从 C++ 文件输入到 KML 文件中才能与 Google Earth 一起运行,您将如何执行此操作?KML 文件是:
<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://www.opengis.net/kml/2.2"
xmlns:gx="http://www.google.com/kml/ext/2.2"
xmlns:kml="http://www.opengis.net/kml/2.2"
xmlns:atom="http://www.w3.org/2005/Atom">
<Document>
<name>Path.kml</name>
<Style id="pathstyle">
<LineStyle>
<color>ff190cff</color>
<width>2</width>
</LineStyle>
</Style>
<Placemark>
<name>Path</name>
<description>This is the path between the 2 points</description>
<styleUrl>#pathstyle</styleUrl>
<LineString>
<tessellate>1</tessellate>
<coordinates>
long1,lat1,0
long2,lat2,0
</coordinates>
</LineString>
</Placemark>
Run Code Online (Sandbox Code Playgroud)
当输入纬度和经度时,如何从c++文件中输入数据?它们被声明为双浮点数
google-earth ×13
kml ×8
google-maps ×4
gis ×3
javascript ×2
kmz ×2
c# ×1
c++ ×1
debugging ×1
dom-events ×1
fedora ×1
java ×1
linux ×1
maps ×1
math ×1
wikipedia ×1
xml ×1
zip ×1