我必须在 php 中开发一个项目,并且必须包含形状文件,并且该形状文件需要转换为 kml 文件。
我知道如何将形状文件转换为 kml 文件,但我不知道如何将形状文件导入/导入到 php 项目中。
我还有包含更多信息的形状文件的支持文件。其中一些是 .dbf、.shx 等。所有文件的信息也应该与形状文件信息一起存储。
是否有任何工具可以导入形状文件或任何其他帮助,以便我可以将形状文件添加到 php 站点中的项目中?或者是否可以存储所有形状文件(.shp)、.dbf、. shx 数据存入数据库,然后使用该数据进行 kml 结构化。
我还想知道,所有形状文件都遵循任何结构或格式吗?形状文件(例如xml文件)是否有任何标准?
xml 文件应强制包含起始标记。
它们应该遵循结构,否则查看者将无法看到 xml 文件。
我有一个形状文件,上传到以下路径:
https://drive.google.com/open?id=0B1ITb_7lHh1EUFVfVWc4ekRfSnc
我使用“shapefiles”包中的“read.shapefiles”函数导入了数据:
landuse<- read.shapefile("landuse")
Run Code Online (Sandbox Code Playgroud)
我现在需要提取 landuse 对象内所有形状的纬度/经度质心并将其添加到 landuse$dbf 数据帧
我尝试了两件事:
lu_df<-coordinates(landuse)
lu_df<-SpatialPoints(landuse)
Run Code Online (Sandbox Code Playgroud)
两者都给了我以下错误:
Error in coordinates(as.data.frame(obj)) :
error in evaluating the argument 'obj' in selecting a method for function 'coordinates': Error in data.frame(record = 1L, content.length = 80L, shape.type = 5L, :
arguments imply differing number of rows: 1, 4, 7
Run Code Online (Sandbox Code Playgroud)
我不确定如何进行。
您好,我对 PostgreSQL/PostGIS 非常陌生,刚刚按照本教程学习了如何将 Shapefiles 转换为 SQL 文件并使用 shp2pgsql 将其导入到 PostGIS 。我注意到,每当我转换 Shapefile 时,它都会生成一个包含 CREATE TABLE 语句的 SQL 文件。现在我的问题是,有没有办法或者甚至可以将新的形状文件(带有新的图层组)插入到现有的表中,而不是创建一个新的表?
我希望我解释得很好。谢谢。
我正在尝试将数据绘制到地图上。我想为特定城市的地图上的特定点生成数据(例如到一个或多个预先指定位置的运输时间)。
我在这里找到了纽约市的数据:https : //data.cityofnewyork.us/City-Government/Borough-Boundaries/tqmj-j8zm
看起来他们有一个可用的 shapefile。我想知道是否有一种方法可以在每个行政区的 shapefile 范围内对经纬度网格进行采样(可能使用 Shapely 包等)。
对不起,如果这是天真,我不是很熟悉处理这些文件——我这样做是作为一个有趣的项目来了解它们
我有一个意大利的 shapefile,我正在其上绘制 GIS 数据。问题是我有一辆公共汽车在城市(罗马)内行驶的小轨迹,当我绘制时,它看起来像 1 个点。我猜是因为我的地图。
如何缩放地图(.shp)?
street_map = gpd.read_file("roads.shp")
...
...
fig,ax = plt.subplots(figsize = (20,15))
street_map.plot(ax = ax, alpha = 0.4, color = "grey")
geo_df[geo_df['Perc_'] > 25].plot(ax = ax, markersize = 20, color = "blue",
marker = "o", label = "Neg")
geo_df[geo_df['Perc_'] < 25].plot(ax = ax, markersize = 20, color = "red",
marker = "^", label = "Pos")
plt.legend(prop={'size':15})
Run Code Online (Sandbox Code Playgroud)
我创建了一个可以正确写入形状文件的例程,但我有一个问题:形状是 3d,但我需要写入 2d 形状文件。
我怎样才能做到这一点?
谢谢
我想在不依赖 rgdal 的情况下从 R 中的网络解压缩并读取形状文件。我发现该包的read.shp功能fastshp显然可以在没有在环境中安装 rgdal 的情况下完成此操作,但是,我在实现时遇到了麻烦。
我想,可以解压,然后在形状文件类似于什么在此发现的阅读功能SO职位,但对于read.shp功能。我尝试了以下但无济于事:
dlshape=function(shploc, format) {
temp=tempfile()
download.file(shploc, temp)
unzip(temp)
shp.data <- sapply(".", function(f) {
f <- file.path(temp, f)
return(read.shp(".", format))
})
}
shp_object<-dlshape('https://www2.census.gov/geo/tiger/TIGER2017/COUNTY/tl_2017_us_county.zip', 'polygon')
Error in read.shp(".", format) : unused argument (format)
Run Code Online (Sandbox Code Playgroud)
我还尝试了以下方法:
dlshape=function(shploc) {
temp=tempfile()
download.file(shploc, temp)
unzip(temp)
shp.data <- sapply(".", function(f) {
f <- file.path(temp, f)
return(read.shp("."))
})
}
shp_object<-dlshape('https://www2.census.gov/geo/tiger/TIGER2017/COUNTY/tl_2017_us_county.zip')
Error in file(shp.name, "rb") : cannot open the connection
In addition: Warning messages:
1: …Run Code Online (Sandbox Code Playgroud) 我怎样才能将多面几何转换为列表?我试过这个:
mycoords=geom.exterior.coords
mycoordslist = list(mycoords)
Run Code Online (Sandbox Code Playgroud)
但我收到错误:
AttributeError: 'MultiPolygon' 对象没有属性 'exterior'
我有兴趣学习如何在 R 中使用道路网络文件。
例如,我有兴趣找出以下两个(加拿大)地址之间的驾驶距离:
过去,我会使用 OpenStreetMap (OSM) 等 API:
library(tmap)
library(tmaptools)
remotes::install_github("riatelab/osrm")
q1 = geocode_OSM("6301 Silver Dart Dr, Mississauga, ON L5P 1B2")
q2 = geocode_OSM("290 Bremner Blvd, Toronto, ON M5V 3L9")
q1 = as.numeric(q1$coords)
q2 = as.numeric(q2$coords)
q1_lat = q1[1]
q1_long = q1[2]
q2_lat = q2[1]
q2_long = q2[2]
route = osrmRoute(src = c(q1[1], q1[2]) , dst = c(q2[1], q2[2]), osrm.profile = "car")
> route$distance …Run Code Online (Sandbox Code Playgroud) library(raster)
library(ggplot2)
map.shp <- getData('GADM', country='FRA', level=1)
plot(map.shp)
ggplot(mtcars, aes(x = hp, y = disp)) + geom_point()
Run Code Online (Sandbox Code Playgroud)
如何map.shp将ggplot的右侧作为小插图放置.