我打算创建一个新的Web应用程序,我想要使用开放街道地图,我需要开放街道地图的源代码。在我的网络应用程序中,我需要在图层上看到不同形状文件的功能,数据绘图和地理位置-referencing。 请给我一些建议,如何从头开始?
答案 0 :(得分:1)
根据您的描述,您实际上需要一些东西,而不仅仅是一些小样本:
对于1,OpenLayers是网站上最受欢迎的地图库之一。它是纯JavaScript和开源的,另一个选项是Esri的ArcGIS SDK - 它们有用于Web的SDK(包括JavaScript和Silverlight)以及许多其他选项;它们是免费使用的,一半的功能是作为带有源的样本提供的,例如地图打印,并且它们的SDK除了支持自己的专有服务外,还支持所有开放标准。两者都直接支持OpenStreetMap,而在Esri的网站上,他们几乎每个功能都有教程/样本。
对于2,您可以使用免费的GeoServer或MapGuide(使用创作工具),或使用商业ArcGIS服务器和ArcMap作为创作工具。
对于3,你必须google。应该有大量的库来加载shapefile。对于空间数据库来说,它更容易,因为它们可以通过SQL变体中的内置函数转换为人类可读的WKB或GML。
对于4,Microsoft SQL Server是最简单的使用,快递版是免费的,虽然功能很糟糕,它的性能很糟糕,直到2012年.PostGIS / PostgreSQL功能更丰富,包括不同坐标之间的直接转换系统。我从未使用过Oracle,但它们甚至支持拓扑格式。
PS:虽然地理空间服务器还可以实时绘制空间数据并将其渲染为位图以供网站显示,但它会立即陷入您的网络服务器。如果您需要处理动态绘制大量空间数据,您必须在OpenLayers中尝试使用canvas或SVG渲染器。