Skip to content

Instantly share code, notes, and snippets.

View aJIEw's full-sized avatar
🖖
Love and peace.

aJIEw

🖖
Love and peace.
  • Hangzhou
View GitHub Profile

Shapefile

[Shapefile][what-is-shapefile] 是一种用于存储地理要素的几何位置和属性信息的文件格式。可以使用 [ArcGIS][arc-gis] 编辑和查看 shapefile 文件。

高德地图不支持直接加载 shapefile 文件,但是我们将其中的数据转换为 [WMS][wms] 图层之后再加载(比如通过 [GeoServer][geo-server] 和 [MapBender][map-bender])。移动端不支持自定义图层。

谷歌地图同样不支持加载 shapefile 文件,不过,谷歌地图 JS API 支持 [KML][kml] 图层,因此可以通过 [QGIS][qgis] 转换为 KML 格式之后再加载。

OpenDRIVE

@aJIEw
aJIEw / dynamic_property.dart
Created September 16, 2021 03:47
An example of how to create dynamic property in a dart class.
import 'dart:convert';
void main() {
var raw = '''{"name": "Kevin", "age": 26}''';
var original = DynamicPropertyClass.fromJson(json.decode(raw));
print(original.toJson());
var dynamicName = DynamicPropertyClass.fromJson(json.decode(raw), ['name']);
print(dynamicName.toJson());
@aJIEw
aJIEw / csrf_cookie_manager.dart
Last active June 30, 2021 02:16
A cookie manager that add CSRF header to requests.
import java.io.File;
/**
* 批量删除文件夹,慎重使用,一旦删除,无法撤销。
* 不要用于删除重要文件,不要用于删除重要文件,不要用于删除重要文件!重要的话讲3遍。
*/
@SuppressWarnings({"ConstantConditions", "WeakerAccess", "ResultOfMethodCallIgnored"})
public class DeleteFolders {
public static void main(String[] args) {
/**
* 有时候为了直接跑别人的Android Studio项目而不去下载gradle或者SDK Platform,
* 常常需要手动修改 build.gradle文件和 gradle-wrapper.properties文件,
* 当有很多个项目的时候,这种工作就很难忍受了(比如当你要跑很多Sample的时候),
* 所以写了这个工具类(使用正则表达式)来批量修改同一个文件夹下的多个项目。
* <p>
* 调用 {@link #setupOneLevelProjects(String)} 修改只有单层的项目文件夹,或者
* {@link #setupTwoLevelProjects(String, String, String[])} 修改具有两层目录的项目文件夹。
* <p>
* 默认匹配的 module 为 app,可以在{@link #DEFAULT_MODULES}中继续添加。